Your SlideShare is downloading. ×
Docker intro
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Docker intro

620
views

Published on

Published in: Software

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
620
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
46
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Introduction to Docker March, 2014 @spiddy
  • 2. 1 Year since launch •370+ contributors •60+ meetups •27 Countries •1.000.000 downloads •1000+ containers •$15Million Series B •10+ startups
  • 3. Why all the excitement?
  • 4. Static website Web frontend User DB Queue Analytics DB Background workers API endpoint nginx 1.5 + modsecurity + openssl + bootstrap 2 postgresql + pgv8 + v8 hadoop + hive + thrift + OpenJDK Ruby + Rails + sass + Unicorn Redis + redis-sentinel Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs + phantomjs Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client Development VM QA server Public Cloud Disaster recovery Contributor’s laptop Production Servers The ChallengeMultiplicityofStacks Multiplicityof hardware environments Production Cluster Customer Data Center Doservicesandapps interact appropriately? CanImigrate smoothlyand quickly?
  • 5. The Matrix From Hell Static website Web frontend Background workers User DB Analytics DB Queue Developme nt VM QA Server Single Prod Server Onsite Cluster Public Cloud Contributo r’s laptop Customer Servers ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  • 6. MultiplicityofGoods Multipilicityof methodsfor transporting/storing DoIworryabouthow goodsinteract(e.g. coffeebeansnextto spices) CanItransportquickly andsmoothly (e.g.fromboattotrain totruck) Cargo Transport Pre-1960
  • 7. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Also a matrix from hell
  • 8. MultiplicityofGoods Multiplicityof methodsfor transporting/storing DoIworryabouthow goodsinteract(e.g. coffeebeansnextto spices) CanItransportquickly andsmoothly (e.g.fromboatto traintotruck) Solution: Intermodal Shipping Container …in between, can be loaded and unloaded, stacked, transported efficiently over long distances, and transferred from one mode of transport to another A standard container that is loaded with virtually any goods, and stays sealed until it reaches final delivery.
  • 9. Static website Web frontendUser DB Queue Analytics DB Development VM QA server Public Cloud Contributor’s laptop Docker is a shipping container system for codeMultiplicityofStacks Multiplicityof hardware environments Production Cluster Customer Data Center Doservicesandapps interact appropriately? CanImigrate smoothlyandquickly …that can be manipulated using standard operations and run consistently on virtually any hardware platform An engine that enables any payload to be encapsulated as a lightweight, portable, self-sufficient container…
  • 10. Static website Web frontend Background workers User DB Analytics DB Queue Developme nt VM QA Server Single Prod Server Onsite Cluster Public Cloud Contributo r’s laptop Customer Servers Docker eliminates the matrix from Hell
  • 11. Why Developers Care •Build once…(finally) run anywhere* •A clean, safe, hygienic and portable runtime environment for your app. •No worries about missing dependencies, packages and other pain points during subsequent deployments. •Run each app in its own isolated container, so you can run various versions of libraries and other dependencies for each app without worrying •Automate testing, integration, packaging…anything you can script •Reduce/eliminate concerns about compatibility on different platforms, either your own or your customers. •Cheap, zero-penalty containers to deploy services? A VM without the overhead of a VM? Instant replay and reset of image snapshots? That’s the power of Docker * With the 0.7 release, we support any x86 server running a modern Linux kernel (3.2+ generally. 2.6.32+ for RHEL 6.5+, Fedora, & related)
  • 12. Why Devops Cares? •Configure once…run anything •Make the entire lifecycle more efficient, consistent, and repeatable •Increase the quality of code produced by developers. •Eliminate inconsistencies between development, test, production, and customer environments •Support segregation of duties •Significantly improves the speed and reliability of continuous deployment and continuous integration systems •Because the containers are so lightweight, address significant performance, costs, deployment, and portability issues normally associated with VMs
  • 13. Why it works—separation of concerns •Dan the Developer •Worries about what’s ―inside‖ the container •His code •His Libraries •His Package Manager •His Apps •His Data •All Linux servers look the same •Oscar the Ops Guy •Worries about what’s ―outside‖ the container •Logging •Remote access •Monitoring •Network config •All containers start, stop, copy, attach, migrate, etc. the same way
  • 14. App A Containers vs. VMs Hypervisor (Type 2) Host OS Server Guest OS Bins/ Libs App A’ Guest OS Bins/ Libs App B Guest OS Bins/ Libs AppA’ Docker Host OS Server Bins/Libs AppA Bins/Libs AppB AppB’ AppB’ AppB’ VM Container Containers are isolated, but share OS and, where appropriate, bins/libraries Guest OS Guest OS …result is significantly faster deployment, much less overhead, easier migration, faster restart
  • 15. What are the basics of the Docker system? Source Code Repository Dockerfile For A Docker Engine Docker Container Image Registry Build Docker Host 2 OS (Linux) ContainerA ContainerB ContainerC ContainerA Push Search Pull Run Host 1 OS (Linux)
  • 16. Ecosystem - Startups DOCKER CONTAINER HOSTING - https://stackdock.com/ - Docker hosting on blazing fast dedicated infrastructure - https://orchardup.com/ - Host your Docker containers in the cloud - http://tutum.co/ - IaaS-like control, PaaS-like speed PRIVATE DOCKER REGISTRY - https://quay.io/ - Secure hosting for private Docker repositories DOCKER ORCHESTRATION - https://flynn.io/ - The product that ops provides to developers - https://coreos.com/ - Linux for Massive Server Deployments - http://www.serfdom.io/ - A decentralized solution for service discovery and orchestration that is lightweight, highly available, and fault tolerant
  • 17. Ecosystem - OSS lBoot2docker - lightweight Linux distro (~24MB and boots in ~5s) lDeis - open source PaaS lDokku - Docker powered mini-Heroku in around 100 lines of Bash lShipyard – A web UI for docker lDockerui - Another web UI for docker
  • 18. Ecosystem
  • 19. Evolution of IT
  • 20. Microservice Architecture The term "Microservice Architecture" has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services. While there is no precise definition of this architectural style, there are certain common characteristics around organization around business capability, automated deployment, intelligence in the endpoints, and decentralized control of languages and data. Martin Fowler
  • 21. Want to learn more? •www.docker.io: •Documentation •Getting started: interactive tutorial, installation instructions, getting started guide, •About: Introductory whitepaper: http://www.docker.io/the-whole-story/ •Github: dotcloud/docker •IRC: freenode/#docker •Google groups: groups.google.com/forum/#!forum/docker-user •Twitter: follow @docker •Meetups: Scheduled for Boston, San Francisco, Austin, London, Paris, Boulder…and Nairobi. https://www.docker.io/meetups/
  • 22. www.docker.io