SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
© 2015 Nebulaworks, Inc., All rights reserved.
DOCKER:
THE ANYWHERE FRAMEWORK
Chris Ciborowski
September, 22 2015
© 2015 Nebulaworks, Inc., All rights reserved.
A BIT ABOUT @CHRISCIBOROWSKI
§  Founder & Managing Partner at Nebulaworks
̶  Technology & Engineering
§  Been working with UNIX my entire career
̶  Solaris and Linux, automation
̶  Open source supporter
§  Large-scale enterprise challenges are my thing
̶  DevOps, scale, performance
2
© 2015 Nebulaworks, Inc., All rights reserved.
A BIT ABOUT NEBULAWORKS
§  We are a new breed of SI
̶  Delivering your code at Speed, Frequency, and Scale
̶  Application Logistics
§  Application Delivery
§  Process Optimization
§  Innovation Support
§  Specializing In:
̶  Containerized Application Delivery (Docker, Kubernetes, Mesos)
̶  DevOps Enablement (CI/CD, workflows)
§  Docker Authorized Consulting & Training Partner
3
© 2015 Nebulaworks, Inc., All rights reserved.
AGENDA
§  Today’s challenges, how does Docker help?
§  Docker, the platform
§  DevOps workflows & challenges
§  Containers in production
§  Extended technology ecosystem
4
© 2015 Nebulaworks, Inc., All rights reserved.
TODAY’S CHALLENGES
§  Time to provision (TTP) apps
§  Many languages and dependencies
§  Monolithic stacks
§  Managing software artifacts
§  Low levels of standardization
5
© 2015 Nebulaworks, Inc., All rights reserved.
How Does
Docker Help?
6
© 2015 Nebulaworks, Inc., All rights reserved.
DEPLOY ANYTHING
§  Web apps
§  Backends
§  SQL, NoSQL
§  Big data
§  Message queues
§  … and more
7
© 2015 Nebulaworks, Inc., All rights reserved.
DEPLOY EVERYWHERE
§  Linux servers
§  VMs or bare metal
§  Any distro
§  Public clouds
8
© 2015 Nebulaworks, Inc., All rights reserved.
DEPLOY RELIABLY & CONSISTENTLY
§  If it works locally, it will work on the server
§  With exactly the same behavior
§  Regardless of versions
§  Regardless of distros
§  Regardless of dependencies
9
© 2015 Nebulaworks, Inc., All rights reserved.
HOW?
§  Portable artifacts (images)
§  Platform agnostic
§  Consistent environments
§  Immutable infrastructure
§  No HCL J
10
© 2015 Nebulaworks, Inc., All rights reserved.
DOCKER, THE PLATFORM
§  Docker Images
§  Docker Engine
§  Docker Hub/Trusted Registry
§  Docker Swarm
§  Docker Machine
§  Docker Compose
§  Docker Toolbox
11
© 2015 Nebulaworks, Inc., All rights reserved.
HIGH LEVEL VIEW: IT IS A LIGHTWEIGHT VM
§  Own process space
§  Own network interface
§  Can run stuff as root
§  Can have its own /sbin/init (different from the host)
Call it a “machine container”
12
© 2015 Nebulaworks, Inc., All rights reserved.
LOW LEVEL VIEW: IT IS CHROOT ON STEROIDS
§  Can also not have its own /sbin/init
§  Container = isolated process(es)
§  Share kernel with host
§  No device emulation (neither HVM nor PV)
Call it an “application container”
13
© 2015 Nebulaworks, Inc., All rights reserved.
COMPARING VM TO CONTAINER
14
© 2015 Nebulaworks, Inc., All rights reserved.
Different namespaces, different “views” of the Kernel
15
HOW DOES IT WORK?
NAMESPACE ISOLATION
Namespace Function
Mount (mnt) Mount points
UTS Hostname
IPC Interprocess communication
PID Processes in different PID namespaces can have same PID
Network (net) Network devices, IP addresses, routing tables, iptables entries
User Root privileges for operations inside a user namespace but unprivileged
outside the namespace. Not all FS are user namespace aware
© 2015 Nebulaworks, Inc., All rights reserved.
Virtual groupings, limits, priority, accounting
16
§  memory
§  cpu
§  blkio
§  devices
HOW DOES IT WORK?
CONTROL GROUPS
© 2015 Nebulaworks, Inc., All rights reserved.
Let’s Talk
Workflows
17
© 2015 Nebulaworks, Inc., All rights reserved.
NEW WAY TO DEVELOP APPS
18
© 2015 Nebulaworks, Inc., All rights reserved.
DEVOPS WORKFLOW
19
© 2015 Nebulaworks, Inc., All rights reserved.
DOCKER DEVELOPER EXAMPLE
20
© 2015 Nebulaworks, Inc., All rights reserved.
WORKFLOW SUMMARY 1/2
§  Work in dev environment (local machine or container)
§  Package dependencies with app code
§  Other services (databases etc.) in containers (and behave just
like the real thing!)
§  Whenever you want to test « for real »:
§  Build in seconds
§  Run instantly
21
© 2015 Nebulaworks, Inc., All rights reserved.
WORKFLOW SUMMARY 2/2
§  Satisfied with your local build?
̶  Push it to a registry (public or private)
̶  Run it (automatically!) in CI/CD
̶  Run it in production
̶  Canary and/or blue/green deployments
̶  Happiness!
§  Something goes wrong? Rollback painlessly!
22
© 2015 Nebulaworks, Inc., All rights reserved.
ADDRESSING DEVOPS CHALLENGES
§  Picking the right model (application centric, workflow centric)
§  Escalation
§  Authoritative repos
§  Configuration and secrets
23
© 2015 Nebulaworks, Inc., All rights reserved.
What About
Production?
24
© 2015 Nebulaworks, Inc., All rights reserved.
NOT QUITE AS EASY AS DEV
§  Understand current to target environment deltas
§  Stack correlation: Logging and monitoring
§  Knowledge of distributed platforms and tooling
§  DevOps workflow centric model FTW
̶  If not, TechOps with strong dev experience
25
© 2015 Nebulaworks, Inc., All rights reserved.
EXAMPLE CONTAINER WORKFLOW
26
Consul Consul-template
/etc/consul-template/haproxy.ctmpl /etc/haproxy/haproxy.cfg
Docker Engine CS
Docker Swarm ManagerDocker Trusted Registry
HAProxy
Registrator
$ docker push $ docker run
TLS Secured TCP:443 TLS Secured TCP:2376
Docker UNIX Socket TCP:8500
TCP:8500
Client Operations
Docker Host Operations
© 2015 Nebulaworks, Inc., All rights reserved.
MANY ITEMS TO CONSIDER
§  Choosing a cluster/scheduler
§  How do you handle networking?
§  Providing secrets, securely
§  Persistent storage
27
© 2015 Nebulaworks, Inc., All rights reserved.
EXTENDED TECHNOLOGY ECOSYSTEM
28
© 2015 Nebulaworks, Inc., All rights reserved.
We’re available to help with your projects
29
§  chris@nebulaworks.com
§  949-584-7589
§  www.nebulaworks.com
§  @nebulaworks
THANKS FOR LISTENING!
© 2015 Nebulaworks, Inc., All rights reserved.
© 2015 Nebulaworks, Inc., All rights reserved.
DOCKER ENGINE
§  Open Source engine to commoditize LXC
§  Uses copy-on-write for quick provisioning
§  Written in Go, runs as a daemon, comes with a CLI
§  Everything exposed through a REST API
§  Allows to build images in standard, reproducible way
§  Allows to share images through registries
§  Defines standard format for containers (stack of layers; 1 layer =
tarball+metadata)
31
© 2015 Nebulaworks, Inc., All rights reserved.
Collection of services to make Docker more useful
32
§  Public registry (push/pull your images for free)
§  Private registry (push/pull secret images for $)
§  Automated builds (link github/bitbucket repo; trigger build on
commit)
DOCKER HUB / DOCKER TRUSTED REGISTRY
© 2015 Nebulaworks, Inc., All rights reserved.
DOCKER SWARM
§  Native clustering for Docker.
̶  It turns a pool of Docker hosts into a single, virtual host
§  Serves the standard Docker API
̶  Any tool which communicates with a Docker daemon can be used
transparently: Dokku, Compose, Krane, Flynn, Deis, DockerUI,
Shipyard, Drone, Jenkins... and, of course, the Docker client itself
§  Follows "batteries included but removable" principle
̶  Ships with a simple scheduling backend, API will develop to enable
pluggable backends like Mesos
33
© 2015 Nebulaworks, Inc., All rights reserved.
DOCKER SWARM
$ docker-machine create –driver virtualbox dev
$ docker-machine create -d virtualbox --swarm --swarm-
master --swarm-discovery token://
14699b753350745b3e59fa985925d193 swarm-master
$ docker-machine create -d virtualbox --swarm --swarm-
discovery token://14699b753350745b3e59fa985925d193
swarm-node-00
$ $(docker-machine env --swarm swarm-master)
Demo!
https://asciinema.org/a/17908
34
© 2015 Nebulaworks, Inc., All rights reserved.
DOCKER MACHINE
§  Easily create Docker hosts on your computer, on cloud providers
and inside your own data center
§  It creates servers, installs Docker on them, then configures the
Docker client to talk to them
§  Once your Docker host has been created, it then has a number of
commands for managing them:
̶  Starting, stopping, restarting
̶  Upgrading Docker
̶  Configuring the Docker client to talk to your host
35
© 2015 Nebulaworks, Inc., All rights reserved.
DOCKER MACHINE
$ docker-machine create –driver virtualbox test
$ docker-machine ls
$ $(docker-machine env test)
Demo!
https://asciinema.org/a/17907
36
© 2015 Nebulaworks, Inc., All rights reserved.
DOCKER COMPOSE
§  Describe your stack with one file: docker-compose.yml
§  Run your stack with one command: docker-compose up
§  Example: run an app with key/value datastore
̶  Python app
̶  Redis
37
© 2015 Nebulaworks, Inc., All rights reserved.
DOCKER COMPOSE
$ docker-compose up
J
Demo!
https://asciinema.org/a/17909
38
© 2015 Nebulaworks, Inc., All rights reserved.
With Docker I can:
39
§  Put my software in containers
§  Run those containers anywhere
§  Create workflows to automatically build containers
§  Easily setup Docker hosts with Machine
§  Use Compose to effortlessly start stacks of containers
§  Run containers on multiple hosts
IN SUMMARY!

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

The age of orchestration: from Docker basics to cluster management
The age of orchestration: from Docker basics to cluster managementThe age of orchestration: from Docker basics to cluster management
The age of orchestration: from Docker basics to cluster management
 
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) ItalyClustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
 
What's New in Docker 1.12?
What's New in Docker 1.12?What's New in Docker 1.12?
What's New in Docker 1.12?
 
Container Orchestration with Docker Swarm
Container Orchestration with Docker SwarmContainer Orchestration with Docker Swarm
Container Orchestration with Docker Swarm
 
Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker Swarm 0.2.0
Docker Swarm 0.2.0
 
virtualization-vs-containerization-paas
virtualization-vs-containerization-paasvirtualization-vs-containerization-paas
virtualization-vs-containerization-paas
 
Docker and stuff
Docker and stuffDocker and stuff
Docker and stuff
 
Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22
Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22
Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22
 
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea LuzzardiWhat's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
 
Comprehensive Monitoring for Docker
Comprehensive Monitoring for DockerComprehensive Monitoring for Docker
Comprehensive Monitoring for Docker
 
How we dockerized a startup? #meetup #docker
How we dockerized a startup? #meetup #docker How we dockerized a startup? #meetup #docker
How we dockerized a startup? #meetup #docker
 
Wanting distributed volumes - Experiences with ceph-docker
Wanting distributed volumes - Experiences with ceph-dockerWanting distributed volumes - Experiences with ceph-docker
Wanting distributed volumes - Experiences with ceph-docker
 
Swarm - A Docker Clustering System
Swarm - A Docker Clustering SystemSwarm - A Docker Clustering System
Swarm - A Docker Clustering System
 
Docker swarm introduction
Docker swarm introductionDocker swarm introduction
Docker swarm introduction
 
Introction to docker swarm
Introction to docker swarmIntroction to docker swarm
Introction to docker swarm
 
Monitoring Dell Infrastructure using Docker & Microservices
Monitoring Dell Infrastructure using Docker & MicroservicesMonitoring Dell Infrastructure using Docker & Microservices
Monitoring Dell Infrastructure using Docker & Microservices
 
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
 
Demystifying puppet
Demystifying puppetDemystifying puppet
Demystifying puppet
 
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
 
Cloudfoundry Overview
Cloudfoundry OverviewCloudfoundry Overview
Cloudfoundry Overview
 

Andere mochten auch

Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
Docker, Inc.
 

Andere mochten auch (11)

Hide your development environment and application in a container
Hide your development environment and application in a containerHide your development environment and application in a container
Hide your development environment and application in a container
 
Introducing Docker Swarm - the orchestration tool by Docker
Introducing Docker Swarm - the orchestration tool by DockerIntroducing Docker Swarm - the orchestration tool by Docker
Introducing Docker Swarm - the orchestration tool by Docker
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
 
Deploying WSO2 Middleware on Kubernetes
Deploying WSO2 Middleware on KubernetesDeploying WSO2 Middleware on Kubernetes
Deploying WSO2 Middleware on Kubernetes
 
Kubernetes on Top of Mesos on Top of DCOS
Kubernetes on Top of Mesos on Top of DCOSKubernetes on Top of Mesos on Top of DCOS
Kubernetes on Top of Mesos on Top of DCOS
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...
 
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
 
Orchestrating Docker containers at scale
Orchestrating Docker containers at scaleOrchestrating Docker containers at scale
Orchestrating Docker containers at scale
 
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
 

Ähnlich wie Nebulaworks Docker Overview 09-22-2015

Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)
Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)
Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)
Erica Windisch
 

Ähnlich wie Nebulaworks Docker Overview 09-22-2015 (20)

CA Performance Manager Agility by using Docker Containers for Network Manag...
CA Performance Manager Agility by using Docker Containers for Network Manag...CA Performance Manager Agility by using Docker Containers for Network Manag...
CA Performance Manager Agility by using Docker Containers for Network Manag...
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containers
 
Cicd.pdf
Cicd.pdfCicd.pdf
Cicd.pdf
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
 
Rapid Application Development in the Cloud and On-Premises with Docker
Rapid Application Development in the Cloud and On-Premises with DockerRapid Application Development in the Cloud and On-Premises with Docker
Rapid Application Development in the Cloud and On-Premises with Docker
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Developing Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/KubernetesDeveloping Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/Kubernetes
 
Alles Docker oder Was ?
Alles Docker oder Was ?Alles Docker oder Was ?
Alles Docker oder Was ?
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of docker
 
Experts Live Europe 2017 - Why you should care about Docker - an introduction
Experts Live Europe 2017 - Why you should care about Docker - an introductionExperts Live Europe 2017 - Why you should care about Docker - an introduction
Experts Live Europe 2017 - Why you should care about Docker - an introduction
 
MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...
MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...
MuleSoft Surat Virtual Meetup#35 - Setting up MuleSoft Runtime and Anypoint C...
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
EMC World 2016 - code.09 Introduction to the Docker Platform
EMC World 2016 - code.09 Introduction to the Docker PlatformEMC World 2016 - code.09 Introduction to the Docker Platform
EMC World 2016 - code.09 Introduction to the Docker Platform
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
 
Galera on kubernetes_no_video
Galera on kubernetes_no_videoGalera on kubernetes_no_video
Galera on kubernetes_no_video
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
 
01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinar01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinar
 
COP_RoR_QuArrk_Session_Oct_2022.pptx
COP_RoR_QuArrk_Session_Oct_2022.pptxCOP_RoR_QuArrk_Session_Oct_2022.pptx
COP_RoR_QuArrk_Session_Oct_2022.pptx
 
Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)
Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)
Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

Nebulaworks Docker Overview 09-22-2015

  • 1. © 2015 Nebulaworks, Inc., All rights reserved. DOCKER: THE ANYWHERE FRAMEWORK Chris Ciborowski September, 22 2015
  • 2. © 2015 Nebulaworks, Inc., All rights reserved. A BIT ABOUT @CHRISCIBOROWSKI §  Founder & Managing Partner at Nebulaworks ̶  Technology & Engineering §  Been working with UNIX my entire career ̶  Solaris and Linux, automation ̶  Open source supporter §  Large-scale enterprise challenges are my thing ̶  DevOps, scale, performance 2
  • 3. © 2015 Nebulaworks, Inc., All rights reserved. A BIT ABOUT NEBULAWORKS §  We are a new breed of SI ̶  Delivering your code at Speed, Frequency, and Scale ̶  Application Logistics §  Application Delivery §  Process Optimization §  Innovation Support §  Specializing In: ̶  Containerized Application Delivery (Docker, Kubernetes, Mesos) ̶  DevOps Enablement (CI/CD, workflows) §  Docker Authorized Consulting & Training Partner 3
  • 4. © 2015 Nebulaworks, Inc., All rights reserved. AGENDA §  Today’s challenges, how does Docker help? §  Docker, the platform §  DevOps workflows & challenges §  Containers in production §  Extended technology ecosystem 4
  • 5. © 2015 Nebulaworks, Inc., All rights reserved. TODAY’S CHALLENGES §  Time to provision (TTP) apps §  Many languages and dependencies §  Monolithic stacks §  Managing software artifacts §  Low levels of standardization 5
  • 6. © 2015 Nebulaworks, Inc., All rights reserved. How Does Docker Help? 6
  • 7. © 2015 Nebulaworks, Inc., All rights reserved. DEPLOY ANYTHING §  Web apps §  Backends §  SQL, NoSQL §  Big data §  Message queues §  … and more 7
  • 8. © 2015 Nebulaworks, Inc., All rights reserved. DEPLOY EVERYWHERE §  Linux servers §  VMs or bare metal §  Any distro §  Public clouds 8
  • 9. © 2015 Nebulaworks, Inc., All rights reserved. DEPLOY RELIABLY & CONSISTENTLY §  If it works locally, it will work on the server §  With exactly the same behavior §  Regardless of versions §  Regardless of distros §  Regardless of dependencies 9
  • 10. © 2015 Nebulaworks, Inc., All rights reserved. HOW? §  Portable artifacts (images) §  Platform agnostic §  Consistent environments §  Immutable infrastructure §  No HCL J 10
  • 11. © 2015 Nebulaworks, Inc., All rights reserved. DOCKER, THE PLATFORM §  Docker Images §  Docker Engine §  Docker Hub/Trusted Registry §  Docker Swarm §  Docker Machine §  Docker Compose §  Docker Toolbox 11
  • 12. © 2015 Nebulaworks, Inc., All rights reserved. HIGH LEVEL VIEW: IT IS A LIGHTWEIGHT VM §  Own process space §  Own network interface §  Can run stuff as root §  Can have its own /sbin/init (different from the host) Call it a “machine container” 12
  • 13. © 2015 Nebulaworks, Inc., All rights reserved. LOW LEVEL VIEW: IT IS CHROOT ON STEROIDS §  Can also not have its own /sbin/init §  Container = isolated process(es) §  Share kernel with host §  No device emulation (neither HVM nor PV) Call it an “application container” 13
  • 14. © 2015 Nebulaworks, Inc., All rights reserved. COMPARING VM TO CONTAINER 14
  • 15. © 2015 Nebulaworks, Inc., All rights reserved. Different namespaces, different “views” of the Kernel 15 HOW DOES IT WORK? NAMESPACE ISOLATION Namespace Function Mount (mnt) Mount points UTS Hostname IPC Interprocess communication PID Processes in different PID namespaces can have same PID Network (net) Network devices, IP addresses, routing tables, iptables entries User Root privileges for operations inside a user namespace but unprivileged outside the namespace. Not all FS are user namespace aware
  • 16. © 2015 Nebulaworks, Inc., All rights reserved. Virtual groupings, limits, priority, accounting 16 §  memory §  cpu §  blkio §  devices HOW DOES IT WORK? CONTROL GROUPS
  • 17. © 2015 Nebulaworks, Inc., All rights reserved. Let’s Talk Workflows 17
  • 18. © 2015 Nebulaworks, Inc., All rights reserved. NEW WAY TO DEVELOP APPS 18
  • 19. © 2015 Nebulaworks, Inc., All rights reserved. DEVOPS WORKFLOW 19
  • 20. © 2015 Nebulaworks, Inc., All rights reserved. DOCKER DEVELOPER EXAMPLE 20
  • 21. © 2015 Nebulaworks, Inc., All rights reserved. WORKFLOW SUMMARY 1/2 §  Work in dev environment (local machine or container) §  Package dependencies with app code §  Other services (databases etc.) in containers (and behave just like the real thing!) §  Whenever you want to test « for real »: §  Build in seconds §  Run instantly 21
  • 22. © 2015 Nebulaworks, Inc., All rights reserved. WORKFLOW SUMMARY 2/2 §  Satisfied with your local build? ̶  Push it to a registry (public or private) ̶  Run it (automatically!) in CI/CD ̶  Run it in production ̶  Canary and/or blue/green deployments ̶  Happiness! §  Something goes wrong? Rollback painlessly! 22
  • 23. © 2015 Nebulaworks, Inc., All rights reserved. ADDRESSING DEVOPS CHALLENGES §  Picking the right model (application centric, workflow centric) §  Escalation §  Authoritative repos §  Configuration and secrets 23
  • 24. © 2015 Nebulaworks, Inc., All rights reserved. What About Production? 24
  • 25. © 2015 Nebulaworks, Inc., All rights reserved. NOT QUITE AS EASY AS DEV §  Understand current to target environment deltas §  Stack correlation: Logging and monitoring §  Knowledge of distributed platforms and tooling §  DevOps workflow centric model FTW ̶  If not, TechOps with strong dev experience 25
  • 26. © 2015 Nebulaworks, Inc., All rights reserved. EXAMPLE CONTAINER WORKFLOW 26 Consul Consul-template /etc/consul-template/haproxy.ctmpl /etc/haproxy/haproxy.cfg Docker Engine CS Docker Swarm ManagerDocker Trusted Registry HAProxy Registrator $ docker push $ docker run TLS Secured TCP:443 TLS Secured TCP:2376 Docker UNIX Socket TCP:8500 TCP:8500 Client Operations Docker Host Operations
  • 27. © 2015 Nebulaworks, Inc., All rights reserved. MANY ITEMS TO CONSIDER §  Choosing a cluster/scheduler §  How do you handle networking? §  Providing secrets, securely §  Persistent storage 27
  • 28. © 2015 Nebulaworks, Inc., All rights reserved. EXTENDED TECHNOLOGY ECOSYSTEM 28
  • 29. © 2015 Nebulaworks, Inc., All rights reserved. We’re available to help with your projects 29 §  chris@nebulaworks.com §  949-584-7589 §  www.nebulaworks.com §  @nebulaworks THANKS FOR LISTENING!
  • 30. © 2015 Nebulaworks, Inc., All rights reserved.
  • 31. © 2015 Nebulaworks, Inc., All rights reserved. DOCKER ENGINE §  Open Source engine to commoditize LXC §  Uses copy-on-write for quick provisioning §  Written in Go, runs as a daemon, comes with a CLI §  Everything exposed through a REST API §  Allows to build images in standard, reproducible way §  Allows to share images through registries §  Defines standard format for containers (stack of layers; 1 layer = tarball+metadata) 31
  • 32. © 2015 Nebulaworks, Inc., All rights reserved. Collection of services to make Docker more useful 32 §  Public registry (push/pull your images for free) §  Private registry (push/pull secret images for $) §  Automated builds (link github/bitbucket repo; trigger build on commit) DOCKER HUB / DOCKER TRUSTED REGISTRY
  • 33. © 2015 Nebulaworks, Inc., All rights reserved. DOCKER SWARM §  Native clustering for Docker. ̶  It turns a pool of Docker hosts into a single, virtual host §  Serves the standard Docker API ̶  Any tool which communicates with a Docker daemon can be used transparently: Dokku, Compose, Krane, Flynn, Deis, DockerUI, Shipyard, Drone, Jenkins... and, of course, the Docker client itself §  Follows "batteries included but removable" principle ̶  Ships with a simple scheduling backend, API will develop to enable pluggable backends like Mesos 33
  • 34. © 2015 Nebulaworks, Inc., All rights reserved. DOCKER SWARM $ docker-machine create –driver virtualbox dev $ docker-machine create -d virtualbox --swarm --swarm- master --swarm-discovery token:// 14699b753350745b3e59fa985925d193 swarm-master $ docker-machine create -d virtualbox --swarm --swarm- discovery token://14699b753350745b3e59fa985925d193 swarm-node-00 $ $(docker-machine env --swarm swarm-master) Demo! https://asciinema.org/a/17908 34
  • 35. © 2015 Nebulaworks, Inc., All rights reserved. DOCKER MACHINE §  Easily create Docker hosts on your computer, on cloud providers and inside your own data center §  It creates servers, installs Docker on them, then configures the Docker client to talk to them §  Once your Docker host has been created, it then has a number of commands for managing them: ̶  Starting, stopping, restarting ̶  Upgrading Docker ̶  Configuring the Docker client to talk to your host 35
  • 36. © 2015 Nebulaworks, Inc., All rights reserved. DOCKER MACHINE $ docker-machine create –driver virtualbox test $ docker-machine ls $ $(docker-machine env test) Demo! https://asciinema.org/a/17907 36
  • 37. © 2015 Nebulaworks, Inc., All rights reserved. DOCKER COMPOSE §  Describe your stack with one file: docker-compose.yml §  Run your stack with one command: docker-compose up §  Example: run an app with key/value datastore ̶  Python app ̶  Redis 37
  • 38. © 2015 Nebulaworks, Inc., All rights reserved. DOCKER COMPOSE $ docker-compose up J Demo! https://asciinema.org/a/17909 38
  • 39. © 2015 Nebulaworks, Inc., All rights reserved. With Docker I can: 39 §  Put my software in containers §  Run those containers anywhere §  Create workflows to automatically build containers §  Easily setup Docker hosts with Machine §  Use Compose to effortlessly start stacks of containers §  Run containers on multiple hosts IN SUMMARY!