A look at kubeless a serverless framework on top of kubernetes. We take a look at what serverless is and why it matters then introduce kubeless which leverages Kubernetes API resources to provide a Function as a Services solution.
9. Definition
“Serverless can also mean applications where some
amount of server-side logic is still written by the
application developer but unlike traditional
architectures is run in stateless compute containers
that are event-triggered, ephemeral (may only last
for one invocation), and fully managed by a 3rd
party”
--Mike Roberts
(https://martinfowler.com/articles/serverless.html)
14. WHY THE FUSS ABOUT SERVERLESS
?
From @swardley
http://blog.gardeviance.org/2016/11/why-fuss-about-serverless.html
All maps hereafter are from Simon.
16. Co-evolution
• As infrastructure and platform evolve towards
utility
• So does Practice…it evolves.
• So imagine a pure Cloud world, with third
party services, how do you stitch them
together ?
• What does it trigger ?
21. #2 Change Mindset
• Everything is remote API driven
– Deployments
– Config
– Volume mgt, RBAC …
• No SSH
– I don’t care about servers anymore
• Containers are invisible
• Brings focus on application architecture
23. Leverage kubernetes
• ThirdPartyResource, gives us CRUD for
functions
• Watch via a controller
• Inject the function code via a ConfigMap
• Kafka/Zookeeper for events
24. kubeless install
• Creates thirdpartyresource for CRUD of
functions
• Creates a kubeless namespace
• Launches controller as a deployment
• Launches a Kafka/Zookeeper deployment
26. kubeless create
• Creates custom resource (with thirdparty
endpoint)
• Controllers creates deployment and service
• Pod starts containers with REST wrapper
• Function injected in runtime via configmap
27. Event based
• Topic created via kubeless CLI on Kafka broker
• Specific runtime consumes messages on given
topic
29. kubeless roadmap
• Add new runtime (e.g nodejs)
• Use Ingress resources
• Instrument the runtime with prometheus for
monitoring
• Horizontal Pod Autoscaling
• Default services with event notification (e.g
Minio).
30. Kubernetes Services
• Deploy Services (backends) via helm
helm install stable/minio
• Access Services via the Service Broker API.
32. Thanks
Respect each other…
Don’t dismiss it …
Evolve …
Situational awareness …
Focus on the business problem and deliver value…
@sebgoa
github.com/skippbox/kubeless