Docker Birthday #3 - Intro to Docker Slides

31
Docker Birthday #3

Transcript of Docker Birthday #3 - Intro to Docker Slides

Docker Birthday #3

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

Remember to tweet photos with #dockerbday

3

Agenda

1. Introduction to the Docker Ecosystem

2. Learning Docker with Birthday App Training

3. Birthday App Challenge

4. Cake and Socializing

Introduction to the Docker Ecosystem

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

How did we get there ?

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

Containers vs. 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

25

Birthday App Training

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

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.

31

Let’s get started with this Docker Training!

https://github.com/docker/docker-birthday-3/