Serverless computing has emerged as a way to build and run applications without having to manage infrastructure. With serverless, the cloud provider manages the servers for you. This allows developers to deploy event-driven functions without worrying about servers.
The key benefit of serverless is automatic scaling. The cloud provider dynamically allocates resources as needed when functions are triggered. This means you only pay for compute time used, rather than overprovisioning idle servers. There is no need to manage capacity or scale infrastructure manually.
Serverless functions are stateless, event-driven snippets of code that run in ephemeral containers. The functions can be triggered by events like HTTP requests, database changes, queues, schedules, etc. The cloud provider handles provisioning containers to run the function when an event occurs. Containers are disposed of after the function finishes execution.
By eliminating the need to manage servers, serverless enables developers to focus on writing code. It is a natural fit for event-driven applications and microservices architectures. Companies like Netflix, Expedia and A Cloud Guru use serverless for key parts of their applications.
OpenFaaS for Serverless on Kubernetes
OpenFaaS is an open source framework that provides automated event-driven functions on top of Kubernetes and Docker. With OpenFaaS, developers can deploy functions as containers without having to provision servers or manage infrastructure.
When a function is invoked, for example through an HTTP request or scheduled event, OpenFaaS will spin up a Docker container to run that function through Kubernetes. The container running the function will scale up and down automatically based on demand. This provides the core benefit of serverless computing — automatic scaling without having to manage servers.