High level overview of Docker + Birthday #3 overview (app and challenge portion)!
Learn more about Docker Birthday #3 celebrations here: https://www.docker.com/community/docker-birthday-3
2. Welcome to Docker Birthday #3
● 120 Docker Birthday events (list available at Docker.Party)
● 7000+ RSVPs
● 600 mentors
● Big thanks to our global partners:
2
6. 6
Open Source Project
• 2B+ Docker Image Downloads
• 2000+ contributors
• 40K+ GitHub stars
• 200K+ Dockerized apps
• 240 Meetups in 70 countries
• 95K Meetup members
Containers as a Service provider
• Integrated platform for dev and IT
• Commercial technical support
Docker project sponsor
• Primary sponsor of Docker project
• Supports project maintainers
Who Are We
The Docker Project Docker Inc
7. The Docker ecosystem
Dev Tools
Official Repositories
Operating Systems
Big Data
Service Discovery
Build / Continuous Integration
Configuration Management
Consulting &Training
Management
Storage
Clustering & Scheduling
Networking
Infrastructure & Service Providers
Storage
Security
Monitoring & Logging
7
8. Diversity Scholarship Program
The purpose of the DockerCon Diversity Scholarship Program is to give members of
underrepresented groups the opportunity to attend DockerCon without the barrier of financial strain.
How to apply:
Step 1: Complete the Docker Birthday #3 training
Step 2: Fill out the online application
What does the scholarship include?
● Full DockerCon Conference Pass
● Round-trip airfare + hotel accommodations for 3 nights
● 1:1 mentorship session with a Docker employee
Application Deadline: April 15, 2016 at 5:00PM PST
For more information and to apply, visit our website: dockercon.com/scholarship
10. Docker in 2013
A lightweight runtime and robust tooling to build and run virtual containers on Linux
to create the operating environment for your distributed applications.
11. Docker Basics
Docker Image
The basis of a Docker container
Docker Container
The standard unit in which the application service resides
Docker Engine
Creates, ships and runs Docker containers deployable on physical or virtual
host locally, in a datacenter or cloud service provider
Docker Registry
On-premises registry for image storing and collaboration
13. The challenge: new matrix from hell
13
Virtual machines
Server
Public Cloud
Disaster Recovery
Developer Laptop
Server Cluster
Data Center
Static
Website
Web Front EndBackground
Workers
User DB
Analytics
DB
Queue API
Endpoint
Development Test & QA Production Scale Out
14. Solution: Docker containers
14
• Packages up software binaries and dependencies
• Isolates software from each other
• Container is a standard format
• Easily portable across environment
• Allows ecosystem to develop around its standard
Container
16. Why do 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
17. Why do Ops Care?
•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
19. Docker in 2016
A Containers as a Service (CaaS) platform which enables an IT Ops
managed and secure application environment (infrastructure and content)
for developer self service to build and deploy applications
20. Docker Containers as a Service Platform
20
Source Code
Management
CI / CD
Networking
Monitoring
Volumes
Service
Discovery
Operating Systems
Content
Configuration
Management
Infrastructure
Public Cloud Virtualization
Physical / Converged
Infrastructure
Logging
Storage
Toolbox
Management
Security
Orchestration
Container Runtime
Registry Service
21. Containers as a Service (CaaS)
Developers IT Operations
BUILD
Development Environments
SHIP
Secure Content & Collaboration
RUN
Deploy, Manage, Scale
22. Docker CaaS Solutions
22
Docker Datacenter
An on-premises / VPC
CaaS platform that
integrates with enterprise
infrastructure to build, ship
and run distributed
applications anywhere.
Docker Cloud
A SaaS CaaS service to
build, ship and run
distributed applications
anywhere
23. Enabling the needs of developers and IT
23
Manage and
secure at scale
Frictionless
movement
Innovation
at speed
+ +Agility Portability Control
24. Use cases enabled by Docker CaaS
24
Containerization
Microservices
CI/CD
DevOps
Self Service
Cloud DataApps
Cloud Migration
Hybrid Cloud
Multi-Cloud
Data Processing
Pipelines
26. Docker Toolbox
Everything you need to get started
with Docker
• Toolbox includes:
– Kitematic
– Docker CLI
– Docker Machine
– Docker Swarm
– Docker Compose
26
27. Birthday App Training
Participants in the training will go through the steps involved in running and developing a simple voting app
from a fresh computer using Docker Toolbox. This simple app will include:
● A Python webapp which lets you vote between several options
● A Redis queue which collects new votes
● A Java worker which consumes votes and stores them in…
● …A Postgres database backed by a Docker volume
● A Node.js webapp showing the results of the voting in real time
All training materials available at: https://github.com/docker/docker-birthday-3
There is a self-paced beginners’ tutorial for attendees to learn Docker basics as they build and deploy this
app locally and push their Docker images to Docker Hub. Experienced Docker users will serve as mentors
to help beginners successfully complete the training.
29. Birthday App Challenge Ideas
For Devs
● Rewrite or add features to the following apps:
○ Python webapp which lets you vote between two options
○ Java worker which consumes votes and stores them
○ Node.js webapp which shows the results of the voting in real time
● Write something to generate random votes so they can load test their app
For Ops
● Bring Docker Swarm in the mix
● Add Interlock: https://github.com/ehazlett/interlock
● Scale out the worker nodes using Docker Cloud
30. Birthday App Challenge Submission & Prizes
Submission guidelines:
● We are looking for cool hacks based on what you learned today! Be creative, make sure
it’s useful and most importantly, have fun!
● Submit at: http://bit.ly/1TLpxuK and submit your PR at github.com/docker/docker-
birthday-3 by Monday, March 28th 9am PST.
Prizes:
● Best hack wins a very special Docker Swag package and complimentary pass to
DockerCon 2016!
● 2nd and 3rd favorite hacks win an awesome Docker hoodie.
● All of these hacks will be featured in a blog post on blog.docker.com.
31. 31
Let’s get started with this Docker
Training!
https://github.com/docker/docker-birthday-3/