Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Serverless on Kubernetes


Published on

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.

Published in: Technology

Serverless on Kubernetes

  1. 1. Serverless on Kubernetes Sebastien Goasguen @sebgoa
  2. 2. DON’T DISMISS Forget the buzz, the FUD….
  3. 3. How I dismissed EC2:
  4. 4. Did not dismiss Docker and won’t dismiss Serverless
  5. 5. DON’T GET HANG UP ON THE NAME Naming is hard they say...
  6. 6. Via Twitter from Serverless Austin…
  7. 7. Don’t mind the hype
  8. 8. Forget the hype focus on adoption
  9. 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 (
  10. 10. Knitting services together through functions
  11. 11. Lambda examples:
  12. 12. IFTTT
  13. 13. Solutions
  14. 14. WHY THE FUSS ABOUT SERVERLESS ? From @swardley All maps hereafter are from Simon.
  15. 15. Value Chain and Evolution
  16. 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 ?
  17. 17. “Worth based development” @swardley • “FinDev” • FaaS gives you fine grain cost monitoring. • Develop and optimize for cost/business
  18. 18. 100% “DevOps” Focus on the biz, Go fast.
  19. 19. WHY KUBELESS Serverless on Kubernetes
  20. 20. #1 Borg
  21. 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. 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. 24. kubeless install • Creates thirdpartyresource for CRUD of functions • Creates a kubeless namespace • Launches controller as a deployment • Launches a Kafka/Zookeeper deployment
  25. 25. $ kubectl get thirdpartyresource -o yaml apiVersion: extensions/v1beta1 description: 'Kubeless: Serverless framework for Kubernetes' kind: ThirdPartyResource metadata: creationTimestamp: 2017-02-02T14:30:20Z name: resourceVersion: "54958" selfLink: /apis/extensions/v1beta1/ uid: 203ddb53-e954-11e6-a0da-080027b57bae versions: - name: v1
  26. 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. 27. Event based • Topic created via kubeless CLI on Kafka broker • Specific runtime consumes messages on given topic
  28. 28. DEMO kubeless function create get --trigger-http --runtime --handler --from-file
  29. 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. 30. Kubernetes Services • Deploy Services (backends) via helm helm install stable/minio • Access Services via the Service Broker API.
  32. 32. Thanks Respect each other… Don’t dismiss it … Evolve … Situational awareness … Focus on the business problem and deliver value… @sebgoa