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…

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)

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