The serverless journey started with functions – small snippets of code running on-demand and a short period in Figure 1. AWS Lambda in the “1.0” phase made this paradigm very popular, but it had its limitations around execution time, protocols, and poor local development experience.
Since then, developers realized that the same serverless traits and benefits could be applied to microservices and Linux containers. This leads us into what we’re calling the “1.5” phase in Figure 1. Some serverless containers here completely abstract Kubernetes, delivering the serverless experience through an abstraction layer that sits on top of it, like Knative.