CRII: OAC: RUI: Improving Software Deployments to Serverless Computing Environments
University Of Washington, Seattle WA
Investigators
Abstract
A form of cloud computing, called serverless computing, has recently emerged as a new approach to abstract the management and configuration of cloud computing servers to deliver compute resources to end users, while promising performance improvements, around-the-clock availability, and energy savings to enable a better return on investment from computer hardware. The benefits of serverless computing are offset, however, by new software development challenges arising from mitigation of resource constraints employed by cloud providers to share physical servers among many users, and by the complexity of understanding performance and cost implications of software designed for serverless platforms. This project serves the national interest, as stated by NSF's mission: to promote the progress of science, and to promote national prosperity and welfare by developing a reusable framework enabling new data driven analytics and evaluation techniques that characterize the quality of software designed for serverless computing platforms. These advancements serve to extend the applicability of serverless computing to a broader range of use cases enabling the next generation of cloud software to realize performance improvements and cost savings. This project additionally leverages the simplicity of serverless computing to develop an online hour-of-code tutorial to introduce cloud computing, client/server, and distributed systems concepts to high school students for dissemination. This research develops the Serverless Application Analytics Framework (SAAF), a novel framework that supports the characterization of software deployed to serverless computing platforms enabling the collection of resource utilization (CPU, memory, disk/network I/O), infrastructure (type, state, and distribution), load balancing, and performance metrics. SAAF enables an improved understanding of several factors that impact performance. This research develops predictive models using statistical and machine learning approaches to automate the characterization of performance and hosting cost of serverless software leveraging metrics from SAAF, and software quality metrics from static analysis tools as features. SAAF enables identification of best practices over serverless architectures (monolithic, composable, and RESTful APIs), software composition patterns (monolithic, fine grained, library composition, and switchboard), and workflow instrumentation (remote client, vendor service, microservice controller, and asynchronous call chains). This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
View original record on NSF Award Search →