Container Orchestration Wars (Micro Edition)

Post on 06-Jan-2017

382 views 0 download

transcript

© 2016 Mesosphere, Inc. All Rights Reserved. 1

CONTAINER ORCHESTRATION WARS( Micro Edition )

© 2016 Mesosphere, Inc. All Rights Reserved. 2

KARL WHO?

Where?

- Mesosphere- Pivotal

What?

- DC/OS- Kubernetes (on Mesos)- CloudFoundry- BOSH

- 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

Platforms

Competitive Landscape

The Future

AGENDA

© 2016 Mesosphere, Inc. All Rights Reserved. 4

IN THE BEGINNING...

Sombrero Galaxy by ESA/Hubble - CC BY 4.0

© 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- Remote Users!

© 2016 Mesosphere, Inc. All Rights Reserved.

Web App

Hardware

Operating System

7

DISTRIBUTION- Horizontal Scale- Fault Tolerance- Availability- Load Balancing

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

- Separation of concerns

- Optimization of bottlenecks

- Smaller teams- API Contracts- Data replication- Complicated

provisioning- Dependency

management

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

- Fast provisioning- Isolation- Portability- Utilization- Configuration

Management- Virtual Networking- Credential

management

Operating System

Operating System

Infrastructure

Machine Machine

© 2016 Mesosphere, Inc. All Rights Reserved.

Operating System

Operating System

Operating System

ServiceApp ServiceServiceAppApp

10

MICROSERVICES- Polyglot- Single Responsibility- Smaller Teams- Utilization- Machine

types/groups- Dependency hell

Machine

Infrastructure

Machine Machine

ServiceService ServiceServiceServiceService

© 2016 Mesosphere, Inc. All Rights Reserved.

ServiceApp ServiceServiceAppApp

OS

11

CONTAINERS- Rapid deployment- Dependency

vendoring- Container image

repositories- Spreadsheet

scheduling

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

CONTAINER ORCA-WHAT-NOW?

Scheduling, Coordination, & Management

of

Containerized Processes

as

Higher Order Abstractions

(e.g., Jobs, Services, Applications, Pods, etc.)

© 2016 Mesosphere, Inc. All Rights Reserved. 14

© 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

Expanded

© 2016 Mesosphere, Inc. All Rights Reserved. 16

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

RESOURCE MANAGEMENT

- Memory- CPU- GPU- Volumes- Ports- IPs- Images/Artifacts

SERVICE MANAGEMENT

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

FUNCTIONAL CAPABILITIES

© 2016 Mesosphere, Inc. All Rights Reserved. 17

SCALABILITYPerformance, Responsiveness, Efficiency

AVAILABILITYFault Tolerance, Robustness, Reliability, Resilience, Disaster Recovery

FLEXIBILITYFormat Support, Interoperability, Extensibility, Container Runtimes

USABILITYFamiliarity, Maintainability, Compatibility, Debuggability

PORTABILITYHost OS, Cloud, Bare-Metal, Hybrid

SECURITYAuditability, Secrets Management, Encryption, Isolation

NON-FUNCTIONAL QUALITIES

© 2016 Mesosphere, Inc. All Rights Reserved. 18

PLATFORMA base of technologies on which other technologies or processes are built.

PLATFORM AS A SERVICEA managed, multitenant platform.

CLOUD PLATFORMA hosted platform as a service on shared infrastructure.

PLATFORM SPECTRUM

Rainbow by Susanne Nilsson - CC BY-SA 2.0

© 2016 Mesosphere, Inc. All Rights Reserved.

INFRASTRUCTURE PLATFORMe.g., OpenStack, VMware vSphere

CONTAINER PLATFORMe.g., Kubernetes, DC/OS, Rancher

APPLICATION PLATFORMe.g., Cloud Foundry, Red Hat OpenShift, Deis

19

PLATFORMS

Oil Platform by Berardo62 - CC BY-SA 2.0

© 2016 Mesosphere, Inc. All Rights Reserved.

CLOUD INFRASTRUCTURE PLATFORMe.g., Amazon Elastic Compute Cloud, Microsoft Azure,

Google Compute Engine

CLOUD CONTAINER PLATFORMe.g., Google Container Engine, Azure Container Services,

Amazon EC2 Container Service

CLOUD APPLICATION PLATFORMe.g., Heroku, Google App Engine, Pivotal Web Services,

IBM Bluemix

20

CLOUD PLATFORMS

© 2016 Mesosphere, Inc. All Rights Reserved. 21

© 2016 Mesosphere, Inc. All Rights Reserved. 22

TODAY’SCONTESTANTS

- Docker Swarm

- ECS

- Kontena

- Nomad

- Kubernetes

- Rancher

- OpenShift

- DC/OS

Non-Exhaustive List

© 2016 Mesosphere, Inc. All Rights Reserved. 23

SCHEDULINGORCHESTRATION FUNCTIONAL COMPARISON (06/2016)

Placement

Kubernetes DC/OS ECS Swarm Nomad Cattle Kontena

Replication/Scaling

Readiness Checking

Resurrection

Rescheduling

Rolling Deployment

Collocation

Included External/Partial/Experimental

© 2016 Mesosphere, Inc. All Rights Reserved. 24

RESOURCE MANAGEMENTORCHESTRATION FUNCTIONAL COMPARISON (06/2016)

Memory

Kubernetes DC/OS ECS Swarm Nomad Cattle Kontena

CPU

GPU

Disk Space

Persistent Volumes

Ports

IPs

Included External/Partial/Experimental

Volumes

© 2016 Mesosphere, Inc. All Rights Reserved. 25

SERVICE MANAGEMENTORCHESTRATION FUNCTIONAL COMPARISON (06/2016)

Labels

Kubernetes DC/OS ECS Swarm Nomad Cattle Kontena

Groups/Namespaces

Dependencies

Load Balancing

Readiness Checking

Included External/Partial/Experimental

© 2016 Mesosphere, Inc. All Rights Reserved. 26

CONTAINERIZATION- Stability & maturity- Standard image format- Distinct from orchestration- API reverse compatibility guarantees

ORCHESTRATION- Feature parity- Abstraction convergence- Pluggable schedulers- Scale & responsiveness

DISTRIBUTED OPERATING SYSTEMS- Collection of components- Package management- System space vs user space- POSIX for the datacenter

THE FUTURE

© 2016 Mesosphere, Inc. All Rights Reserved. 27

DC/OS- Resource Management- Universal Containerizer- Container Orchestration- Pluggable Schedulers- Jobs & Services- Distributed System Services- Virtual Networking- Package Management- Services Catalog & Application Ecosystem- Day 2 Operational Focus

ENTERPRISE DC/OS- E2E Encryption- Identity & Access Management- Secrets Management- Support

© 2016 Mesosphere, Inc. All Rights Reserved. 28

"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)