State of Serverless Cloud Computing

Rajesh Shah
4 min readAug 2, 2020

Introduction

Since the launch of AWS Lambda in re:Invent in 2014, its become a synonym for Serverless Cloud Computing. In the last few years we have seen enterprises extensively adopt event driven Serverless processing for variety of workloads. Cloud computing community has rallied behind the Serverless Computing Paradigm. We have started calling this as “Functions-as-a-Service (FaaS)” to run code with zero server management. Other major cloud providers like Google, Microsoft and IBM have own offering in this space. Goal of Open Source community is to build FaaS framework which does not have vendor lock-in. In this story my goal is to capture the progress that has been made in open Source Community in Serverless Cloud Computing. So lets get started.

Direction of Cloud Computing

Enterprise building cloud native applications are at one of the four levels and trying to move towards FaaS which provides the best operational and cost efficiency.

IaaS — Infrastructure as Service: Run and manage the workload on cloud provided VMs .

Caas — Container as Service: Run and manage the workload on cloud provided containers like Kubernetes or AWS ECS.

PaaS— Platform as Service: This provide complete application development framework like Google App Engine, IBM OpenShift etc

FaaS — Function as Service: This is Serverless services like AWS Lambda and Google Cloud Functions.

Serverless Platform — Open Source Way

If the enterprises are going to go in the direction of FaaS then we have to avoid cloud vendor lock-in. To create a Serverless platform which is portable across multiple cloud providers, it has to be built using Open Source technologies. Docker has been technology of choice to run containerized workloads. So it would make perfect sense to use Docker images to deploy and run Serverless applications. Also it would make sense to build FaaS on top of open source CaaS platforms like Kubernetes. In the the next few sections I will try to give overview of some key initiatives in the FaaS space.

Knative

This is Kubernetes based platform to deploy and manage Serverless workload. This was open sourced by Google in 2018. Knative provides building blocks for running Serverless on Kubernetes. With growth and rapid adoption of Kubernetes platform(Open sourced by Google in 2012), Knative is the most important initiative in the FaaS space. This platform has advantage of smooth integration with other open source technologies like Istio Service Mesh.(You can read my story on Service Mesh here). Google has certainly raised the bar in terms of open source contributions in cloud technologies. In last two years Knative platform has gathered lot of momentum and community following. This is one of the top Serverless framework to keep an eye on. You can read more about Knative here.

Apache OpenWhisk

This open Serverless framework is developed and open sourced by IBM. This leverages open source technologies like Kubernetes, Docker and Kafka. Under the umbrella of Apache Software Foundation(ASF), this framework is picking up good movement and deserves closer attention. This framework supports writing Serverless functions in NodeJS, Go, Java, Scala, PHP, Python, Ruby, and Swift as well as recent additions for Ballerina, .NET and Rust. You can read more about OpenWhisk here.

Spring Cloud Function

Spring Foundation has been leading the Enterprise adoption of Java for last decades with multiple frameworks. So its not surprising that when the enterprise is thinking of Serverless, Spring foundation has to be forefront of this technology. Spring Cloud Functions is framework to build Serverless java functions which can deployed in AWS Lambda and other FaaS providers like Google Cloud, Azure and IBM cloud. Pivotal which is parent company for Spring Foundation is also doing interesting work with project riff. (riff project details are here). riff is an Open Source platform for building and running Serverless Functions, Applications, and Containers on Kubernetes. Spring Cloud Functions is java implementation for riff project. You can read more about Spring Cloud Functions here.

OpenFaas

This is one more framework which needs a mention in this story. This is an independent project created in 2016 has good community following. This event driven framework built on open sources technologies like Docker and Kubernetes. Write functions in any language for Linux or Windows and package in Docker/OCI image format. Auto Scales as demand or workload increases. You can read more about OpenFaas here.

Final Thoughts

AWS Lambda functions being the first to Serverless Computing has the most adoption at this point. To have a true benefit of Serverless Computing in the long run, we need a framework and model which can run on any cloud provider. Open Source community is certainly pushing in that direction. One more specification which needs a quick mention here is “Cloud Events” which allows to send events from one cloud provider to another. You can read more about Cloud Event here. With combination of Cloud Events and OSS Serverless Framework its not difficulty to imagine a Scenario where an enterprise has “Receive Order Service” running on AWS, “Process Order Service” running on Google Cloud and “Ship Order Service” running on IBM Cloud — a multi cloud strategy.

Disclaimer : This is a personal blog. The opinions expressed here represent my own and not those of my current or any previous employers.

--

--

Rajesh Shah

Software Engineer with 15+ years experience (Interested in Cloud Computing, Kubernetes, Docker, Serverless Computing, BlockChain Technologies)