Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 18

Docker and Kubernetes Fundamentals

Hands-On Training

INTERNAL
Tech Pizza – levels of abstraction

Pizza Delivery Software as a


Cheese Scaling
Service Service

Topping Configuration

Sauce Application

Readymade Pizza Dough Application Server Platform

Baking Tray Runtime


Dishes provided Container

Oven Operating System

Rent a kitchen Infrastructure


Power (Virtual) Hardware

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 2


Containers are awesome!

But why?

INTERNAL
The enterprise IT adoption cycle

Adoption cycle graphic © 2012 Simon Wardley and CC BY-SA 3.0. Nicked from his blog and placed here by Andrew Back.
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 4
This is what we (do not) want!

Develop Assemble & Ship Deploy & Run

Implement complex Have dedicated build Have different


frameworks dictated by machines for each environments and struggle
the infrastructure compiler version with standardization

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 5


Container, Docker, Kubernetes

Develop Assemble & Ship Deploy & Run

Implement in any language Build with all Focus on running an


and use standardized dependencies on any application - not the
interfaces to the compatible kernel and infrastructure
infrastructure share the immutable result

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 6


Why not simply use some automation tools and run VMs?

VM VM VM

nginx nginx nginx

Docker Runtime Libraries Libraries Libraries

nginx
MTA MTA OS OS OS
nginx nginx nginx
dockerd

virtual HW virtual HW virtual HW


Tools Tools
Libs Libs Libs
Libs Libs
Host OS
Libs Host OS Hypervisor

Hardware Hardware

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 7


A container is just a process
bound by Linux Primitives.

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 8


https://imgur.com/gallery/C8WPHxw

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 9


Kubernetes Overview

MTA 6 Web 5 DB 3 IM 3

Kubernetes

MTA
MTA
MTA

MTA
MTA
Web
Web

Web
DB

DB
DB
IM

IM
IM
To To To
To

Libs
Libs

Libs
Libs
Libs
Libs
Libs
Libs
Libs

Libs
Libs
Lb Lb Lb
Lb

Docker Runtime Docker Runtime Docker Runtime


MTA

MTA

MTA
MTA

MTA

MTA

Web
Web

Web
Web

Web

Web
DB

DB

DB

IM

IM

IM
dockerd

dockerd

dockerd
To To To To To To

Libs
Libs

Libs

Libs

Libs

Libs
Libs

Libs

Libs

Libs

Libs

Libs
Lb Lb Lb Lb Lb Lb

Host OS Host OS Host OS

Hardware Hardware Hardware

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 10


Containers will NOT fix a broken architecture!

https://twitter.com/simonbrown/status/847339104874381312
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 11
Here's a diagram of two microservices and their shared database.
https://twitter.com/mathiasverraes/status/711168935798902785

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 12


To make error is human.
To propagate error to all server in automatic way is
#devops.
https://twitter.com/DEVOPS_BORAT/status/41587168870797312

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 13


Container decouple teams!

“We can provide central tools


which are easy to incorporate
in any application”
“We can deploy and Logging & Monitoring
scale our app easily”

Application A Application B

“Infrastructure is an
abstraction to the app. We can “We can talk to a logging
easily (ex)change agent on localhost and
infrastructure” don’t have to implement
Server Infrastructure much”
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 14
Appendix
Status Quo

Cloud Foundry (CF): Opinionated PaaS


• “Here is my source code, run it on the cloud for me,
I do not care how”  `cf push` experience
• Security updates for operating system, runtimes Apps Services
and “app servers” (e.g. Tomcat) are handled by CF

Kubernetes (K8S) Apps Services


• Can run everything that Cloud Foundry can run
• Can run many more workloads that CF cannot run
• Requires low-level knowledge (you need to care
how) and additional effort by app developers as a Service via

Concerns with Status Quo …


• Technological duplication
• CF efforts cannot focus solely on dev experience
• TCO issue for operations running both stacks Bare Metal
• Rise of competing PaaS offerings on native K8S

uses uses (planned)


© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 17
Vision

Run Cloud Foundry on Kubernetes

Approach
• “De-duplicate” Cloud Foundry infrastructure in
compatible, evolutionary steps using the K8S
equivalents  investment protection
• Try bringing the Cloud Foundry community Apps Apps Services
and their development along  as opposed
to a unilateral fork
as a Service via
• Preserve the CF developer experience but
delegate App scheduling to K8S; focus

Cloud Foundry development on developer
experience and convenience aspects
• Make Cloud Foundry an option for people
only running Kubernetes today Bare Metal
 extend the reach

uses creates
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 18
Vision, CF summit 10/11.10.2018 https://sched.co/FvUa

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 19

You might also like