Serverless Computing: A new Wave of Cloud Computing
Cloud computing is undergoing a fundamental shift, stimulated by an exponential growth in data, users, and an increasing demand for cloud services that can automatically allocate and scale computing resources for jobs. An emerging wave of cloud computing, called serverless computing, enables users to focus on writing code for their applications while cloud providers manage resources based on application demands. On serverless computing platforms, users can simultaneously launch thousands of tiny, short-lived tasks and pay only for the resources their tasks actually consume per ~10ms time interval, as opposed to paying for pre-allocated virtual machines that have fixed ratios of compute, memory, and storage.
Research topics: What should an operating system for serverless computing look like? Scheduling millions of short-lived tasks to satisfy performance requirements and achieve high resource utilization poses interesting challenges. Serverless computing encourages a high degree of resource sharing across tenants, which poses performance and security isolation concerns. In addition, it is not yet clear what is the right abstraction for users to specify application performance requirements.