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.

Dockercon eu tour 2015 - Devoxx Casablanca

64 views

Published on

Presentation I gave for Docker Inc. at Devoxx morocco in Casablanca on November 18th 2015.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Dockercon eu tour 2015 - Devoxx Casablanca

  1. 1. Michel Courtine Member of Technical Staff - Docker Inc. @michaK michel.courtine@docker.com Build, Ship & Run distributed application
  2. 2. French Polyglot Platforms Software Plumber Paris Developer Relations @michaK
  3. 3. What do you know about Docker?
  4. 4. “Welcome to the jungle we've got fun and games We got everything you want honey, we know the names”
  5. 5. Leading Enterprises Worldwide Depend on Docker E-Commerce Media Life Sciences Finance Vertical Search IT SaaS IaaS PaaS
  6. 6. “The future is already here — it's just not very evenly distributed” William Gibson, Neuromancer
  7. 7. Docker’s mission is to build tools of mass innovation
  8. 8. Docker Mission
  9. 9. Internet (hardware layer) Servers Desktop s Phones Cars Houses Drones Network equipment Public transit TVs Industrial 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
  10. 10. Internet (hardware layer) Servers Desktop s Phones Cars Houses Drones Network equipment Public transit TVs Industrial 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
  11. 11. Linux Container Ecosystem
  12. 12. Business opportunity
  13. 13. as Boromir would say … http://blogs.gartner.com/richard-watson/ok-get-dockers-great/
  14. 14. Low MTBIAMSH MTBIAMSH (Mean Time Between Idea And Making Stuff Happen)
  15. 15. Agility == $$
  16. 16. Devops
  17. 17. 25 Mainframe
  18. 18. Client-Server 26
  19. 19. 27 Web
  20. 20. 28 Cloud - Devops
  21. 21. Docker
  22. 22. Traditional Architecture (pre-2000) • One Server = One Application • Single Stack = Single Language • More compute = More servers • Expensive, Slow, Inefficient
  23. 23. Virtualization (2000s) • One Server = Multiple VMs = Multiple Stacks = Multiple Applications • More compute = More VMs • 10s of VMs per Server • Enabled Cloud Computing
  24. 24. Isolation using Linux kernel features namespaces ● pid ● mnt ● net ● uts ● ipc ● user cgroups ● memory ● cpu ● blkio ● devices
  25. 25. Image layers
  26. 26. Docker for developers https://registry.hub.docker.com/_/java/
  27. 27. 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
  28. 28. docker-machine docker-machine create -d azure —azure-subscription-id="c4f51be3-784c-xxx-7c50ad9e1b7c" --azure-subscription-cert="/Users/michaK/.ssh/docker-azure- cert.pem" --azure-location="East US" --azure-size=Small --azure-username="michak" michak-docker-machine-n
  29. 29. Kitematic
  30. 30. Docker Hub
  31. 31. Docker Trusted Registry
  32. 32. Swarm Scheduler plugins Engine Volumes plugins Network plugins Service discovery plugins Engine Volumes plugins Network plugins Service discovery plugins mesos flockerglusterfs weavecalico consuletcdzookeeper midokuraciscoazurenuagenetworks Docker Plugins Batteries included but removable
  33. 33. +
  34. 34. Demo: First day at a job with Docker
  35. 35. Docker CLI Docker CLI Docker CLI Docker Engine
  36. 36. us-west us-east Docker CLI Docker CLI Docker Swarm Swarm
  37. 37. Open Standards
  38. 38. RunC The universal container runtime https://runc.io
  39. 39. Security
  40. 40. 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
  41. 41. 1.9 Release
  42. 42. Engine 1.9 Release • Network management •Top-level docker network command •Out of the box support for multi host overlay networking •Extensibility through plugins • Volume management •Top-level docker volume command •Extensibility through plugins • Built-in nodes discovery •Daemon --cluster-store and --cluster-advertise
  43. 43. Engine 1.9 Release • Builder •Refactoring toward client-side build support •ARG: build-time arguments (provides support for HTTP_PROXY) •STOPSIGNAL: choose the stop signal for the contained process • Miscellaneous •Quality, stability, performance improvements •awslog logging driver • Experimental •User namespaces phase 1 (daemon-wide root remap)
  44. 44. Roadmap Engine 1.10 • Runtime •Progress toward runC integration • Distribution •Ongoing effort to rewrite push/pull layer •New manifest design, with content addressability from the grounds-up • Networking •Stabilize all the new features shipped in 1.9.0 •Better support for IPv6 • Security •Stable user namespaces (phase 1)
  45. 45. Orchestration
  46. 46. ORCHESTRATION
  47. 47. Docker Swarm
  48. 48. Docker CLI Docker CLI Docker CLI Docker Engine
  49. 49. us-west us-east Docker CLI Docker CLI Docker Swarm Swarm
  50. 50. Swarm integrations ● Fully integrated with Machine and Compose ● Mesos integration
  51. 51. Mesos
  52. 52. Kubernetes
  53. 53. Kubernetes Scheduler host-1 host-2 host-3 host-n ….. Container Agent Container Agent Container Agent Container Agent Linux Linux Linux Linux Container Container
  54. 54. Kubernetes host-1 Container host-2 host-3 host-4 host-n … Container Container Container Container ContainerContainer Container Container
  55. 55. Kubernetes host-1 host-2 host-3 host-4 host-n … Frontend Worker my_app pod MyAppMyApp MyApp Replication Controller 3
  56. 56. Kubernetes host-1 host-2 host-3 host-4 host-n … MyAppMyApp MyApp Replication Controller Pod Pod Pod Pod PodPod Pod Pod Replication Controller
  57. 57. Kubernetes host-1 host-2 host-3 host-4 host-n … MyApp staging MyApp staging MyApp staging MyApp prod MyApp prod MyApp prod MyApp prod MyApp prod MyApp Production Service { environment: prod } MyApp Staging Service { environment: staging } Labels and Services
  58. 58. Cloud Foundry & IBM BlueMix
  59. 59. Cloud Foundry Diego & Lattice cf docker-push my-app cloudfoundry/lattice-app
  60. 60. IBM Bluemix The Digital Innovation Platform
  61. 61. 79 Customer Managed Service Provider Managed IBM SoftLayer Bluemix started as a public PaaS Bluemix started with a major focus on developer productivity in the public cloud. Infrastructure as a Service Code Data Runtime Middleware OS Virtualization Servers Storage Networking Code Data Runtime Middleware OS Virtualization Servers Storage Networking Platform as a Service
  62. 62. 80 Customer Managed Service Provider Managed IBM SoftLayer We listened. Now we’re evolving to become even more flexible. Capabilities in Bluemix now span PaaS and IaaS and can be delivered as a public, dedicated, or on-premises* implementation. Infrastructure as a Service Code Data Runtime Middleware OS Virtualization Servers Storage Networking Code Data Runtime Middleware OS Virtualization Servers Storage Networking Platform as a Service *Bluemix Local coming Summer 2015 Built on open technologies:
  63. 63. Containers in Bluemix Bluemix now comes with a fully integrated, high performance Docker experience, meaning monitoring, logging, elasticity, enterprise images, and VM abstraction are all standard. 81 Docker Value IBM Value-add Customer Value Docker Hub Registry holds a repository of 75000+ Docker images • IBM hosted public registry containing IBM images - linked to Docker Hub • Client unique registry available on and off premises • Enterprise-ready images Access to the images you require to deploy containers that meet your business needs and strategy Open-source, standardized, lightweight, self sufficient LXC container technology • Enhanced performance with bare metal deployment • Run images to local datacenter or cloud • Deployment choice with pSeries & zSeries Flexibility to choose the right hybrid cloud mix for your business Build, ship, and run standardized containers • Integrated monitoring & logging • Elasticity to grow storage & container needs • Life-cycle management of containers and data volumes  • No VMs to manage Docker ease of use combined with enterprise- level integrity and confidence Container connections using links and service discovery • Private network communication • External IP address • Subnet Range Extends and connects Docker containers to production-ready enterprise environments
  64. 64. Other on prem systems
  65. 65. Deis Heroku-like workflow, based on Kubernetes
  66. 66. Yelp Paasta Based on Mesos + Marathon + Chronos
  67. 67. SaaS Orchestration systems
  68. 68. Big 3 managed container services Amazon ECS Google Container Engine Microsoft Azure Container Service
  69. 69. The Container Platform @tutumcloud tutum.co info@tutum.co
  70. 70. Tutum: The Container Platform TUTUM CONTAINER PLATFORM Any application Any infrastructure ManagedSimple Flexible Hybrid/Agnostic Any Operating System Containers + Other Design Principles:
  71. 71. Tutum: The Container Platform Dev Deploy ManageBuild CI CD Code repo Image repo Monitoring Logging Scaling Networking Storage Service Discovery Composability Security Hosts Public Cloud Private CloudAcross: Environments TUTUM CONTAINER PLATFORM Public Cloud Test Orchestration
  72. 72. Joyent Triton The network is the computer… v2:-)
  73. 73. Orchestration summary • Docker Swarm: Docker-style, provision with docker- machine, 1.0, ready for production, 1k nodes • 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
  74. 74. Docker & Microsoft
  75. 75. Docker & Microsoft • Build • Docker client & Kitematic for Windows • Docker engine on Windows Server 2016 TP3 • yo-docker to dockerize existing projects • Visual Studio integration • Ship • VSO? • Run • Azure Docker agent • Swarm ARM template from Ahmet • Azure Container Service
  76. 76. What’s new with swarm?
  77. 77. Swarm goes stable Introducing Swarm 1.0
  78. 78. Swarm 1.0 • Focus on Production Readiness • Stability • Scalability • Performance • Platform Integration • libnetwork & overlay networking • volume plugins support
  79. 79. Scalability: >1,000 nodes • NEW! Parallel Scheduling • Scale Tests • 1000 nodes • 50000 containers • Lab Specs • Manager: m4.xlarge (4 CPUs, 16G RAM) - As powerful as your average MacBook Pro • Nodes: t2.micro (1 CPU, 1GB RAM) - Less powerful than an iPhone 5s • Reached EC2 provisioning limit
  80. 80. Performance Median: 170 ms 90th: 180 ms 99th: 360 ms
  81. 81. Performance Median: 170 ms 90th: 180 ms 99th: 360 ms
  82. 82. Stability • Stress test under heavy load • 100s of clients competing for the same resources • Concurrent scheduling decisions • Loss of hundreds of nodes while scheduler is operating
  83. 83. Platform Integration • Networking - docker network create, docker network attach, … - overlay networking by default • Volume plugin subsystem - docker run -v volumename:/data --volume-driver …
  84. 84. Demo: Swarm doesn’t scale?
  85. 85. Fire up your first container today! Ride the Whale!
  86. 86. Learning • http://docs.docker.com/ • http://training.docker.com • http://slideshare.net/chanezon • http://opencontainers.org • https://github.com/chanezon/docker-tips • https://github.com/dave-tucker/docker-network-demos
  87. 87. We’re hiring! https://www.docker.com/company/careers/
  88. 88. Q&A

×