Unblocking The Main Thread Solving ANRs and Frozen Frames
Docker, the Future of Distributed Applications | Docker Tour de France 2014
1. The Future of Distributed Applications
A 10-min overview of Docker, by Julien Barbier, Jérôme Petazzoni & Victor Coisne, at Zenika, Paris, France
2. ~2000 2014
Long lived Development is iterative and constant
Monolithic and built on a single stack Built from loosely coupled components
Deployed to a single server Deployed to a multitude of servers
Apps Have Fundamentally Changed
3. 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 Problem in 2014: Distributed
Applications
Multiplicityof
Stacks
Multiplicityof
hardware
environments
Production Cluster
Customer Data Center
Doservicesand
appsinteract
appropriately?
CanImigrate
smoothlyand
quickly?
6. This spawned an Intermodal Shipping Container Ecosystem
• 90% of all cargo now shipped in a standard container
• Order of magnitude reduction in cost and time to load and unload ships
• Massive reduction in losses due to theft or damage
• Huge reduction in freight cost as percent of final goods (from >25% to <3%)
massive globalization
• 5000 ships deliver 200M containers per year
7. Static website Web frontendUser DB Queue Analytics DB
Development VM
QA server Public Cloud
Contributor’s laptop
Docker: intermodal container + ecosystem for distributed
applications
Multiplicityof
Stacks
Multiplicityof
hardware
environments
Production ClusterCustomer Data Center
Doservicesand
appsinteract
appropriately?
CanImigrate
smoothlyand
quickly
…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…
8. Docker Containers + Ecosystem: Impact
• Massive reduction of application development lifecycle
• Week / month -> Days / hours
• Drastic cost reduction (applications and servers)
• Application development is faster
• From dev to deploy: much faster
• Docker containers use 2 to 30 times less resources than traditional
VMs*
• More freedom
• Docker containers can be moved from one cloud to another with
consistancy -> no more lock-in
• More transparency
• Docker is open-source
9. Who is using Docker?
E-Commerce Media
IT SaaS IaaS
Life Sciences
PaaS
…and thousands of others!
Vertical Search
10. Case Study: New Relic
At-A-Glance
• Application performance
monitoring service
• ~90,000 customers
• Tracks 1+ trillion events / month
• Just filed for their IPO
Challenges
• 50% more servers in 3 months
• Doubling developer count every year
• Increasing heterogeneity:
4 versions of Ruby
3 different JVMs
5 data stores…
Before Docker
• 7 monolithic apps
• Devs doing own deploys
• One-off custom deploy tools
• Everyone had access to BD secrets
• From dev-to-deploy: weeks
After Docker
• 30+ microservices
• Separation of build from deploy
• Single standardized deploy tool
• Improved security
• From dev-to-deploy: hours
11. Why are we here?
• Docker Tour de France 2014
• Paris, Lyon, Lille, Bordeaux, Nice, Monaco
• There are more Docker Meetup groups in Europe than anywhere
else
• Meet the Docker community
• Meet French schools, incubators & accelerators
• Meet French companies
• Understand their needs
• Understand the specificity of the French market and the European
market
• Today there are ~50 companies in the room
13. Learn about docker
• Contact us:
• Julien Barbier: julien@docker.com | Twitter: @julienbarbier42
• Jerome Petazzoni: jerome@docker.com | Twitter: @jpetazzo
• Victor Coisne: victor@docler.com | Twitter: @vcoisne
• Docker project: www.docker.com/
• Docker Partner Program: https://www.docker.com/partners/program/
• Use Cases: https://docker.com/resources/usecases/
• Sign up for a DockerHub account: https://hub.docker.com/
• Follow Docker on Twitter: twitter.com/docker
• Take the Docker interactive tutorial: https://docker.com/tryit/
• Go to the Docker repository on GitHub: github.com/docker/docker/
• Go to a Meetup: https://www.docker.com/community/meetups/