Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

2

Partager

Télécharger pour lire hors ligne

Managing containers with Docker

Télécharger pour lire hors ligne

What are the challenges of today's infrastructures, why containers are the right building blocks and Docker the right tool to manage those.

Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and tests on a laptop can run at scale, in production, on VMs, bare metal, OpenStack clusters, public clouds and more.

I'll talk about the challenges of managing complex infrastructures based on my past experiences, why live state mutation sucks and configuration management is doomed, self-sufficient and light-weight containers are the answer and how Docker manage those.

Livres associés

Gratuit avec un essai de 30 jours de Scribd

Tout voir

Managing containers with Docker

  1. 1. INTRODUCTIONTO DOCKER
  2. 2. JOHANNES'FISH'ZIEMKE twitter/github: @discordianfish Building Docker's infrastructure for central services hub.docker.com docker.com registry Former SoundCloud System and Infrastructure engineer Scaled infrastructure by 10x in 2 years
  3. 3. DOCKER? Docker 1.4.1 Open Source, written in Go developed publicly; GitHub, Mailinglists, DGAB Builds, packs and ships applications as lightweight containers Build once, run (almost) everywhere Linux 3.10, OS X and Windows via transparent VM wrapper
  4. 4. CONTAINERVSVM
  5. 5. WHOCARES?
  6. 6. SOMEDO Docker 0.1 release Spring 2013 by dotCloud (now Docker Inc) Rewrite of code that powers dotCloud PaaS Since release >70000 Images on central registry >54000 Dockerfiles on GitHub >100M Image downloads
  7. 7. WELL,OKAY.. but why should I care?
  8. 8. TESTTHINGS? Start always with a clean slate Spawn up complete test infrastructures in seconds Run your tests against various versions of libraries and services
  9. 9. MAKETHINGSEASIER,HELP ORTEACHPEOPLE? Provide students with software environment Distribute complex setups as self-contained container for Bioinformatics, Information sciences Your favorite blog docker run -p 8080:8080 -e URL=http://example.com fish/ghost Empower people to run their own services
  10. 10. BUILDING INFRASTRUCTURES?
  11. 11. 90SINFRASTRUCTURES Proprietary, homogeneous and often vertically scaled stack Waterfall design process Release cycles of months Huge companies... targeting rather small audience/vertical businesses Huge IT/Ops departments
  12. 12. TODAY'S INFRASTRUCTURES Agile development methods to move fast Interconnected services scaled horizontal in heterogenious environment Lots of spinning wheels Several deploys per day Small but fast growing startups targeting Millions of users
  13. 13. CHALLENGES Managing such infrastructures is incredible hard Millions of knobs and switches Billions of possible combinations High complexity make it hard to reason about Nobody can completely understand it
  14. 14. Go away or I will replace you with a very small shell script
  15. 15. CONFIGMANAGEMENT Describe what you want and how to get there Change state somewhere, encode what might affected CFEngine, Puppet, Chef, Ansible, Salt Manage everything! Doesn't solve anything
  16. 16. MANAGINGCOMPLEXITY Similar problems: Software complexity modules, classes, plugins Human communication named concepts like cat, nerd or car Shipping goods intermodal containers Solution: Abstraction!
  17. 17. WHERECANDOCKERHELP? Containers = abstracted application, including dependencies and configuration Operations = Adding/removing of containers The container is the same where ever it runs Lightweight; can be deployed/rolled back fast and easily Isolation makes sure one container isn't affecting others Clear separation of concerns
  18. 18. DEVELOPER:WHYILOVE DOCKER Because I just have to care about my container: my libraries my package manager my code I own the container and don't care where it's running.
  19. 19. OPS:WHYILOVEDOCKER Because I just have to care about running containers: provide systems with the Docker resources planning & monitoring orchestration, remote access I own the platform and don't care what's inside the containers
  20. 20. WHATISDOCKEREXACTLY DOING?
  21. 21. RUNNINGCOMMANDSON: immutable, shippable, layered images with copy-on-write storage on top in isolated environment via RESTish API
  22. 22. SHIPPABLEIMAGES immutable multiple layers defined by Dockerfile, built by builder pushed to/pulled from Docker registry
  23. 23. DOCKERFILE/BUILDER Dockerfile: Simple text file with instructions: FROM ubuntu:latest MAINTAINER Johannes 'fish' Ziemke <fish@docker.com> RUN apt­get ­yq update RUN apt­get ­yq install nginx ENTRYPOINT [ "/usr/sbin/nginx" ] CMD [ "­g", "daemon off" ] docker buildcreates image from Dockerfile Each instruction creates new layer If instruction hasn't changed, uses cached layer docker pushuploads image layers to registry
  24. 24. DOCKERREGISTRY hosting/delivery of images open source project supports various storage backends hosted platform: hub.docker.com
  25. 25. COPY-ON-WRITESTORAGE Provides writable layer on top of (read-only) images Persists all changes done by running container Pluggable, supported drivers: aufs btrfs devicemapper overlayfs vfs
  26. 26. ISOLATEDEXECUTION Plugable, supported: lxc, native Using kernel features: namespaces Isolation by scoping Available: pid, mnt, net, uts, ipc, user cgroups (control groups) limit, account and isolate resources CPU, memory, I/O and general devices Future: solaris zones, BSD jails, full blown virtualization
  27. 27. DOCKERAPI RESTish API, defaults to UNIX socket Optional TLS client and server authentication The system API No need for any other remote access Ready for building your infrastructure deployment/automation on top
  28. 28. FUTURE Composition: Multi-container Scheduling: Multi-host Tools Docker native fig Kubernetes Mesos
  29. 29. DEMOTIME!
  30. 30. THANKS! QUESTIONS? Johannes 'fish' Ziemke / GitHub/Twitter/Facebook: @discordianfish fish@docker.com fish@freigeist.org
  • brindhasaran7

    Apr. 26, 2019
  • MargusPrnsalu

    Apr. 18, 2016

What are the challenges of today's infrastructures, why containers are the right building blocks and Docker the right tool to manage those. Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and tests on a laptop can run at scale, in production, on VMs, bare metal, OpenStack clusters, public clouds and more. I'll talk about the challenges of managing complex infrastructures based on my past experiences, why live state mutation sucks and configuration management is doomed, self-sufficient and light-weight containers are the answer and how Docker manage those.

Vues

Nombre de vues

1 230

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

33

Actions

Téléchargements

14

Partages

0

Commentaires

0

Mentions J'aime

2

×