Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Agenda 2 • Who am I? • Why this talk? • Historical Timeline • What is a platform? • Technologies • Kubernetes • Cloud Foundry • Knative • Demo • Final comparison

Slide 3

Slide 3 text

Novatec Cloud Consultant Stuttgart Cloud Foundry Meetup Organizer @maeddes #whoami

Slide 4

Slide 4 text

Scenario Legacy Cloud SKILL? SECURITY? TECHNOLOGIES? PROVIDER?

Slide 5

Slide 5 text

Offerings STRATEGY EDUCATION MIGRATION

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

Hype & Reality

Slide 8

Slide 8 text

Hype & Reality

Slide 9

Slide 9 text

Apps Services Push Start/ Stop Scale Delete Routes Create/Delete Map/Unmap Create/Delete Bind/Unbind Minimal Concepts

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

Hype & Reality

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

What is a platform? (also known as Humans and Computers) 13

Slide 14

Slide 14 text

App Dev DB Systems Admin “Provider” Platform Admin Secrets/Config Source Code Build Artifact Buildpacks / Images Containers Git CI/CD

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

Workload Abstraction Layers Virtual Machines Container Applications Functions Platform Support? • Functions • Event-Driven • 12-factor apps • Stateful apps • more “types”?

Slide 17

Slide 17 text

Easy to do the right thing 17

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

“Image build” runtime app app runtime base container runtime app Kubernetes Basics - Container

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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”

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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)

Slide 25

Slide 25 text

app buildpack cf push app Applications Services container route cf bind-service Basics

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

The value of Cloud Foundry • “Things Kubernetes does” • Simplicity • Application-aware behaviour • Developer Experience • Abstraction layer above containers • 12-factor style split of workloads

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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)

Slide 30

Slide 30 text

VM Kubernetes Istio Serving Eventing

Slide 31

Slide 31 text

VM Kubernetes Istio Serving Eventing Tekton

Slide 32

Slide 32 text

“Image build” runtime app app runtime base container runtime app

Slide 33

Slide 33 text

kn service create —image=maeddes/test service route configuration revision revision revision

Slide 34

Slide 34 text

Route Revision Service Minimal Concepts Image

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

The value of Knative • “Things Kubernetes does” • Born on Kubernetes • Simplicity • Function as a Service • Scale to Zero • Weighted Routing

Slide 37

Slide 37 text

The problems with Knative • Requires container • Adoption • Late integration with Kubernetes Suitable Cloud Foundry workloads • Apps, Containers, Functions Virtual Machines Container Applications Functions

Slide 38

Slide 38 text

provides most container platform technical capabilities + easy devX + “containerless” + scale to zero + revisions + percentage routing

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

What’s new “run CF workloads/apps on K8s”

Slide 41

Slide 41 text

Traditional

Slide 42

Slide 42 text

New

Slide 43

Slide 43 text

cf push kubectl create

Slide 44

Slide 44 text

What’s new “run CF on K8s”

Slide 45

Slide 45 text

Traditional

Slide 46

Slide 46 text

New

Slide 47

Slide 47 text

What’s new

Slide 48

Slide 48 text

(many!) Kubernetes Offerings local public

Slide 49

Slide 49 text

Cloud Foundry on Kubernetes - Blogs/Tutorials cf-for-k8s

Slide 50

Slide 50 text

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