SlideShare a Scribd company logo
There's More to Docker than the
Container
The Docker Platform
Fabio Chiodini
dotnext Team – Dell EMC
@FabioChiodini
github.com/kacole2 github.com/FabioChiodini
Kendrick Coleman
@KendrickColeman
{code} by Dell EMC
© Copyright 2017 Dell Inc.2
Open source at Dell EMC
– Contribute to meaningful OSS projects
– Create new thought leading OSS applications
– Drive awareness of OSS opportunities with Dell EMC
product teams
– Participate in relevant community engagement projects
– Act in the interest of building a community
{code} by Dell EMC is a group of passionate open
source engineers and advocates working to build a
community around software-based infrastructure.
Platinum Sponsor
© Copyright 2017 Dell Inc.3
© Copyright 2017 Dell Inc.4
© Copyright 2017 Dell Inc.5
Monolithic vs. Microservices
© Copyright 2017 Dell Inc.6
Applications Are Changing
Loosely
Coupled
Services
Many Small
Servers
~2000 Today
Monolithic
Big
Servers
Slow
changing
Rapidly
updated
© Copyright 2017 Dell Inc.7
Challenge: The 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
© Copyright 2017 Dell Inc.8
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
© Copyright 2017 Dell Inc.9
Eliminating The Matrix
Static
Website
Web
Front
End
Background
Workers
User DB Analytics DB
Queue
API
Endpoint
Any App Anywhere
Composable Dynamic Portable
© Copyright 2017 Dell Inc.10
Docker Image
The basis of a Docker container
Docker Container
The 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 provider
Docker Registry/Hub
On-premises registry or Docker Hub for image storing and collaboration
Docker Basics
DEMO
Docker basics
© Copyright 2017 Dell Inc.12
What Just Happened?
docker run –d –-name webserver –p 5000:80 nginx
Docker Hub
Dockerfile
############################################################
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 collector
RUN 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;"]
Github
© Copyright 2017 Dell Inc.13
Cui Prodest?
• Clean and portable runtime environment
• No missing dependencies during
deployments
• Run each app in its own isolated container
• Improves speed and reliability of CI/CD
systems
• Eliminates overhead issues normally
associated with VMs
DEV - Build once, run anywhere
• Universal Packaging
• Built-in orchestration
• Secure by default
• App centric networking and service
discovery
• Extensible architecture to work with 3rd
party integrations like storage and
networking with no code changes
OPS - Configure once, run anything
© Copyright 2017 Dell Inc.14
Containers “vs” VMs
App
A
App
A
App
A’
Guest
OS
Guest
OS
Guest
OS
Bins/
Libs
Bins/
Libs
App
A
Bins/
Libs
App
A
Original
app
Copy of
app
AppA’
V
M
s
C
O
N
T
A
I
N
E
R
S
Modified
app
Hypervisor
Infrastructure
Operating System
Infrastructure
Container Runtime
© Copyright 2017 Dell Inc.15
DOCKER != CONTAINERS
© Copyright 2017 Dell Inc.16
Docker =! Containers
Docker Engine
Linux
Container
Registry
 docker build …….
 docker push …….
 docker pull ………
 docker run ……...
Docker (Engine)
provides
application life
cycle capabilities
Containers provide a mechanism
to instantiate the code (shipped
as a docker image)
*Borrowed from@mreferre
© Copyright 2017 Dell Inc.17
DOCKER != DOCKER
© Copyright 2017 Dell Inc.18
3/2/17
https://news.ycombinator.com/item?id=13774295
© Copyright 2017 Dell Inc.19
CONTAINERD != DOCKER
© Copyright 2017 Dell Inc.20
CONTAINERD SUPPORTS THE
DOCKER PLATOFRM
© Copyright 2017 Dell Inc.21
DOCKER != CLOUD NATIVE
© Copyright 2017 Dell Inc.22
THE CLOUD NATIVE LANDSCAPE
*From Cloud Native Computing Foundation (CNCF)
© Copyright 2017 Dell Inc.23
Docker in 2017
Open Source Project*
• 2000 contributors
• 43K+ 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
Dockercon 2017
• Closed with 5500 attendees (4k in 2016)
The docker Project Docker Inc
*The original docker project is now under the name of Moby: https://github.com/moby/moby
© Copyright 2017 Dell Inc.24
CE vs EE
DOCKER COMMUNITY EDITION FEATURES
• The latest Docker version with integrated tooling to build, test and run
container apps
• Available for free with software maintenance for the latest shipping version
• Integrated and optimized for developer desktops, Linux servers and clouds
• Monthly Edge and quarterly Stable release channels available
• Native desktop or cloud provider experience for easy onboarding
• Unlimited public and one free private repo storage as a service *
• Automated builds as a service *
• Image scanning and continuous vulnerability monitoring as a service *
© Copyright 2017 Dell Inc.25
CE vs EE
DOCKER ENTERPRISE EDITION
FEATURES
• Certified Infrastructure provides an integrated
environment for enterprise Linux (CentOS, Oracle
Linux, RHEL, SLES, Ubuntu) Windows Server
2016 and Cloud providers like AWS and Azure
• Certified Containers provide trusted ISV products
packaged and distributed as Docker containers -
built with secure best practices cooperative support
• Certified Plugins provide networking and volume
plugins and easy to download and install
containers to the Docker EE environment.
• REX-Ray in the Docker Store!
© Copyright 2017 Dell Inc.26
Why Does Dell EMC Care?
• Databases
– Postgres, MongoDB, MySQL, MariaDB, Redis, Cassandra
• Search, Analytics, Messaging
– ElasticSearch, LogStash, Kafka, RabbitMQ
• Content Management
– Wordpress, Joomla, Drupal, SugarCRM
• Service Discovery
– Consul, Zookeeper, etcd
• Continuous Integration and Delivery
– Jenkins, GitLab, SonarQube, Selenium, Nexus
• Custom Applications
– That Java app your company built
Stateful and
persistent applications
© Copyright 2017 Dell Inc.27
What's the problem?
• When I run a persistent
application in a container, where
does my data get stored?
– The container holds the data
directory and structure of the entire
application
– Optionally use local volumes
• Stateless applications work well
– nginx, httpd, kibana, haproxy,
memcached, solr, celery
$ docker run -v redisData:/data redis
redisData
/etc /var
/bin /opt
/data
© Copyright 2017 Dell Inc.28
What's the problem?
• Lose a container
– Lose the data
• Lose a server
– Lose the data
• Local data storage
– Failed hard drives or failed RAID
– Can not scale beyond the physical
limit of the server
/etc /var
/bin /opt
/data
© Copyright 2017 Dell Inc.29
Introducing REX-Ray
REX-Ray
The leading container storage
orchestration engine enabling
persistence for cloud native workloads
rexray.codedellemc.com
• Cloud Native Interoperability
• Open Source
• Enterprise Ready
– High Availability
– CLI Intuitiveness
– Effortless Deployment
– Architectural Choices
• Multi-Platform Storage Management
– Storage agnostic (block/file/object)
© Copyright 2017 Dell Inc.30
Solving the problem
• REX-Ray is installed and
configured on all hosts in the
cluster as a stateless service
• REX-Ray acts as storage plug-in
and container engines re-direct
storage operations to REX-Ray
– Create/Mount/Unmount/Delete/Sna
pshot
$ docker run --volume-driver=rexray -v
redisData:/data redis
/redisData
/etc /var
/bin /opt
/data
© Copyright 2017 Dell Inc.31
Solving the problem
• Lose the container or lose the
server
– Data persists and remains intact on
the remote storage platform
/etc /var
/bin /opt
/redisData
© Copyright 2017 Dell Inc.32
Solving the problem
• Attach the volume to a new
container on a different host
– Equivalent of a hard reset.
Application starts and resumes from
the last write to disk
– Container schedulers can perform
automated failover
• Scalability
– Application data can scale to the
maximum supported by the storage
platform
/etc /var
/bin /opt
/data /redisData
DEMO
REX-Ray = Container Persistence
© Copyright 2017 Dell Inc.34
Docker For…
© Copyright 2017 Dell Inc.35
Introducing Docker
Infrakit
Declarative, Self-Healing Configuration
Common Infrastructure Experience
Declarative & Self-Healing Infrastructure
Groups
Cluster Configuration
Comprised of
Instances & Flavor
Combination
Instances
Logical Cluster
Instance. i.e. EC2
Image, Vagrant VM,
Physical Host
Flavors
Role & Healthcheck.
i.e. Zookeeper,
Swarm Node, etc.
Consistent User Experience for
Docker Everywhere
RackHD
What Makes RackHD Different?
DISCOVERY &
CATALOGING
TELEMETRY &
GENEALOGY
DEVICE
MANAGEMENT
CONFIGURATION PROVISIONING
FIRMWARE
MANAGEMENT
LOGGING ENVIRON-
MENTALS
FAULT
DETECTION
ANALYTICS DATA
RackHD Capabilities
© Copyright 2017 Dell Inc.40
Docker Infrakit + RackHD Process Flow
WORKFLOW API
MONGODB
RABBITMQ
DHCP
PXE/TFTP
SYSLOG
IPMI/OBM
RACKHD
INFRAKIT
GROUP
DOCKER INFRAKIT
INSTANCE
FLAVOR
https://github.com/codedellemc/infrakit.rackhd
© Copyright 2017 Dell Inc.41
How to get Started
1. PXE Boot Bare Metal
for Passive Discovery
2. Define a server SKU
3. Create a custom
workflow, if needed
Discover Hardware
1. Configure an Infrakit
Cluster Configuration
2. Run Infrakit
Provisioning
Provision Clusters
https://github.com/codedellemc/infrakit.rackhd
© Copyright 2017 Dell Inc.42
DOCKER SWARM (swarmkit)
• 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
DEMO
Docker Swarm
© Copyright 2017 Dell Inc.44
Learn More
• Cloud Native Training
– https://github.com/dotnext/training
• {code} Labs
– https://github.com/codedellemc/labs
• Join {code} Community
– community.codedellemc.com/
© Copyright 2017 Dell Inc.45
codedellemc.com
community.codedellemc.com
@codeDellEMC
blog.codedellemc.com
{code} by Dell EMC is a group of
passionate open source engineers and
advocates working to build a community
around software-based infrastructure.
rexray.codedellemc.com
github.com/codedellemc/labs
HOL01 Use REX-Ray & ScaleIO w/ Docker, Mesos and Kubernetes
Kendrick Coleman
@KendrickColeman
github.com/kacole2
Fabio Chiodini
@FabioChiodini
github.com/FabioChiodini
There's More to Docker than the Container: The Docker Platform - Kendrick Coleman - Dell EMC World 2017

More Related Content

PPT
Mesosphere and the Enterprise: Run Your Applications on Apache Mesos - Steve ...
PPTX
Storage Integrations for Container Orchestrators
PPTX
{code} and containers
PPTX
Deep Dive on REX-Ray, libStorage and the Container Storage Interface - Clinto...
PPTX
Data Analytics Using Container Persistence Through SMACK - Manny Rodriguez-Pe...
PPTX
The Open Source Effect on Dell EMC - Joshua Bernstein - Dell EMC World 2017
PPTX
Reduce Your Configuration Management Nightmare with Docker - Jonah Horowitz -...
PPTX
Kubernetes and ScaleIO demo - Clinton Kitson - Dell EMC World 2017
Mesosphere and the Enterprise: Run Your Applications on Apache Mesos - Steve ...
Storage Integrations for Container Orchestrators
{code} and containers
Deep Dive on REX-Ray, libStorage and the Container Storage Interface - Clinto...
Data Analytics Using Container Persistence Through SMACK - Manny Rodriguez-Pe...
The Open Source Effect on Dell EMC - Joshua Bernstein - Dell EMC World 2017
Reduce Your Configuration Management Nightmare with Docker - Jonah Horowitz -...
Kubernetes and ScaleIO demo - Clinton Kitson - Dell EMC World 2017

What's hot (20)

PPTX
Docker for Private Clouds with RackHD - Justin Kenney and Aaron Spiegel - Del...
PPTX
Deep Dive on Container Storage Architectures - Clinton Kitson and Chris Duche...
PPTX
Large Scale Cassandra Made Better in Containers - Chris Duchesne and Aaron Sp...
PPTX
Containers and their Ecosystem: An Introduction to Containers - Kendrick Cole...
PPTX
Managing ScaleIO as Software on Mesos - David vonThenen - Dell EMC World 2017
PPT
Google does containers: Hello Kubernetes - Steve Wong and Vladimir Vivien - D...
PPTX
Deep-Dive on Container Networking Architectures - Frans van Rooyen - Dell EMC...
PPTX
Leading an Open Source community at a large Enterprise - Jonas Rosland - Open...
PPTX
Managing ScaleIO as Software on Mesos
PDF
Containers and microservices for realists
PPTX
Considering Bare Metal
PPTX
Cloudy with a Chance of Databases
PDF
Machine learning services with SQL Server 2017
PDF
Build Robust Blockchain Services with Hyperledger and Containers
PPTX
Microsoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open Shift
PDF
DCEU 18: Edge Computing with Docker Enterprise
PDF
Red Hat OpenShift Container Platform Overview
PDF
Alibaba Cloud Conference 2016 - Docker Enterprise
PDF
Containers and Kubernetes
PPTX
High Performance Cloud-Native Microservices IndyCloudConf 2020
Docker for Private Clouds with RackHD - Justin Kenney and Aaron Spiegel - Del...
Deep Dive on Container Storage Architectures - Clinton Kitson and Chris Duche...
Large Scale Cassandra Made Better in Containers - Chris Duchesne and Aaron Sp...
Containers and their Ecosystem: An Introduction to Containers - Kendrick Cole...
Managing ScaleIO as Software on Mesos - David vonThenen - Dell EMC World 2017
Google does containers: Hello Kubernetes - Steve Wong and Vladimir Vivien - D...
Deep-Dive on Container Networking Architectures - Frans van Rooyen - Dell EMC...
Leading an Open Source community at a large Enterprise - Jonas Rosland - Open...
Managing ScaleIO as Software on Mesos
Containers and microservices for realists
Considering Bare Metal
Cloudy with a Chance of Databases
Machine learning services with SQL Server 2017
Build Robust Blockchain Services with Hyperledger and Containers
Microsoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open Shift
DCEU 18: Edge Computing with Docker Enterprise
Red Hat OpenShift Container Platform Overview
Alibaba Cloud Conference 2016 - Docker Enterprise
Containers and Kubernetes
High Performance Cloud-Native Microservices IndyCloudConf 2020
Ad

Similar to There's More to Docker than the Container: The Docker Platform - Kendrick Coleman - Dell EMC World 2017 (20)

PPTX
Real World Modern Development Use Cases with RackHD and Adobe
PDF
Implementing DevOps – How it came to the fore, its key elements and example d...
PDF
Docker Overview - Rise of the Containers
PPTX
The world of Docker and Kubernetes
 
PPTX
Docker EE 2.0 choice security agility by Erik Tan,Tech Insights Singapore - 2...
PPTX
Using MySQL Containers
PPTX
Webinar: End-to-End CI/CD with GitLab and DC/OS
PPTX
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
PPTX
The Rise of DataOps: Making Big Data Bite Size with DataOps
PPTX
Docker 101 describing basic docker usage
PPTX
ma-formation-en-Docker-jlklk,nknkjn.pptx
PPTX
Virtualization and Containers
PPTX
Docker Bday #5, SF Edition: Introduction to Docker
PPTX
Data platforms 2017
PDF
Dockers and kubernetes
PPTX
DockerCon SF 2015: Docker Community in China
PDF
Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...
PDF
Demystifying Containerization Principles for Data Scientists
PDF
Introduction to Docker - VIT Campus
PDF
Introduction to Docker - Vellore Institute of Technology
Real World Modern Development Use Cases with RackHD and Adobe
Implementing DevOps – How it came to the fore, its key elements and example d...
Docker Overview - Rise of the Containers
The world of Docker and Kubernetes
 
Docker EE 2.0 choice security agility by Erik Tan,Tech Insights Singapore - 2...
Using MySQL Containers
Webinar: End-to-End CI/CD with GitLab and DC/OS
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
The Rise of DataOps: Making Big Data Bite Size with DataOps
Docker 101 describing basic docker usage
ma-formation-en-Docker-jlklk,nknkjn.pptx
Virtualization and Containers
Docker Bday #5, SF Edition: Introduction to Docker
Data platforms 2017
Dockers and kubernetes
DockerCon SF 2015: Docker Community in China
Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...
Demystifying Containerization Principles for Data Scientists
Introduction to Docker - VIT Campus
Introduction to Docker - Vellore Institute of Technology
Ad

Recently uploaded (20)

PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Modernizing your data center with Dell and AMD
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Empathic Computing: Creating Shared Understanding
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
cuic standard and advanced reporting.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Approach and Philosophy of On baking technology
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
Network Security Unit 5.pdf for BCA BBA.
Dropbox Q2 2025 Financial Results & Investor Presentation
Modernizing your data center with Dell and AMD
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Empathic Computing: Creating Shared Understanding
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Understanding_Digital_Forensics_Presentation.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
cuic standard and advanced reporting.pdf
The AUB Centre for AI in Media Proposal.docx
Approach and Philosophy of On baking technology
Reach Out and Touch Someone: Haptics and Empathic Computing
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Spectral efficient network and resource selection model in 5G networks
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”

There's More to Docker than the Container: The Docker Platform - Kendrick Coleman - Dell EMC World 2017

  • 1. There's More to Docker than the Container The Docker Platform Fabio Chiodini dotnext Team – Dell EMC @FabioChiodini github.com/kacole2 github.com/FabioChiodini Kendrick Coleman @KendrickColeman {code} by Dell EMC
  • 2. © Copyright 2017 Dell Inc.2 Open source at Dell EMC – Contribute to meaningful OSS projects – Create new thought leading OSS applications – Drive awareness of OSS opportunities with Dell EMC product teams – Participate in relevant community engagement projects – Act in the interest of building a community {code} by Dell EMC is a group of passionate open source engineers and advocates working to build a community around software-based infrastructure. Platinum Sponsor
  • 3. © Copyright 2017 Dell Inc.3
  • 4. © Copyright 2017 Dell Inc.4
  • 5. © Copyright 2017 Dell Inc.5 Monolithic vs. Microservices
  • 6. © Copyright 2017 Dell Inc.6 Applications Are Changing Loosely Coupled Services Many Small Servers ~2000 Today Monolithic Big Servers Slow changing Rapidly updated
  • 7. © Copyright 2017 Dell Inc.7 Challenge: The 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 2017 Dell Inc.8 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 2017 Dell Inc.9 Eliminating The Matrix Static Website Web Front End Background Workers User DB Analytics DB Queue API Endpoint Any App Anywhere Composable Dynamic Portable
  • 10. © Copyright 2017 Dell Inc.10 Docker Image The basis of a Docker container Docker Container The 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 provider Docker Registry/Hub On-premises registry or Docker Hub for image storing and collaboration Docker Basics
  • 12. © Copyright 2017 Dell Inc.12 What Just Happened? docker run –d –-name webserver –p 5000:80 nginx Docker Hub Dockerfile ############################################################ 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 collector RUN 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;"] Github
  • 13. © Copyright 2017 Dell Inc.13 Cui Prodest? • Clean and portable runtime environment • No missing dependencies during deployments • Run each app in its own isolated container • Improves speed and reliability of CI/CD systems • Eliminates overhead issues normally associated with VMs DEV - Build once, run anywhere • Universal Packaging • Built-in orchestration • Secure by default • App centric networking and service discovery • Extensible architecture to work with 3rd party integrations like storage and networking with no code changes OPS - Configure once, run anything
  • 14. © Copyright 2017 Dell Inc.14 Containers “vs” VMs App A App A App A’ Guest OS Guest OS Guest OS Bins/ Libs Bins/ Libs App A Bins/ Libs App A Original app Copy of app AppA’ V M s C O N T A I N E R S Modified app Hypervisor Infrastructure Operating System Infrastructure Container Runtime
  • 15. © Copyright 2017 Dell Inc.15 DOCKER != CONTAINERS
  • 16. © Copyright 2017 Dell Inc.16 Docker =! Containers Docker Engine Linux Container Registry  docker build …….  docker push …….  docker pull ………  docker run ……... Docker (Engine) provides application life cycle capabilities Containers provide a mechanism to instantiate the code (shipped as a docker image) *Borrowed from@mreferre
  • 17. © Copyright 2017 Dell Inc.17 DOCKER != DOCKER
  • 18. © Copyright 2017 Dell Inc.18 3/2/17 https://news.ycombinator.com/item?id=13774295
  • 19. © Copyright 2017 Dell Inc.19 CONTAINERD != DOCKER
  • 20. © Copyright 2017 Dell Inc.20 CONTAINERD SUPPORTS THE DOCKER PLATOFRM
  • 21. © Copyright 2017 Dell Inc.21 DOCKER != CLOUD NATIVE
  • 22. © Copyright 2017 Dell Inc.22 THE CLOUD NATIVE LANDSCAPE *From Cloud Native Computing Foundation (CNCF)
  • 23. © Copyright 2017 Dell Inc.23 Docker in 2017 Open Source Project* • 2000 contributors • 43K+ 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 Dockercon 2017 • Closed with 5500 attendees (4k in 2016) The docker Project Docker Inc *The original docker project is now under the name of Moby: https://github.com/moby/moby
  • 24. © Copyright 2017 Dell Inc.24 CE vs EE DOCKER COMMUNITY EDITION FEATURES • The latest Docker version with integrated tooling to build, test and run container apps • Available for free with software maintenance for the latest shipping version • Integrated and optimized for developer desktops, Linux servers and clouds • Monthly Edge and quarterly Stable release channels available • Native desktop or cloud provider experience for easy onboarding • Unlimited public and one free private repo storage as a service * • Automated builds as a service * • Image scanning and continuous vulnerability monitoring as a service *
  • 25. © Copyright 2017 Dell Inc.25 CE vs EE DOCKER ENTERPRISE EDITION FEATURES • Certified Infrastructure provides an integrated environment for enterprise Linux (CentOS, Oracle Linux, RHEL, SLES, Ubuntu) Windows Server 2016 and Cloud providers like AWS and Azure • Certified Containers provide trusted ISV products packaged and distributed as Docker containers - built with secure best practices cooperative support • Certified Plugins provide networking and volume plugins and easy to download and install containers to the Docker EE environment. • REX-Ray in the Docker Store!
  • 26. © Copyright 2017 Dell Inc.26 Why Does Dell EMC Care? • Databases – Postgres, MongoDB, MySQL, MariaDB, Redis, Cassandra • Search, Analytics, Messaging – ElasticSearch, LogStash, Kafka, RabbitMQ • Content Management – Wordpress, Joomla, Drupal, SugarCRM • Service Discovery – Consul, Zookeeper, etcd • Continuous Integration and Delivery – Jenkins, GitLab, SonarQube, Selenium, Nexus • Custom Applications – That Java app your company built Stateful and persistent applications
  • 27. © Copyright 2017 Dell Inc.27 What's the problem? • When I run a persistent application in a container, where does my data get stored? – The container holds the data directory and structure of the entire application – Optionally use local volumes • Stateless applications work well – nginx, httpd, kibana, haproxy, memcached, solr, celery $ docker run -v redisData:/data redis redisData /etc /var /bin /opt /data
  • 28. © Copyright 2017 Dell Inc.28 What's the problem? • Lose a container – Lose the data • Lose a server – Lose the data • Local data storage – Failed hard drives or failed RAID – Can not scale beyond the physical limit of the server /etc /var /bin /opt /data
  • 29. © Copyright 2017 Dell Inc.29 Introducing REX-Ray REX-Ray The leading container storage orchestration engine enabling persistence for cloud native workloads rexray.codedellemc.com • Cloud Native Interoperability • Open Source • Enterprise Ready – High Availability – CLI Intuitiveness – Effortless Deployment – Architectural Choices • Multi-Platform Storage Management – Storage agnostic (block/file/object)
  • 30. © Copyright 2017 Dell Inc.30 Solving the problem • REX-Ray is installed and configured on all hosts in the cluster as a stateless service • REX-Ray acts as storage plug-in and container engines re-direct storage operations to REX-Ray – Create/Mount/Unmount/Delete/Sna pshot $ docker run --volume-driver=rexray -v redisData:/data redis /redisData /etc /var /bin /opt /data
  • 31. © Copyright 2017 Dell Inc.31 Solving the problem • Lose the container or lose the server – Data persists and remains intact on the remote storage platform /etc /var /bin /opt /redisData
  • 32. © Copyright 2017 Dell Inc.32 Solving the problem • Attach the volume to a new container on a different host – Equivalent of a hard reset. Application starts and resumes from the last write to disk – Container schedulers can perform automated failover • Scalability – Application data can scale to the maximum supported by the storage platform /etc /var /bin /opt /data /redisData
  • 34. © Copyright 2017 Dell Inc.34 Docker For…
  • 35. © Copyright 2017 Dell Inc.35
  • 36. Introducing Docker Infrakit Declarative, Self-Healing Configuration Common Infrastructure Experience
  • 37. Declarative & Self-Healing Infrastructure Groups Cluster Configuration Comprised of Instances & Flavor Combination Instances Logical Cluster Instance. i.e. EC2 Image, Vagrant VM, Physical Host Flavors Role & Healthcheck. i.e. Zookeeper, Swarm Node, etc.
  • 38. Consistent User Experience for Docker Everywhere RackHD
  • 39. What Makes RackHD Different? DISCOVERY & CATALOGING TELEMETRY & GENEALOGY DEVICE MANAGEMENT CONFIGURATION PROVISIONING FIRMWARE MANAGEMENT LOGGING ENVIRON- MENTALS FAULT DETECTION ANALYTICS DATA RackHD Capabilities
  • 40. © Copyright 2017 Dell Inc.40 Docker Infrakit + RackHD Process Flow WORKFLOW API MONGODB RABBITMQ DHCP PXE/TFTP SYSLOG IPMI/OBM RACKHD INFRAKIT GROUP DOCKER INFRAKIT INSTANCE FLAVOR https://github.com/codedellemc/infrakit.rackhd
  • 41. © Copyright 2017 Dell Inc.41 How to get Started 1. PXE Boot Bare Metal for Passive Discovery 2. Define a server SKU 3. Create a custom workflow, if needed Discover Hardware 1. Configure an Infrakit Cluster Configuration 2. Run Infrakit Provisioning Provision Clusters https://github.com/codedellemc/infrakit.rackhd
  • 42. © Copyright 2017 Dell Inc.42 DOCKER SWARM (swarmkit) • 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
  • 44. © Copyright 2017 Dell Inc.44 Learn More • Cloud Native Training – https://github.com/dotnext/training • {code} Labs – https://github.com/codedellemc/labs • Join {code} Community – community.codedellemc.com/
  • 45. © Copyright 2017 Dell Inc.45 codedellemc.com community.codedellemc.com @codeDellEMC blog.codedellemc.com {code} by Dell EMC is a group of passionate open source engineers and advocates working to build a community around software-based infrastructure. rexray.codedellemc.com github.com/codedellemc/labs HOL01 Use REX-Ray & ScaleIO w/ Docker, Mesos and Kubernetes Kendrick Coleman @KendrickColeman github.com/kacole2 Fabio Chiodini @FabioChiodini github.com/FabioChiodini

Editor's Notes

  • #3: Add talking points to each point OSS projects: Docker, Mesos, Kubernetes, Cloud Foundry
  • #4: Kenny Everyone is familiar with a 3-tier webapp right? Is this graphic making it feel a bit oldschool? I think this picture showing what I think is a blackberry or might be a palm pilot with some tablet that has a stylus gives us an idea of how old this is. Now they say…
  • #5: Kenny If you aren’t building your applications like this, you’re doing it wrong. Gotta have the microservices! There is an idea behind this though. The premonition of a microservice is: Instead of writing one large complex thing, write smaller simpler things, that do one thing well and compose them together
  • #6: Kenny But we all know this is what it really looks like.
  • #7: Kenny Applications are changing. Say bullet points from next slide on this slide
  • #8: Fabio Standard talking stuff
  • #9: Fabio Some history facts and numbers
  • #10: Fabio Docker helped in eliminating this matrix making the deployments more portable across the different options
  • #11: Fabio Which are the key components, why do they matter?
  • #12: Kenny
  • #13: Kenny
  • #14: Fabio So where’s the value for You as a Dev or as an Ops? Start with dev And Docker is not just for Devs but also for Operators like Me 
  • #15: Fabio Lot of talks around a “vs”: it is really not like that. Currently they serve different needs because they ARE different: let’s see HOW,
  • #16: Kenny
  • #17: Fabio A lot of peole equates Docker to Containers But Containers (Linux ones) existed long before Docker (engine), so what did Docker add to make their consumption easier? They added an engine, an easy way to consume to API (docker run anyone?) and a registry to store containers (MANY containers today)
  • #18: Kenny
  • #19: Kenny
  • #20: Kenny
  • #21: Kenny
  • #22: Kenny
  • #23: Fabio And we know that Cloud Native Applications landscape is > Docker There are many moving parts and the Docker platform is providing more and more functions but yet they do not cover the full spectrum depicted here. Docker has expanded in the M&O with Docker swarm, into networking, in registry services and application definition (Dockker Compose) and most recently into storage They also have a Platform (Docker Datacenter) available as a paid Product
  • #24: Fabio Updated with new Stats from DockerCon in April What is Moby? Work has been ongoing to break Docker into modular components for some time, with runc and containerd as examples. Containerd for example has been donated to the CNCF. We are now completing this work with the goal being that the monolithic docker repo eventually ceases to exist, instead being assembled from a set of components. Moby is a project which provides a “Lego set” of dozens of components, the framework for assembling them into custom container-based systems, and a place for all container enthusiasts to experiment and exchange ideas. Docker the product will be assembled from components that are packaged by the Moby project. The Moby project provides a command-line tool called moby which assembles components. Currently it assembles bootable OS images, but soon it will also be used by Docker for assembling Docker out of components, many of which will be independent projects. As the Docker Engine continues to be split up into more components the Moby project will also be the home for those components until a more appropriate location is found.
  • #25: Fabio And as Docker Inc =! Docker we have different flavors today
  • #26: Fabio So what’s the difference between the Community and Enterprise edition One thing they don’t tell you is a slower release cycle.... “because enterprise”
  • #27: Kenny
  • #28: Kenny In this example, our application is storing data in “/mydata”
  • #29: In this example, our application is storing data in “/mydata”
  • #30: Kenny
  • #35: Kenny
  • #36: Where the docker for my cloud?
  • #40: Discovery and Cataloging Discovers the compute, network, and storage resources and catalogs their attributes and capabilities. Telemetry and Genealogy Telemetry data includes genealogical details, such as hardware, revisions, serial numbers, and date of manufacture Device Management Powers devices on and off. Manages the firmware, power, OS installation, and base configuration of the resources. Configuration Configures the hardware per application requirements. This can range from the BIOS configuration on compute devices to the port configurations in a network switch. Provisioning Provisions a node to support the intended application workflow, for example lays down ESXi from an image repository. Re-provisions a node to support a different workload, for example changes the ESXi platform to Bare Metal CentOS. Firmware Management Manages all infrastructure firmware versioning. Logging Log information can be retrieved for particular elements or collated into a single timeline for multiple elements within the management neighborhood. Environmental Monitoring Aggregates environmental data from hardware resources. The data to monitor is configurable and can include power information, component status, fan performance, and other information provided by the resource. Fault Detection Monitors compute and storage devices for both hard and soft faults. Performs suitable responses based on pre-defined policies. Analytics Data Data generated by environmental and fault monitoring can be provided to analytic tools for analysis, particularly around predictive failure.
  • #42: Place holder to edit and describe infrakit interaction
  • #43: Fabio Docker swarm (old and new), briefly mention incompatibilities and the debate around including that in the “engine”
  • #44: Fabio or Kenny
  • #45: Fabio
  • #46: First, a few things about the team that has made this possible. The Dell EMC {code} team is a team made up of open source software engineers and developer advocates, focused on making EMC a well-known name within the open source community. We will focus on one of their projects, REX-Ray, in this presentation.