43
Containers and CloudStack Sebastien Goasguen London, March 3 rd 2016 @sebgoa @skippbox

Containers and CloudStack

Embed Size (px)

Citation preview

Page 1: Containers and CloudStack

Containers and CloudStack

Sebastien GoasguenLondon, March 3rd 2016

@sebgoa@skippbox

Page 2: Containers and CloudStack

Background

• Founder, Skippbox• VP of Apache

CloudStack• PMC of Apache libcloud• ASF member• O’Reilly author of the

Docker cookbook

• Thanks

@skippbox

Page 3: Containers and CloudStack

Outline

• Comments on CloudStack in 2015• Exciting personal update• Quick Docker review• Container orchestrators• Letting loose

@skippbox

Page 4: Containers and CloudStack

CloudStack in 2015• Solid year– New release workflow and commit process

• Stable community– High growth in Latin America

• New features:– Quota, SAML, Metrics, Nuage, rVPC, -AWSAPI,

Docker images …• Two news items:– Citrix sold CCP to Accelerite– Schuberg maintains its own open source fork

@skippbox

Page 5: Containers and CloudStack

Skippbox• Container startup• Embracing Kubernetes• Building a product focusing on

Applications deployment and self-management

• Open Source• http://www.skippbox.com

@skippbox

Page 6: Containers and CloudStack

Three drivers

• Kubernetes toolbox to ease on-ramp for developers and operators.kmachine, kompose, boot2k8s, skippbox

https://github.com/skippbox• Distributed app marketplace based on Kubernetes

• Event-based app life-cycle system

@skippbox

Page 7: Containers and CloudStack

Docker review

@skippbox

Page 8: Containers and CloudStack

Docker ?

@skippbox

Page 9: Containers and CloudStack

@skippbox

Just in case…

$ sudo yum install docker-engine$ sudo service docker start

$ docker pull nginx$ docker run –p 80:80 nginx

Page 10: Containers and CloudStack

@skippbox

Then…

Page 11: Containers and CloudStack

• Docker engine• Docker compose• Docker machine• Docker Swarm• Docker Toolbox• Docker Network

@skippbox

Page 12: Containers and CloudStack

“Ecosystem on fire”

@skippbox

Page 13: Containers and CloudStack

@skippbox

Orchestrators “war”

Page 14: Containers and CloudStack

@skippbox

Page 15: Containers and CloudStack

Docker in CloudStack

@skippbox

Page 16: Containers and CloudStack

Integration points

• Docker in CloudStack guests• Package CloudStack as a set of containers• Docker as infra plumbing• Docker orchestrators

@skippbox

Page 17: Containers and CloudStack

Docker in cloudstack VM

@skippbox

Page 18: Containers and CloudStack

Where do you run Docker ?

@skippbox

Page 19: Containers and CloudStack

• On VMs

• In a Public cloud

• Guests with Docker engine

• “Docker templates”

@skippbox

Page 20: Containers and CloudStack

Offer those in your cloud

@skippbox

Page 21: Containers and CloudStack

e.g PCextreme

@skippbox

Page 22: Containers and CloudStack

Docker-Machine

• One binary to create a remote Docker host and setup the TLS communication with your local docker client.

• Automates the TLS setup and the configuration of the local environment

• Can manage multiple machines in different clouds at the same time

@skippbox

Page 23: Containers and CloudStack

CloudStack and Machine• Many drivers (e.g exoscale, btcloud… )• Generic CloudStack driver needs love

$ docker-machine create -d exoscale foobarINFO[0000] Creating SSH key... INFO[0001] Creating exoscale... INFO[0005] Waiting for SSH... INFO[0072] Configuring Machine...

$ kmachine create –d btcloud foobar$ kompose k8s up -d

@skippbox

Page 24: Containers and CloudStack

Container orchestrators

@skippbox

Page 25: Containers and CloudStack

Container orchestrators

• How to manage containers on multi-host ?• How to do service discovery ?

• e.g Docker swarm, Lattice, kubernetes, Rancher

• Should CloudStack orchestrates containers ?

@skippbox

Page 26: Containers and CloudStack

e.g How about Swarm ?

• You can create a swarm cluster with docker-machine

• Hence, it’s easy to create a Swarm in CloudStack

@skippbox

Page 27: Containers and CloudStack

How to deploy apps in clouds

• Configuration mgt (e.g Ansible, Chef)• Terraform

• Recipes to deploy Kubernetes, Rancher and Lattice

• Terraform plans to deploy Lattice and Kubernetes on CloudStack

@skippbox

Page 28: Containers and CloudStack

Philosophy

• CloudStack manages VM• Let’s do it well• Let something else manage containers

• Can’t keep up with the velocity of Kubernetes• If AWS builds ECS on top of EC2 why should

we do it differently

@skippbox

Page 29: Containers and CloudStack

@skippbox

Mesos (TLP at Apache since July 2013)

Page 30: Containers and CloudStack

@skippbox

Docker Swarm

Page 31: Containers and CloudStack

@skippbox

Rancher Labs

Page 32: Containers and CloudStack

@skippbox

Kubernetes• Started by Google in ~June 2014• Open source re-write of Borg• Written in Go• Extremely fast paced

• Docker, rkt …• Google and RedHat

Page 33: Containers and CloudStack

Kubernetes open sourced in June 2014

• 14,000 commits in a year~16,000 for docker

• 300+ contributors

Page 34: Containers and CloudStack

Borg, Eurosys April 2015

Page 35: Containers and CloudStack

Important Lineage

@skippbox

Page 36: Containers and CloudStack

K8s + cloudstack

• Terraform plan

• Ansible recipes

• Deploy k8s easily on CloudStack clouds (basic and advanced).

@skippbox

Page 37: Containers and CloudStack

Letting loose a bit …

@skippbox

Page 38: Containers and CloudStack

What if ?• CloudStack is a distributed app• CloudStack components can run in containers

• Why not run the VMs in containers as well (i.e KVM process in a namespace and cgroups)…like Google

• What manages CloudStack then ? A container application

@skippbox

Page 39: Containers and CloudStack

John Wilkes~ 23 minutes

https://www.youtube.com/watch?v=VQAAkO5B5Hg

Page 40: Containers and CloudStack

CloudStack 5.0

• How about CloudStack in Kubernetes ?– Why not. GCE is a Kubernetes app

@skippbox

Page 41: Containers and CloudStack

What gives ?• Docker on cloudstack ?• Cloudstack on docker ?

• Boils down to the unit of scheduling in your data center

• + Multi-tenancy guarantee

• Do you prefer to schedule VMs or containers ?

@skippbox

Page 42: Containers and CloudStack

Conclusions

• CloudStack already supports Docker• Docker/container orchestrators can easily be run

in CloudStack• Your users can already run containers in your Cloud

• Kubernetes shows the most promise• Shall we run CloudStack in Kubernetes ?• Skippbox can help you shape your container

strategy.

@skippbox

Page 43: Containers and CloudStack

ThanksSebastien Goasguen@sebgoa@skippboxhttp://www.skippbox.comhttps://github.com/skippbox

Kubecon.io next week, register with SKIPPBOX and get 25% off

@skippbox