container orchestration wars

63
© 2016 Mesosphere, Inc. All Rights Reserved. 1 CONTAINER ORCHESTRATION WARS

Upload: karl-isenberg

Post on 06-Jan-2017

4.265 views

Category:

Technology


0 download

TRANSCRIPT

© 2016 Mesosphere, Inc. All Rights Reserved. 1

CONTAINER ORCHESTRATION WARS

© 2016 Mesosphere, Inc. All Rights Reserved. 2

KARL WHO?

Where?

- Mesosphere- Pivotal- Williams-Sonoma

What?

- DC/OS- Kubernetes- CloudFoundry- BOSH- Spring Ecommerce Platform

- github.com/karlkfi

- twitter.com/karlkfi

- linkedin.com/in/karlkfi

- karl.isenberg.us

© 2016 Mesosphere, Inc. All Rights Reserved. 3

Revisionist History of Distributed Computing

Container Orchestration

Container Platforms

Platform as a Service

Distributed Operating Systems

Competitive Landscape

AGENDA

© 2016 Mesosphere, Inc. All Rights Reserved. 4

IN THE BEGINNING...

© 2016 Mesosphere, Inc. All Rights Reserved.

Hardware

Operating System

Application

5

COMPUTERS

© 2016 Mesosphere, Inc. All Rights Reserved.

Hardware

Operating System

Web Application

6

INTERNET

© 2016 Mesosphere, Inc. All Rights Reserved.

Web App

Hardware

Operating System

7

SCALE &HIGH AVAILABILITY

Operating System

Operating System

Hardware Hardware

Web App Web App

© 2016 Mesosphere, Inc. All Rights Reserved.

Service Service Service

Web App Web App Web App

Hardware

Operating System

8

SERVICE-ORIENTEDARCHITECTURE

Operating System

Operating System

Hardware Hardware

© 2016 Mesosphere, Inc. All Rights Reserved.

Service Service Service

Web App Web App Web App

Machine

Operating System

9

HARDWAREVIRTUALIZATION

Operating System

Operating System

Infrastructure

Machine Machine

© 2016 Mesosphere, Inc. All Rights Reserved.

Operating System

Operating System

Operating System

ServiceApp ServiceServiceAppApp

10

MICROSERVICES

Machine

Infrastructure

Machine Machine

ServiceService ServiceServiceServiceService

© 2016 Mesosphere, Inc. All Rights Reserved.

ServiceApp ServiceServiceAppApp

OS

11

CONTAINERIZEDMICROSERVICES

OS OS

Machine

Infrastructure

Machine Machine

Container Runtime Container Runtime Container Runtime

ServiceService ServiceServiceServiceService

© 2016 Mesosphere, Inc. All Rights Reserved.

Service

Container Runtime Container Runtime Container Runtime

OS

12

CONTAINERORCHESTRATION

OS OS

Container Orchestration

Machine

Infrastructure

Machine Machine

App ServiceServiceAppApp

© 2016 Mesosphere, Inc. All Rights Reserved. 13

“The automated arrangement, coordination, and management of complex computer systems, middleware and services.”

- Wikipedia

ORCA-WHAT-NOW?

© 2016 Mesosphere, Inc. All Rights Reserved. 14

“Continuous automated scheduling, coordination, and management of complex systems of containerized components and the resources they consume.”

- Karl

CONTAINER ORCHESTRATION

© 2016 Mesosphere, Inc. All Rights Reserved.

Orc

hest

ratio

n

15

Machine Infrastructure

Web Apps & Services

Scheduling

Resource Management

Container Runtime

Machine & OS

Service Management

CONTAINERORCHESTRATION

Machine & OS Machine & OS

Container Runtime Container Runtime

Revised

© 2016 Mesosphere, Inc. All Rights Reserved. 16

© 2016 Mesosphere, Inc. All Rights Reserved. 17

SCHEDULING- Placement- Replication/Scaling- Resurrection- Rescheduling- Rolling Deployment- Upgrades- Downgrades- Collocation

RESOURCE MANAGEMENT

- Memory- CPU- GPU- Volumes- Ports- IPs

SERVICE MANAGEMENT

- Labels- Groups/Namespaces- Dependencies- Load Balancing- Readiness Checking

FUNCTIONAL CAPABILITIES

© 2016 Mesosphere, Inc. All Rights Reserved. 18

SCALABILITYPerformance, Responsiveness, Efficiency

AVAILABILITYFault Tolerance, Robustness, Reliability, Resilience, Disaster Recovery

FLEXIBILITYFormat Support, Portability, Interoperability, Extensibility

USABILITYFamiliarity, Maintainability, Compatibility, Debuggability

PORTABILITYContainer Runtimes, Host OS, Hosted, Cloud, Bare-Metal

SECURITYAuditability, Secrets Management, Encryption, Isolation

NON-FUNCTIONAL QUALITIES

© 2016 Mesosphere, Inc. All Rights Reserved. 19

“A platform is any base of technologies on which other technologies or processes are built.”

- Some Guy on the Internet

CLOUD PLATFORM?

© 2016 Mesosphere, Inc. All Rights Reserved. 20

“Platform as a service (PaaS) is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app.”

- Wikipedia

PAAS?

© 2016 Mesosphere, Inc. All Rights Reserved. 21

“A distributed system on which users develop, run, and manage containerized applications and services.”

- Karl

CONTAINER PLATFORM

© 2016 Mesosphere, Inc. All Rights Reserved.

APPLICATION DEVELOPMENT LIFECYCLESource Repo, Continuous Integration, Artifact Repo

CONTAINER ORCHESTRATIONScheduling, Resource Management, Service Management

DAY 2 OPERATIONSDebugging, Maintenance

22

CONTAINER OPERATIONS

© 2016 Mesosphere, Inc. All Rights Reserved. 23

APPLICATION DEVELOPMENT LIFECYCLECONTAINER OPERATIONS

Code Build, Test, Package Publish Deploy

© 2016 Mesosphere, Inc. All Rights Reserved.

Applications & Services

24

APPLICATION DEVELOPMENT LIFECYCLECONTAINER OPERATIONS

Source Control Continuous Integration

Artifact Repository Orchestration

© 2016 Mesosphere, Inc. All Rights Reserved. 25

APPLICATION DEVELOPMENT LIFECYCLECONTAINER OPERATIONS

Applications & Services

Source Control Continuous Integration

Artifact Repository

Orchestration

© 2016 Mesosphere, Inc. All Rights Reserved. 26

DEBUGGING- Logging & Metrics

- Emitting- Aggregation- Search- Reporting- Alerting- Dashboards

- Shell Access

MAINTENANCE- Package Management- Upgrading- Cluster Resizing- Application Autoscaling- Capacity Planning- Software Defined Networking- Backups- Disaster Recovery

DAY 2 OPERATIONSCONTAINER OPERATIONS

© 2016 Mesosphere, Inc. All Rights Reserved.

System Space

Orchestration

User Space

Source Control Continuous Integration

Artifact Repository

27

CONTAINER OPERATIONS

Load Balancer Package Manager

SecurityNetworking Logging &

MetricsStorage

© 2016 Mesosphere, Inc. All Rights Reserved.

Kernel

28

OPERATING SYSTEM

System Space

Hardware

User Space

© 2016 Mesosphere, Inc. All Rights Reserved. 29

DISTRIBUTEDOPERATING SYSTEM

Hardware Hardware Hardware

User SpaceCirca 1992

Microkernel

System Space

Microkernel Microkernel

© 2016 Mesosphere, Inc. All Rights Reserved. 30

DYSEAC &MOBIDICCirca 1954

© 2016 Mesosphere, Inc. All Rights Reserved. 31

PLAN 9Circa 1992

© 2016 Mesosphere, Inc. All Rights Reserved. 32

THEN- Rewrite your Applications- Concurrent Programming Language- Virtual Machine Environment- UNIX-like, POSIX-like- Custom Kernel- Process-level Fault Tolerance

NOW- BYO Applications- BYO Programming Language- BYO Container Operating System- BYO Container Runtime- BYO Machine Operating System- System-level Fault Tolerance

DISTRIBUTED OPERATING SYSTEM

© 2016 Mesosphere, Inc. All Rights Reserved. 33

Machine Infrastructure

Applications & Services

Orchestration

Container Runtime

System Services

DISTRIBUTEDOPERATING SYSTEM

Container Runtime Container Runtime

Revised

OS OS OS

Machine Machine Machine

Dist

ribut

ed O

S

© 2016 Mesosphere, Inc. All Rights Reserved. 34

© 2016 Mesosphere, Inc. All Rights Reserved. 35

SECURITYCONCERNS - End-To-End Encryption

- Secrets- Certificate Management- Public Key Infrastructure- Service Accounts- User Accounts- User Groups- Directory Service Integration- Multitenancy- Permissions- Security Policies- License Management

© 2016 Mesosphere, Inc. All Rights Reserved. 36

SERVICE CATALOG - Distributed Storage

- Databases- Message Bus- Stream Processing- Machine Learning- API Brokers- Autoscalers- Log Search- Version Control- Continuous Integration- Container Repositories

© 2016 Mesosphere, Inc. All Rights Reserved. 37

© 2016 Mesosphere, Inc. All Rights Reserved. 38

WHO ARE TODAY’S CONTESTANTS?

© 2016 Mesosphere, Inc. All Rights Reserved. 39

© 2016 Mesosphere, Inc. All Rights Reserved. 40

TODAY’SCONTESTANTS

- Docker Swarm

- ECS

- Kontena

- Nomad

- Kubernetes

- Rancher

- OpenShift

- DC/OS

Non-Exhaustive List

© 2016 Mesosphere, Inc. All Rights Reserved. 41

CONTAINER ORCHESTRATION- Scheduling- Resource Management- Service Discovery

CONTAINER PLATFORM- Container Lifecycle Management

PLATFORM AS A SERVICE- Application Lifecycle Management

DISTRIBUTED OPERATING SYSTEM- Container Operations- Distributed System Services- Services Catalog & Application Ecosystem

What’s What?

© 2016 Mesosphere, Inc. All Rights Reserved. 42

Docker Swarm

© 2016 Mesosphere, Inc. All Rights Reserved. 43

Docker Swarm

CONTAINERORCHESTRATION

© 2016 Mesosphere, Inc. All Rights Reserved. 44

Amazon EC2 Container Service (ECS)

© 2016 Mesosphere, Inc. All Rights Reserved. 45

Amazon EC2 Container Service (ECS)

CONTAINERORCHESTRATION

© 2016 Mesosphere, Inc. All Rights Reserved. 46

Kontena

© 2016 Mesosphere, Inc. All Rights Reserved. 47

Kontena

CONTAINERORCHESTRATION

© 2016 Mesosphere, Inc. All Rights Reserved. 48

Nomad by HashiCorp

© 2016 Mesosphere, Inc. All Rights Reserved. 49

Nomad by HashiCorp

ORCHESTRATION

© 2016 Mesosphere, Inc. All Rights Reserved. 50

Kubernetes

© 2016 Mesosphere, Inc. All Rights Reserved. 51

Kubernetes

CONTAINER PLATFORM

© 2016 Mesosphere, Inc. All Rights Reserved. 52

Rancher

© 2016 Mesosphere, Inc. All Rights Reserved. 53

Rancher

CONTAINER PLATFORM

© 2016 Mesosphere, Inc. All Rights Reserved. 54

OpenShift

© 2016 Mesosphere, Inc. All Rights Reserved. 55

OpenShift

PaaS

© 2016 Mesosphere, Inc. All Rights Reserved. 56

DC/OS

© 2016 Mesosphere, Inc. All Rights Reserved.

DISTRIBUTED OPERATING

SYSTEM57

DC/OS

© 2016 Mesosphere, Inc. All Rights Reserved. 58

© 2016 Mesosphere, Inc. All Rights Reserved. 59

ORCHESTRATIONFUNCTIONALCOMPARISON

© 2016 Mesosphere, Inc. All Rights Reserved. 60

SCHEDULINGORCHESTRATION FUNCTIONAL COMPARISON (06/2016)

Placement

Kubernetes Mesos/Marathon ECS Swarm Nomad Cattle Kontena

Replication/Scaling

Readiness Checking

Resurrection

Rescheduling

Rolling Deployment

Collocation

Included External/Partial

© 2016 Mesosphere, Inc. All Rights Reserved. 61

RESOURCE MANAGEMENTORCHESTRATION FUNCTIONAL COMPARISON (06/2016)

Memory

Kubernetes Mesos/Marathon ECS Swarm Nomad Cattle Kontena

CPU

GPU

Disk Space

Persistent Volumes

Ports

IPs

Included External/Partial

Volumes

© 2016 Mesosphere, Inc. All Rights Reserved. 62

SERVICE MANAGEMENTORCHESTRATION FUNCTIONAL COMPARISON (06/2016)

Labels

Kubernetes Mesos/Marathon ECS Swarm Nomad Cattle Kontena

Groups/Namespaces

Dependencies

Load Balancing

Readiness Checking

Included External/Partial

© 2016 Mesosphere, Inc. All Rights Reserved. 63

"Let's face it, the universe is messy. It is nonlinear, turbulent, and chaotic. It is dynamic. It spends its time in transient behavior on its way to somewhere else, not in

mathematically neat equilibria. It self-organizes and evolves. It creates diversity, not uniformity. That's what

makes the world interesting, that's what makes it beautiful, and that's what makes it work."

Donella H. Meadows

(Thinking in Systems: A Primer)