44
1 © Copyright 2016 EMC Corporation. All rights reserved. STATEFUL CONTAINER MIT OPENSTACK UND DOCKER SEBASTIAN SCHMIDT, ADVISORY SPECIALIST, EMC DEUTSCHLAND GMBH

STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

  • Upload
    vunhu

  • View
    245

  • Download
    0

Embed Size (px)

Citation preview

Page 1: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

1 © Copyright 2016 EMC Corporation. All rights reserved.

STATEFUL CONTAINER MIT OPENSTACK UND DOCKER SEBASTIAN SCHMIDT, ADVISORY SPECIALIST, EMC DEUTSCHLAND GMBH

Page 2: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

2 © Copyright 2016 EMC Corporation. All rights reserved.

SEBASTIAN SCHMIDT

• Previously software developer, lead architect und manager consulting in a startup

• Advisory Specialist at EMC Deutschland GmbH – Building Clouds – Architecting software-defined

infrastructure – Help customers through digital

transformation

@seb2tweet [email protected] https://de.linkedin.com/in/sebastianschmidt1

Page 3: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

3 © Copyright 2016 EMC Corporation. All rights reserved.

EMC FEDERATION

Page 4: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

4 © Copyright 2016 EMC Corporation. All rights reserved.

WHICH EMERGING TECHNOLOGIES INTEREST OPENSTACK USERS?

http://www.openstack.org/assets/survey/April-2016-User-Survey-Report.pdf

Page 5: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

5 © Copyright 2016 EMC Corporation. All rights reserved.

?

Page 6: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

6 © Copyright 2016 EMC Corporation. All rights reserved.

WHY COMPANIES REALLY ADOPT DOCKER

Page 7: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

7 © Copyright 2016 EMC Corporation. All rights reserved.

HOW DO DEVELOPERS SEE CONTAINERS?

Write code Push it

Platform gathers requirements

Builds container

Container is deployed

Container as a Service / Platform

Page 8: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

8 © Copyright 2016 EMC Corporation. All rights reserved.

• Initialy designed for – Cloud Native Apps

– Microservices

– 12-factor apps

– Fail -> restart

– Stateless

– Scale-out

WHAT DO YOU RUN IN DOCKER CONTAINERS?

Page 9: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

9 © Copyright 2016 EMC Corporation. All rights reserved.

APPLICATION STATE DIFFERENCES

Front End or Non-Persistent

Scale

-Up S

cale

-Out

Page 10: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

10 © Copyright 2016 EMC Corporation. All rights reserved.

• Heck yes!

• Can provide storage volumes to VMs

• Volumes can be bootable or attached auxiliary storage

• Volumes can persist when the VM is destroyed

DOES OPENSTACK PROVIDE PERSISTENCE?

Page 11: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

11 © Copyright 2016 EMC Corporation. All rights reserved.

HTTP://DOCS.OPENSTACK.ORG/OPS-GUIDE/ARCH_STORAGE.HTML

OPENSTACK STORAGE OPTIONS

Table. OpenStack storage

Ephemeral storage Block storage Object storage Shared File System storage

Used to… Run operating system and scratch space

Add additional persistent storage to a virtual machine (VM)

Store data, including VM images

Add additional persistent storage to a virtual machine

Accessed through… A file system

A block device that can be partitioned, formatted, and mounted (such as, /dev/vdc)

The REST API

A Shared File Systems service share that can be partitioned, formatted and mounted (such as /dev/vdc)

Accessible from… Within a VM Within a VM Anywhere Within a VM

Persists until… VM is terminated Deleted by user Deleted by user Deleted by user

Page 12: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

12 © Copyright 2016 EMC Corporation. All rights reserved.

• Yes! Definitely yes. Probably? Well, sort of.

• That’s kind of… not really the point of containers.

DOES DOCKER PROVIDE PERSISTENCE?

• You can map volumes on the Docker server

• Storage can persist after the container goes away

Page 13: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

13 © Copyright 2016 EMC Corporation. All rights reserved.

STATE IS OUTSIDE OF PLATFORM

OPTION ONE

Legacy Apps

Object Storage Databases

Drawback: Platform benefits limited to everything that is inside the platform

Container Platform

Stateless Apps

Integrated through REST API, defined interfaces, pre-distributed users, etc.

Page 14: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

14 © Copyright 2016 EMC Corporation. All rights reserved.

Container Platform

Volu

me A

PI

GET STATE AS A FIRST CLASS CITIZEN INTO YOUR PLATFORM

OPTION TWO

Legacy Apps

Object Storage Databases

Drawback: Much more complexity in the Platform

Cloud Native Apps

Page 15: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

15 © Copyright 2016 EMC Corporation. All rights reserved.

HOW DOES PERSISTENCE WORK WITH CONTAINERS ?

Page 16: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

16 © Copyright 2016 EMC Corporation. All rights reserved.

TYPICAL DOCKER ECOSYSTEM APPROACH

Page 17: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

17 © Copyright 2016 EMC Corporation. All rights reserved.

• Enable data volumes to persist beyond the lifetime of a Docker host or container

• Included since Docker 1.9 (November 2015)

• Operations: – Create, Remove, Mount, Path, Unmount

– Additional options can be passed to volume drivers

HELLO DOCKER VOLUME MANAGER API!

Page 18: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

18 © Copyright 2016 EMC Corporation. All rights reserved.

HOW DOES THE VOLUME API WORK?

Page 19: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

19 © Copyright 2016 EMC Corporation. All rights reserved.

• 17 Plugins today: – https://docs.docker.com/engine/extend/plugins/

– Several drivers from vendors

– Some general abstraction layers

• Why additional abstraction layers? – Why not just Docker volume driver <-> Cinder ?

DOCKER VOLUME API - STATUS

Page 20: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

20 © Copyright 2016 EMC Corporation. All rights reserved.

REX-RAY ARCHITECTURE

Page 21: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

21 © Copyright 2016 EMC Corporation. All rights reserved.

HTTPS://GITHUB.COM/EMCCODE/REXRAY

GET TO KNOW REX-RAY

AWS EC2 (EBS)

OpenStack (Cinder)

EMC Isilon

EMC ScaleIO

EMC VMAX

EMC XtremIO

Google Compute Engine (GCE)

VirtualBox

Ubuntu Debian RedHat CentOS CoreOS OSX TinyLinux (boot2docker)

Docker Volume API Mesos Isolator

Page 22: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

22 © Copyright 2016 EMC Corporation. All rights reserved.

• Abstraction makes running containers across multiple hosts transparent

• Works across multiple different substrates/clouds!

• Run important things with data in containers

• Container images remain non-persistent, while the container data volumes are persistent

• Container OSs remain immutable

• Enables High Availability applications

BUT WHY IS THAT SO EXCITING?

Page 23: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

23 © Copyright 2016 EMC Corporation. All rights reserved.

Page 24: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

24 © Copyright 2016 EMC Corporation. All rights reserved.

Page 25: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

25 © Copyright 2016 EMC Corporation. All rights reserved.

Page 26: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

26 © Copyright 2016 EMC Corporation. All rights reserved.

RECAP: CONTAINER PLATFORM ARCHITECTURE

Write code Push it

Platform gathers requirements

Builds container

Container is deployed

Container as a Service / Platform

Page 27: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

27 © Copyright 2016 EMC Corporation. All rights reserved.

• Manages all physical/virtual resources

• Deploys and schedules apps

• Handles hardware failures

RESOURCE MANAGERS AND SCHEDULERS

Page 28: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

28 © Copyright 2016 EMC Corporation. All rights reserved.

• Limitations today – Host local resources only

– Memory, CPU as main resources

– No concept for central or global services • Storage

• Network

RESOURCE MANAGERS AND SCHEDULERS

Page 29: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

29 © Copyright 2016 EMC Corporation. All rights reserved.

THE STORAGE SCHEDULER

GET TO KNOW POLLY

Page 30: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

30 © Copyright 2016 EMC Corporation. All rights reserved.

• Plugs directly into scheduling layer

• Creates, maps, snapshots, deletes volumes

• Allows scheduling based on storage information

• Check it out on Github!

POLLY – THE POLYMORPHIC STORAGE SCHEDULER HTTPS://GITHUB.COM/EMCCODE/POLLY

Page 31: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

31 © Copyright 2016 EMC Corporation. All rights reserved.

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

Page 32: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

32 © Copyright 2016 EMC Corporation. All rights reserved.

Page 33: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

33 © Copyright 2016 EMC Corporation. All rights reserved.

SCALE-OUT STORAGE SOFTWARE

SCALING PERSISTENCE / STORAGE

One Pool, One API, runs co-located with workloads

Scale-out

Page 34: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

34 © Copyright 2016 EMC Corporation. All rights reserved.

• Cinder driver – http://docs.openstack.org/mitaka/config-reference/block-storage/drivers/emc-

scaleio-driver.html

• Canonical Integration (JUJU Charms) – https://github.com/cloudscaling/juju-scaleio – Current version is RC1.

• Nova ethemeral volumes – https://github.com/cloudscaling/nova-scaleio-ephemeral

• Cinder Backups (works with any Cinder device) – Includes VM Config and everything needed for independant restore

SCALEIO AND OPENSTACK

Page 36: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

36 © Copyright 2016 EMC Corporation. All rights reserved.

Page 37: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

37 © Copyright 2016 EMC Corporation. All rights reserved.

Page 38: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

38 © Copyright 2016 EMC Corporation. All rights reserved.

• Other cool things we are working on – Bare Metal CPI for Cloud Foundry

• https://github.com/cloudfoundry-incubator/bosh-rackhd-cpi-release

– RackHD, management for commodity server • https://github.com/rackhd/rackhd

– Cloud Foundry Service Broker for Object Storage (ECS) • https://github.com/emccode/ecs-cf-service-broker

– Unikernel „Compiler“ (UniK) • https://github.com/emc-advanced-dev/unik

EMC{CODE} NEEDS YOU HTTPS://EMCCODE.GITHUB.IO/

https://www.youtube.com/playlist?list=PLbssOJyyvHuWiBQAg9EFWH570timj2fxt

Page 39: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

39 © Copyright 2016 EMC Corporation. All rights reserved.

Page 40: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

40 © Copyright 2016 EMC Corporation. All rights reserved.

RACKHD AND SHOVEL -> IRONIC

• New project Shovel contributed to OpenStack – https://github.com/openstack/shovel

• https://github.com/rackhd/rackhd

Page 41: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

41 © Copyright 2016 EMC Corporation. All rights reserved.

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

Page 42: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

42 © Copyright 2016 EMC Corporation. All rights reserved.

EMC{CODE} LIBSTORAGE

FUTURE OF CONTAINER STORAGE

Storage Orchestration Tools Today libStorage Embedded Architecture

http://libstorage.readthedocs.io/en/stable/ https://github.com/emccode/libstorage

Page 43: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS
Page 44: STATEFUL CONTAINER MIT OPENSTACK UND DOCKER · OpenStack (Cinder) EMC Isilon EMC ScaleIO EMC VMAX EMC XtremIO Google Compute Engine (GCE) VirtualBox Ubuntu Debian RedHat CentOS CoreOS

44 © Copyright 2016 EMC Corporation. All rights reserved.

Hypervisor == Isolation

Tenant Tenant

H H H H H H

IaaS ( ) == Control

DVDI DVDI

Marathon