emc world 2016 - code.09 introduction to the docker platform

Post on 08-Feb-2017

339 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1© Copyright 2016 EMC Corporation. All rights reserved. 1© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER PLATFORM 101KENNY COLEMAN | MANO MARKS |

Developer Advocate - EMC {code}Director, Developer Relations - Docker

2© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER PLATFORM

101Kenny ColemanDeveloper Advocate@kendrickcoleman

Director, Developer Relations@ManoMarks

Mano Marks

3© Copyright 2016 EMC Corporation. All rights reserved.

BACKLOG

DOCKER

• Why change?• Brief History• What is it?• Who cares?• Containers vs VMs• Today’s Stats• Ecosystem

DOCKER PLATFORM

• Docker Engine• Docker Hub• Docker Compose• Docker Swarm• Docker Machine• Docker Toolbox• Docker Trusted Registry• Docker Cloud

5© Copyright 2016 EMC Corporation. All rights reserved. 5© Copyright 2016 EMC Corporation. All rights reserved.

Loosely Coupled Services

Many Small Servers

~2000 Today

Monolithic

Big Servers

Slow changing

Rapidly updated

APPLICATIONS ARE CHANGING

6© Copyright 2016 EMC Corporation. All rights reserved. 6© Copyright 2016 EMC Corporation. All rights reserved.

The challenge: new matrix from hell

Virtual machines

Server Public Cloud

Disaster Recovery

Developer Laptop

Server Cluster

Data Center

Static Website

Web Front EndBackground Workers

User DB

Analytics DB

Queue API Endpoint

Development Test & QA Production Scale Out

8© Copyright 2016 EMC Corporation. All rights reserved.

2013…ENTER THE DOCKER CONTAINER

• Packages up software binaries and dependencies• Isolates software from each other • Container is a standard format• Easily portable across environment• Allows ecosystem to develop around its standard

9© Copyright 2016 EMC Corporation. All rights reserved. 9© Copyright 2016 EMC Corporation. All rights reserved.

Static Website

Web Front End

Background Workers

User DB Analytics DB

QueueAPI Endpoint

Any App Anywhere

Composable

Dynamic Portable

ELIMINATING THE MATRIX

10© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER BASICSDocker ImageThe basis of a Docker container

Docker ContainerThe standard unit in which the application service resides

Docker Engine Creates, ships and runs Docker containers deployable on physical or virtual host locally, in a datacenter or cloud service providerDocker Registry/HubOn-premises registry or Docker Hub for image storing and collaboration

11© Copyright 2016 EMC Corporation. All rights reserved.

DEMO!

12© Copyright 2016 EMC Corporation. All rights reserved.

docker run –d –-name webserver –p 5000:80 nginx Docker Hub############################################################FROM debian:jessie

MAINTAINER NGINX Docker Maintainers "docker-maint@nginx.com"

ENV NGINX_VERSION 1.9.15-1~jessie

RUN apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 \

&& echo "deb http://nginx.org/packages/mainline/debian/ jessie nginx" >> /etc/apt/sources.list \

&& apt-get update \&& apt-get install --no-install-

recommends --no-install-suggests -y \

ca-certificates \

nginx=${NGINX_VERSION} \

nginx-module-xslt \

nginx-module-geoip \

nginx-module-image-filter \

nginx-module-perl \

nginx-module-njs \

gettext-base \&& rm -rf /var/lib/apt/lists/*

# forward request and error logs to docker log collectorRUN ln -sf /dev/stdout /var/log/nginx/access.log \

&& ln -sf /dev/stderr /var/log/nginx/error.log

EXPOSE 80 443

CMD ["nginx", "-g", "daemon off;"]

Dockerfile

WHAT JUST HAPPENED?

13© Copyright 2016 EMC Corporation. All rights reserved.

• Clean and portable runtime environment

• No missing dependencies during deployments

• Run each app in its own isolated container,

• Automate testing, integration, packaging

• Eliminate concerns about compatibility on different platforms

• A VM without the overhead of a VM

DEV - Build once, run anywhere

WHO CARES?

• Lifecycle is efficient, consistent, and repeatable

• Increase the quality of code produced by developers

• Eliminate inconsistencies between environments

• Support segregation of duties• Improves speed and reliability of

CI/CD systems• Eliminates overhead issues normally

associated with VMs

OPS - Configure once, run anything

16© Copyright 2016 EMC Corporation. All rights reserved.

CONTAINERS VS VIRTUAL MACHINES

18© Copyright 2016 EMC Corporation. All rights reserved.

Open Source Project

• 2000+ contributors• 40K+ GitHub stars• 200K+ Dockerized apps• 240 Meetups in 70 countries• 95K Meetup members• 2B+ Docker Image Downloads

Containers as a Service provider• Integrated platform for dev and IT• Commercial technical support

Docker project sponsor• Primary sponsor of Docker project• Supports project maintainers

The Docker Project Docker Inc

DOCKER IN 2016

19© Copyright 2016 EMC Corporation. All rights reserved. 19© Copyright 2016 EMC Corporation. All rights reserved.

Dev Tools

Official Repositories

Operating Systems

Big Data

Service Discovery

Build / Continuous Integration

Configuration ManagementConsulting &Training

Management

Storage

Clustering & Scheduling

Networking

Infrastructure & Service Providers

Security

Monitoring & Logging

THE DOCKER ECOSYSTEM

20© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER ENGINE + EMC

• Stateless -> Stateful transition• Multi-Platform Storage Management

integrated with Docker, Mesos, Marathon & Kubernetes

• OSS• https://github.com/emccode/rexray

21© Copyright 2016 EMC Corporation. All rights reserved.

DEMO!!

22© Copyright 2016 EMC Corporation. All rights reserved.

TO-DO

DOCKER

• Why change?• Brief History• What is it?• Who cares?• Containers vs VMs• Today’s Stats• Ecosystem

DOCKER PLATFORM

• Docker Engine• Docker Hub• Docker Compose• Docker Machine• Docker Swarm• Docker Toolbox• Docker Trusted Registry• Docker Cloud

23© Copyright 2016 EMC Corporation. All rights reserved.

• Distributed applications consist of many small applications that work together.

• Instead of having to build, run and manage each individual container, Docker Compose allows you to define your multi-container application with all of its dependencies in a single file, then spin your application up in a single command.

• Your application’s structure and configuration are held in a single place, which makes spinning up applications simple and repeatable everywhere.

DOCKER COMPOSE

24© Copyright 2016 EMC Corporation. All rights reserved.

DEMO!!!

25© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER MACHINE• a tool to simplify the automatic

creation and configuration of Docker-enabled machines, whether they are VMs running locally in Virtualbox or on a cloud provider such as Amazon Web Services.

• Management of hosts like upgrading, stops, starts, & ssh

26© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER MACHINE + RACKHD• https://github.com/emccode/docker-machine-rackhd

27© Copyright 2016 EMC Corporation. All rights reserved.

DEMO!!!!!

28© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER SWARM• Provides native clustering

capabilities to turn a group of Docker engines into a single, virtual Docker Engine.

• Scale out your application as if it were running on a single, huge computer

29© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER SWARM + EMC

• Storage Scheduler for Container Schedulers• OSS• https://github.com/emccode/polly

30© Copyright 2016 EMC Corporation. All rights reserved.

DEMO!!!!

31© Copyright 2016 EMC Corporation. All rights reserved.

• Get up and running with one package

– Engine– Compose– Machine– Kitematic

DOCKER TOOLBOX

32© Copyright 2016 EMC Corporation. All rights reserved.

DOCKER FOR WINDOWS/MAC BETAhttps://beta.docker.com/

33© Copyright 2016 EMC Corporation. All rights reserved.

• Store and manage your Docker images on-premise or in your virtual private cloud to support security or regulatory compliance requirements.

• Integrate to storage (EMC ECS, EMC Isilon) and authenticate to your Active Directory / LDAP services

DOCKER TRUSTED REGISTRY

34© Copyright 2016 EMC Corporation. All rights reserved.

• Verify the publisher of Docker images. • Before a publisher pushes an image to

a remote registry, Docker Engine signs the image locally with the publisher’s private key. When you later pull this image, Docker Engine uses the publisher’s public key to verify that the image you are about to run is exactly what the publisher created, has not been tampered with and is up to date.

DOCKER CONTENT TRUST

35© Copyright 2016 EMC Corporation. All rights reserved.

• A cloud service that allows development and IT operations teams to deploy and manage their Dockerized applications in production

• A graphical and dashboard driven user interface simplifies the administrative and management tasks of deploying, monitoring, scaling and managing Dockerized applications

DOCKER CLOUD

36© Copyright 2016 EMC Corporation. All rights reserved.

COMPLETED

DOCKER

• Why change?• Brief History• What is it?• Who cares?• Containers vs VMs• Today’s Stats• Ecosystem

DOCKER PLATFORM

• Docker Engine• Docker Hub• Docker Compose• Docker Swarm• Docker Machine• Docker Toolbox• Docker Trusted Registry• Docker Cloud

37© Copyright 2016 EMC Corporation. All rights reserved. 37© Copyright 2016 EMC Corporation. All rights reserved.

Source Code Management

CI / CD

Networking

Monitoring

Volumes

Service Discovery

Operating Systems

Content

Configuration Management

Infrastructure

Public Cloud Virtualization

Physical / Converged

Infrastructure

Logging

Storage

Toolbox

Management

Security

Orchestration

Container Runtime

Registry Service

DOCKER CAAS PLATFORM

38© Copyright 2016 EMC Corporation. All rights reserved.

DOCKERIZED EMC INTEGRATIONS/APPS

emccode.com

41© Copyright 2016 EMC Corporation. All rights reserved.

42© Copyright 2016 EMC Corporation. All rights reserved.

@kendrickcoleman@ManoMarks@EMCCode

emccode.comcommunity.emccode.com

Come visit us at Booth #1044 or in the vLab

Questions?

top related