
Serverless allows building software faster by abstracting the underlying infrastructure. Functions as a Service and Managed Services are ways to take advantage of Serverless – which means managing servers or infrastructure is abstracted and developers are only concerned about building their application. These Serverless backend services guarantee uptime, reliability, and scalability.
Serverless
Allows building Software faster
From virtual machines that live longer to functions which die right after execution – it is a huge paradigm shift. The paradigm shift affects everything you do operationally – monitoring, tracing, logging. But bigger impact is on the architecture and how you design applications – everything is event driven now. The last impact is on the scale – from managing tens of virtual machines you might have to manage hundreds of functions and compose them to deliver business functionality.
Traditional operations and monitoring involved using agents to report the health of systems. With functions, the paradigm is turned upside down and you don’t have agents on target systems anymore. This shift requires a big change in the way you do monitoring, logging and tracing of functions.
Serverless offerings from managed cloud providers come in various flavors – from Lambda style functions to managed container services such as Fargate, Azure Container Instances, etc. Managing various deployments and the integrations with cloud systems need the right set of decisions and tooling to scale effectively.
Deploying a FaaS framework on Kubernetes enables an easier developer experience while also supporting use cases of private clouds or edge clusters. There are also scenarios where running a FaaS platform alongside other services deployed on Kubernetes might be more scalable from an economics point of view.