Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Seacon 2020 - Cloud Plattformen entmystifiziert

Seacon 2020 - Cloud Plattformen entmystifiziert

Matthias Haeussler

September 17, 2020
Tweet

More Decks by Matthias Haeussler

Other Decks in Technology

Transcript

  1. Agenda 2 • Who am I? • Why this talk?

    • Historical Timeline • What is a platform? • Technologies • Kubernetes • Cloud Foundry • Knative • Demo • Final comparison
  2. LXC Container/Platform history 2018 2017 2014 2013 2011 2008 1979

    …. … … . chroot Cloud Foundry Virtualization and isolation in subsystems. Examples: FreeBSD Jails, Linux VServer cgroups (2007) namespaces (2002) istio knative kubernetes eirini 2020 . cf-for-k8s
  3. Deployment s Services NetworkPolici es LoadBalancer NodePort ReplicaSet StatefulSet ClusterIP

    Ingress Pods Container IngressControllers HPA ConfigMaps Secrets apply YAML YAML YAML Minimal Concepts Docker Image
  4. App Dev DB Systems Admin “Provider” Platform Admin Secrets/Config Source

    Code Build Artifact Buildpacks / Images Containers Git CI/CD
  5. Day 0 Day 1 Day 2 Day 3 • Architecture

    • Design • Implementation • Code-to-Repo • Build • Package • Containerize • Deploy • Multi-Tenancy • Run • Scale • Recover • Update & Patch • Observe • Version • Delete • Clean Up • End of Life
  6. Workload Abstraction Layers Virtual Machines Container Applications Functions Platform Support?

    • Functions • Event-Driven • 12-factor apps • Stateful apps • more “types”?
  7. Kubernetes Intro • Container Runtime/Platform • Founded in 2013, released

    in 2014 • Idea based on Google’s internal platform Borg • Not opinionated, open, extensible & configurable • Major project of the Cloud Native Computing Foundation (CNCF) landscape
  8. runtime app runtime app kubectl create pod replica set runtime

    app runtime app pod v2 replica set v2 deployment service/ingress endpoint Kubernetes Basics - Orchestration
  9. The value of Kubernetes • Generic runtime for container workloads

    • Automatic recovery from crashed pods • Manual and automatic scaling of pods • Rolling update for new version of workloads • Extensible and configurable • Robust • Elasticity on workload and infrastructure level • Widely adopted and available “everywhere”
  10. The problems with Kubernetes • Container-content agnostic • Steep initial

    learning curve • Extensible and configurable • ”So much YAML” Suitable Kubernetes workloads • Container images Virtual Machines Container Applications Functions
  11. Day 0 Day 1 Day 2 Day 3 • Architecture

    • Design • Implementation • Code-to-Repo • Build • Package • Containerize • Deploy • Multi-Tenancy • Run • Scale • Recover • Update & Patch • Observe • Version • Delete • Clean Up • End of Life Kubernetes responsibility
  12. Cloud Foundry Intro • Platform as a Service (PaaS) •

    Founded in 2008, released in 2011 • Fast and easy to build, test, deploy & scale apps • Opinionated, focus on simplicity for dev “Here is my source code, run it on the cloud for me - I do not care how” (Onsi Fakhouri, Pivotal)
  13. Day 0 Day 1 Day 2 Day 3 • Architecture

    • Design • Implementation • Code-to-Repo • Build • Package • Containerize • Deploy • Multi-Tenancy • Run • Scale • Recover • Update & Patch • Observe • Version • Delete • Clean Up • End of Life Cloud Foundry responsibility
  14. The value of Cloud Foundry • “Things Kubernetes does” •

    Simplicity • Application-aware behaviour • Developer Experience • Abstraction layer above containers • 12-factor style split of workloads
  15. The problems with Cloud Foundry • Popularity • Limitation to

    buildpacks coverage • Adoption • Late integration with Kubernetes Suitable Cloud Foundry workloads • Apps, Containers Virtual Machines Container Applications Functions
  16. Knative • Open Sourced and initiated by Google • Support

    by Red Hat, Pivotal, IBM … • Runs on top of Kubernetes and Istio • Focus on symplifying K8s experience and provide serverless capabilities • Auto-scale on request load (down to 0)
  17. Day 0 Day 1 Day 2 Day 3 • Architecture

    • Design • Implementation • Code-to-Repo • Build • Package • Containerize • Deploy • Multi-Tenancy • Run • Scale • Recover • Update & Patch • Observe • Version • Delete • Clean Up • End of Life Knative Serving
  18. The value of Knative • “Things Kubernetes does” • Born

    on Kubernetes • Simplicity • Function as a Service • Scale to Zero • Weighted Routing
  19. The problems with Knative • Requires container • Adoption •

    Late integration with Kubernetes Suitable Cloud Foundry workloads • Apps, Containers, Functions Virtual Machines Container Applications Functions
  20. provides most container platform technical capabilities + easy devX +

    “containerless” + scale to zero + revisions + percentage routing
  21. LXC Container/Platform history 2018 2017 2014 2013 2011 2008 1979

    …. … … . chroot Cloud Foundry Virtualization and isolation in subsystems. Examples: FreeBSD Jails, Linux VServer cgroups (2007) namespaces (2002) istio knative kubernetes eirini 2020 . cf-for-k8s
  22. New

  23. New

  24. Novatec Consulting GmbH Dieselstraße 18/1 D-70771 Leinfelden-Echterdingen T. +49 711

    22040-700 [email protected] www.novatec-gmbh.de 50 https://www.youtube.com/playlist?list=PL09jzegbfUhHSXw5JyaJSSBC_DYFRTidz @maeddes Matthias Haeussler