Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Docker Platform and Ecosystem

5,712 views

Published on

Docker Platform and Ecosystem

Published in: Technology
  • Be the first to comment

Docker Platform and Ecosystem

  1. 1. Patrick Chanezon, Docker Inc. @chanezon The Docker Platform With slides from @jpetazzo @timpark @vieux @tnachen @volkerw IBM @borja_burgos and Ecosystem Ride the Whale!
  2. 2. French Polyglot Platforms Software Plumber San Francisco Developer Relations @chanezon
  3. 3. Dreams of my childhood
  4. 4. The Singularity… in a galaxy far far away
  5. 5. Moore’s Law… hardware only!
  6. 6. 1995 2015
  7. 7. Our mission is to build tools of mass innovation
  8. 8. Billions of creative people
  9. 9. Incredible new technology Billions of creative people
  10. 10. Incredible new technology Billions of creative people
  11. 11. Incredible new technology Billions of creative people
  12. 12. Incredible new technology Billions of creative people Mass innovation
  13. 13. What is the biggest innovation multiplier today?
  14. 14. What is the biggest innovation multiplier today? Programming.
  15. 15. New hardware can do incredible things Millions of programmers Mass innovation Make it programmable
  16. 16. What new hardware could do incredible things if made programmable?
  17. 17. THE INTERNE T Millions of programmers Mass innovation Make it programmable
  18. 18. Internet Servers Desktop s Phones Cars Houses Drones Network equipment Public transit TVs Industria l facilities Scientific instrument s Financial system
  19. 19. Internet Servers Desktop s Phones Cars Houses Drones Network equipment Public transit TVs Industria l facilities Scientific instrument s Financial system Programmers Must program!!!!
  20. 20. Internet Servers Desktop s Phones Cars Houses Drones Network equipment Public transit TVs Industria l facilities Scientific instrument s Financial system Androi d iOS AWS Raspberry pi Cloudfoundr y Openstac k Microsof t Web Herok u ... App App App App App App App App App App App App App App App App App Programmers
  21. 21. Internet (hardware layer) Servers Desktop s Phones Cars Houses Drones Network equipment Public transit TVs Industria l facilities Scientific instrument s Financial system Programmers Internet (software layer) App App App App App App App App App App App App App App App App App App App App App App App App App App App App
  22. 22. Internet (hardware layer) Servers Desktop s Phones Cars Houses Drones Network equipment Public transit TVs Industria l facilities Scientific instrument s Financial system Programmers App App App App App App App App App App App App App App App App App App App App App App App App App App App App a software layer to program the internet
  23. 23. Business opportunity
  24. 24. as Boromir would say … http://blogs.gartner.com/richard-watson/ok-get-dockers-great/
  25. 25. Low MTBIAMSH MTBIAMSH (Mean Time Between Idea And Making Stuff Happen)
  26. 26. Agility == $$
  27. 27. 25 Mainframe
  28. 28. Client-Server 26
  29. 29. 27 Web
  30. 30. 28 Cloud - Devops
  31. 31. Docker in the cloud market
  32. 32. Cloud Market PublicHybridPrivate IT Pros Devops DevelopersArchitects
  33. 33. History of containerization • 1960’s mainframe • 1990’s hardware virtualization • 1990’s OS virt precursors: BSD Jails, Solaris zones • 2006 Cloud IaaS • 2009 platform virtualization (PaaS) • 2013 Docker See @bcantrill’s deck http://www.slideshare.net/bcantrill/docker-and-the-future-of-containers-in-production
  34. 34. 7
  35. 35. Happy birthday!
  36. 36. Why Docker success now? • Cloud adoption • Portability • Hybrid • Devops
  37. 37. It’s an ecosystem
  38. 38. Linux Container Ecosystem
  39. 39. RancherOS
  40. 40. Docker
  41. 41. Isolation using Linux kernel features namespaces  pid  mnt  net  uts  ipc  user cgroups  memory  cpu  blkio  devices
  42. 42. Image layers
  43. 43. Docker now
  44. 44. Docker for developers https://registry.hub.docker.com/_/java/
  45. 45. docker-compose: running multiple containers  Run your stack with one command: docker-compose up  Describe your stack with one file: docker-compose.yml web: build: . command: python app.py ports: - "5000:5000" volumes: - .:/code links: - redis:redis redis: image: redis
  46. 46. What’s new in 1.3.0? Performance and stability improvements Lots more config option support New feature (experimental!): Smart Recreate Only recreate containers whose configuration has been changed $ docker-compose up --x-smart-recreate Will eventually be the default behaviour
  47. 47. docker-machine docker-machine create -d azure —azure-subscription-id="c4f51be3-784c-xxx-7c50ad9e1b7c" --azure-subscription-cert="/Users/pat/.ssh/docker-azure- cert.pem" --azure-location="East US" --azure-size=Small --azure-username="pat" pat-docker-machine-n
  48. 48. What is new in 0.3.0? Generic Driver -Provision any host with SSH Engine and Swarm Options -Specify any swarm or engine option Swarm Provisioning out of experimental Custom Engine and Swarm Versions -Specify stable/test for engine -Specify image for Swarm
  49. 49. Docker Hub
  50. 50. 150,000 repos 500+ million pulls 240,000 users - 00 00 00 00 3/22/13 8/7/13 12/21/13 5/6/14 9/19/14 2/2/15 - 40,000 80,000 120,000 160,000 4/29/13 9/9/13 1/20/14 6/2/14 10/13/14 2/23/15 - 125,000,000 250,000,000 375,000,000 500,000,000 5/6/13 8/26/13 12/16/13 4/7/14 7/28/14 11/17/14 3/9/15 2014 2015 2014 2015 2014 2015
  51. 51. Docker Hub Dev & QA ColleaguesDevelopers QA Build & Ship
  52. 52. Docker Hub Faster Pulls 60% Less Bandwidth 0% 25% 50% 75% 100% v1 v2 0% 25% 50% 75% 100% v1 v2 80% Fewer Requests
  53. 53. Docker Hub Dashboard: 2.0x Speedup Search: 1.6x Speedup 0 ,000 ,000 ,000 ,000 Current New 0 2,250 4,500 6,750 9,000 Current New
  54. 54. Docker Hub More Reliable
  55. 55. Docker Trusted Registry
  56. 56. On-premise registry server LDAP/Active Directory integration Role-based access control Audit & events logging Easy deploy, upgrade, & rollback
  57. 57. Kitematic
  58. 58. Deploy almost anywhere
  59. 59. Docker, the community  >700 contributors  ~20 core maintainers  >40,000 Dockerized projects on GitHub  >60,000 repositories on Docker Hub  >25000 meetup members, >140 cities, >50 countries  >2,000,000 downloads of boot2docker
  60. 60. Docker Inc, the company  Headcount: ~130  Revenue:  t-shirts and stickers featuring the cool blue whale  SAAS delivered through Docker Hub  Support & Training  soon: Docker Hub Enterprise, behind the firewall
  61. 61. It’s all about Devops
  62. 62. 28 Dev / Ops
  63. 63. Separation of concerns: Sylvester the Developer  Inside my container:  my code  my libraries  my package manager  my app  my data
  64. 64. Separation of concerns: Robert the Ops guy  Outside the container:  logging  remote access  network configuration  monitoring
  65. 65. Networking
  66. 66. Container Network Model
  67. 67. M 1 M 2 M 3 C 2 C 1 C 3 C 4 C 6 C 5 Network 1 Network 2
  68. 68. Plugins
  69. 69. Docker Plugins Developed with the community. Mesosphere, WeaveWorks, ClusterHQ, Glider Labs,… 4 new extension points:  Networking  Service discovery  Storage volumes  Scheduling More extension points coming soon.
  70. 70. Docker Plugins Batteries included but removable: default implementation is a plugin too! Dynamically loaded: extend Docker without patching or restarting it Multi-tenant: different apps can use different plugins No lock-in: if your application works in Docker, it already supports every plugin.
  71. 71. Swarm Scheduler plugins Engine Volumes plugins Network plugins Service discovery plugins Engine Volumes plugins Network plugins Service discovery plugins mesos flockerglusterfs weavecalico consuletcdzookeeper midokuraciscoazurenuagenetworks
  72. 72. Weave
  73. 73. Flocker
  74. 74. Orchestration
  75. 75. Docker Swarm
  76. 76. Docker CLI Docker CLI Docker CLI Docker Engine
  77. 77. us-west us-east Docker CLI Docker CLI Docker Swarm Swarm
  78. 78. Swarm beta integrations  Fully integrated with Machine  Partially integrated with Compose  Mesos integration has started in collaboration with Mesosphere.
  79. 79. Swarm load balancing: interlock https://github.com/ehazlett/interlock/tree/master/plugins/haproxy
  80. 80. New in Swarm
  81. 81. Orchestration summary • Docker Swarm: Docker-style, provision with docker-machine • Mesos: Twitter-style, aligned with Swarm • Fleet: CoreOS-style, simple • Kubernetes: Google-style, heavy-duty, many concepts • Deis: Heroku-style workflow • Cloud Foundry Diego, IBM BlueMix: PaaS -> orchestration • Also: Joyent, Tutum, Flynn
  82. 82. Plumbing
  83. 83. The Docker toolbox is built on plumbing. Lots of it. Linux LXC selinux apparmor aufs lvm zfs btrfs virtualbox iptables openssl tar git raft serf xenkvm openvz paxos ssh Go
  84. 84. The Docker community created its own plumbing... Lots of it. 50% of Docker’s source code is plumbing.
  85. 85. Service discovery networking os containers authentication storage logging build content distribution code signature master election code signatureload balancing scheduling testing code review The Docker community created its own plumbing... Lots of it.
  86. 86. Thou shall... 1. re-use and improve existing plumbing 2. make new plumbing easy to re-use and improve 3. Follow the unix principles: make small simple tools, not big complicated ones 4. define standard interfaces for assembling larger systems The principles of software plumbing
  87. 87. Docker is spinning out its plumbing All of it.
  88. 88. We need your help!
  89. 89. SECURIT Y Plumbing for....
  90. 90. Secure content distribution on the Internet is an unsolved problem.
  91. 91. Introducing Notary “Let’s stop using curl|sh” Trusted collections for any content Transport-agnostic Reliable updates, proof of origin, resistant to untrusted transport, survivable key compromise Build on industry-leading standards and research
  92. 92. OS CONTAINERS Plumbing for...
  93. 93. It’s just plumbing... but it’s popular plumbing! Containers are 5% of Docker’s code
  94. 94. Introducing RunC The universal container runtime All of Docker’s container management plumbing and nothing else Super lightweight Battle-tested and production-ready Supports all security features of Linux: selinux, apparmor, cgroups, seccomp, namespaces, cap-drop.. Supports user namespaces Supports live migration Microsof is contributing Windows support Arm support underway Intel is contributing DPDK, Secure enclave Defines a standard, portable runnable format Usable from the command-line https://runc.io
  95. 95. Open Standards
  96. 96. “You are the de facto standard. Make it a proper standard!”
  97. 97. (logo slide)
  98. 98. Fire up your first container today! Ride the Whale!
  99. 99. Learning • http://docs.docker.com/ • http://slideshare.net/chanezon • https://github.com/chanezon/azure-linux
  100. 100. We’re hiring! https://www.docker.com/company/careers/
  101. 101. Q&A

×