© 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.
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. 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. 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. 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. 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. 45
Amazon EC2 Container Service (ECS)
CONTAINERORCHESTRATION
© 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)