is Serverless? Serverless From the first programming languages, to object-oriented programming, to the development of virtualization and cloud infrastructure, the history of computer science is a history of the development of abstractions that hide complexity and empower your to build ever more sophisticated applications. - Kelsey Hightower, Kubernetes: Up and Running
is Serverless? Serverless The phrase “serverless” doesn’t mean servers are no longer involved. It simply means that developers no longer have to think "that much" about them. Computing resources get used as services without having to manage around physical capacities or limits. - Ken Fromm, https://readwrite.com/2012/10/15/why-the-future-of-software-and-apps-is- serverless/
is Serverless? Serverless Serverless architecture is an approach that replaces long-running virtual machines with ephemeral compute power that comes into existence on request and disappears immediately after use. - ThoughtWorks Tech Radar
is Serverless? § No management of servers § Self auto-scale § Scale to zero if nobody is using it - no costs (except for data storage) § Event-Driven § Implicit high availability § Thinking in more abstract capacity units Serverless
on Kubernetes § Serverless experience for the developers § Someone still needs to manage the K8S cluster Serverless ! " Infrastructure Team Developer Team Provides Serverless Services Uses Serverless Services „Kubernetes, just run my code“ - Alexis Richardson – CEO Weaveworks
would you want Serverless on Kubernetes? § Your company doesn't use cloud (or wants vendor lock-in) § Need control over the infrastructure, machines, host OS, ... § Kubernetes offers good abstractions to build upon Serverless
§ Open Source § Go § An abstraction on top of Kubernetes § Based on Docker containers § Knative is built on top of Kubernetes and Istio § Set of building blocks to construct your own FaaS/PaaS Knative
§ Developers – Use to deploy stuff § Operators – Use as abstraction layer between devs and Kubernetes § Platform Architects – Build your own serverless platform Knative Kubernetes Knative FaaS platform ! Developers
Serving § Service: Create route and configuration § Configurations: Mutable desired state for deployment § Revisions: Immutable snaphot of code and configuration § Routes: Ingress configuration Knative Service Route Configuration Revision Revision Revision manages routes traffic to records history of
Virtual Kubelet The kubelet works in terms of a PodSpec. A PodSpec is a YAML or JSON object that describes a pod. The kubelet takes a set of PodSpecs that are provided through various mechanisms (primarily through the apiserver) and ensures that the containers described in those PodSpecs are running and healthy. - https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/