Post on 12-Apr-2017
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
Agenda
1. Introduction to the Docker Ecosystem
2. Learning Docker with Birthday App Training
3. Birthday App Challenge
4. Cake and Socializing
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
The Docker ecosystem
Dev Tools
Official Repositories
Operating Systems
Big Data
Service Discovery
Build / Continuous Integration
Configuration ManagementConsulting &Training
Management
Storage
Clustering & Scheduling
Networking
Infrastructure & Service Providers
Storage
Security
Monitoring & Logging
7
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 trainingStep 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
Docker in 2013A lightweight runtime and robust tooling to build and run virtual containers on Linux to create the operating environment for your distributed applications.
Docker Basics
Docker ImageThe basis of a Docker container
Docker ContainerThe 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 RegistryOn-premises registry for image storing and collaboration
Applications are changing
12
Loosely Coupled Services
Many Small Servers
~2000 Today
Monolithic
Big Servers
Slow changing
Rapidly updated
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
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
Solution: Docker containers
15
Static Website
Web Front End
Background Workers
User DB
Analytics DB
QueueAPI Endpoint
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
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
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
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 RuntimeRegistry Service
Containers as a Service (CaaS)Developers IT Operations
BUILDDevelopment Environments
SHIPSecure Content & Collaboration
RUNDeploy, Manage, Scale
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
Enabling the needs of developers and IT
23
Manage and secure at scale
Frictionless movement
Innovation at speed
+ +Agility Portability Control
Use cases enabled by Docker CaaS
24
ContainerizationMicroservices
CI/CDDevOps
Self Service
Cloud DataApps
Cloud MigrationHybrid CloudMulti-Cloud
Data Processing Pipelines
Docker ToolboxEverything you need to get started with Docker
• Toolbox includes:– Kitematic– Docker CLI– Docker Machine– Docker Swarm– Docker Compose
26
Birthday App TrainingParticipants 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.
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
Birthday App Challenge Submission & PrizesSubmission 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.