Serverless Computing     

links

 Paul C. Castro photoDavid Grove photo photo Nick M Mitchell photo photoPriya Nagpurkar photoALEKSANDER A. SLOMINSKI  photoOlivier Tardieu photoAnsu A Varghese (Abraham) photoLionel Villard photo

Serverless Computing - overview


Serverless Computing has disrupted the Cloud. Serverless is widely synonymous with Functions-as-a-Service (FaaS)  which are cloud-native, usually stateless, functions that scale on demand although the model of computing is broader than FaaS. It brings to the Cloud a set of properties that are central to the serverless promise: little to no concern about operations, auto provisioning and autoscaling, pay-per-use with zero cost for idle time.

Many vendors have entered the FaaS market in the last three years, with IBM being among the first. IBM's approach is distinguished by its support of open standards, support for mobile developers entering the serverless space, and a simplified approach to composing complex serverless functions.

IBM’s Cloud Functions started as the OpenWhisk research project in our group at the IBM Watson Research Center in NY, where we developed the majority of the core programming model and the runtime system in use today. In 2016, the code was donated to the Apache Software Foundation. Apache OpenWhisk is now a top-level Apache project, with a growing list of contributors and active open source community.

As the FaaS story has unfolded, it became evident that programming serverless applications requires more than just functions. A new programming approach is necessary, one that allows for coordinating across functions, services, and APIs; which encourages incremental and modular code development; and which bridges the gap between code editors and fancy UIs. For these reasons, we developed Composer and the shell for programming the IBM Cloud: 100% serverless.

Today our group is at the frontier of serverless computing, with work addressing many layers of the stack from programming models, development tools and debugging, compiler and runtime optimizations, and underlying serverless architecture. We are excited about the serverless future.

If you are a graduate student and interested in collaborating on research topics related to serverless computing, send one of us your resume.