container orchestration

24
The only constant is change The only constant is change Container Orchestration Kubernetes, Swarm, and beyond

Upload: dfilppi

Post on 15-Apr-2017

5.074 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Container Orchestration

The only constant is changeThe only constant is change

Container Orchestration

Kubernetes, Swarm, and beyond

Page 2: Container Orchestration

The only constant is change

Introduction

• Open source advocate for the past 10 years.

• Actively involved with Cloud and OpenStack since its inception..

• CTO & Founder GigaSpaces

• Cloudify and GigaSpaces tech specialist

• Solution Architect & Evangelist

• CTO Group Architect @ GigaSpaces

Page 3: Container Orchestration

The only constant is change

About Cloudify

• Open source orchestration tool• Extremely

unopinionated• TOSCA model based• Can manage containers

directly or indirectly• Plugin oriented design

Page 4: Container Orchestration

The only constant is change

Orchestration

• Overloaded term• For our purposes:

– Automation– Perhaps the final frontier

of devops– Usually refers to high

level automation of distributed systems

Page 5: Container Orchestration

The only constant is change

Container Orchestration (CME)• Multiple hosts• Placement control• Networking• Placement• Affinity/anti-affinity• High availability• Scaling• Load balancing• Rolling upgrades

Page 6: Container Orchestration

The only constant is change

Focus• Kubernetes• Docker Swarm• Related Infrastructure

Automation • Cloudify/TOSCA

Approach• Demo

Page 7: Container Orchestration

The only constant is change

Kubernetes Overview• Open sourced by Google• Master/worker• Pod unit of deployment/scale• Replication Controller (autoheal/scale)• Service support with LB external IP• Overlay networks (IP per pod) + DNS• No supported master HA• Container agnostic• Placement, affinity + anti-affinity• YAML deployment model

Page 8: Container Orchestration

The only constant is change

Kubernetes Overview

Page 9: Container Orchestration

The only constant is change

Swarm (Docker 1.12) Overview

Page 10: Container Orchestration

The only constant is change

Swarm (Docker 1.12) Overview• Integrated into Docker engine• Manager/worker• Auto heal, manual scale• Service support with LB fixed IP• Overlay networks & DNS• Highly available manager• Network security (TLS) with CA• Node placement + Affinity/anti-affinity• Deployment modeling via Compose

Page 11: Container Orchestration

The only constant is change

Kubernetes/Swarm Contrasts• Swarm Setup Super Simple• Lack of Pod in Swarm a –• Lack of HA in Kubernetes a –• Swarm tie to Docker may be a –• Swarm lack of autoscale may be a –• Swarm built in security a +• Declarative vs imperative?• Swarm playing catchup (service/replicas) but

also some cool features

Page 12: Container Orchestration

The only constant is change

Related Services• Google Container Engine (GKE)

– Hosted Kubernetes in Google Compute Engine– Dynamic infrastructure

• AWS Containers– Docker + autoscaled infrastructure

• Azure– Hosted Swarm (heal,scale)

• IBM– Docker + autoscaled/healed infrastructure

• Many others , and…..

Page 13: Container Orchestration

The only constant is change

Page 14: Container Orchestration

The only constant is change

Page 15: Container Orchestration

The only constant is change

Openstack Magnum• Container clusters as a service

– K8S– Swarm– Mesos

• Infrastructure automation– Uses Heat– Bays– Healing– Scaling– LBAAS integration– Security (TLS)

• But naturally limited to Openstack

Page 16: Container Orchestration

The only constant is change

Openstack Magnum• Kubernetes first and most mature

– Adds TLS config• Cert generation + CA

– Adds HA to master• Bays provide multi-tenant

isolation• Support VMs and bare metal

(ironic)• Very active project

Page 17: Container Orchestration

The only constant is change

Cloudify And TOSCA• Consider Magnum style capabilities

but cloud agnostic– Standards based model (TOSCA)– Hybrid management (containers, non-

containers intermixed).– High availability and autoscaling for

container orchestrators.– Target any cloud, virtualization or bare

metal.

Page 18: Container Orchestration

The only constant is change

TOSCA• Oasis Spec• Defines modeling language:

• Describe components and relationships• Veeerrry generic• Components can be hardware, software,

or just abstract.• Each component can have code

associated• Each relationship can have code

associated

Page 19: Container Orchestration

The only constant is change

Sample Blueprint

Page 20: Container Orchestration

The only constant is change

Cloudify Manager Overview

Page 21: Container Orchestration

The only constant is change

Cloudify Manager Event Processing

Page 22: Container Orchestration

The only constant is change

Simple Swarm Demo• Swarm Cluster on Openstack• Simple start: 1 manager, 1 worker• Sufficient to show infrastructure

level– Autohealing– Auto-scale up: based on CPU sliding

window (Riemann driven)– Auto-scale down: same window, after

cooldown.

Page 23: Container Orchestration

The only constant is change

Hybrid Possibilities• Consider architecture with mixed

container/non-container components– E.g. database on VM, web on K8s

• Unopinionated orchestration to the rescue

• All components modeled in blueprints• Configuration overlayed on native

Kubernetes descriptors (YAML)• Example walkthrough ……

Page 24: Container Orchestration

The only constant is change

Thanks for being hereQuestions? Email [email protected]: http://getcloudify.org/blog/Github: https://github.com/cloudify-examples/docker-swarm-blueprint, https://github.com/cloudify-examples/kubernetes-cluster-blueprint, https://github.com/cloudify-examples/cloudify-kubernetes-plugin-blueprint