Intro to Docker at the 2016 Evans Developer relations conference

Post on 21-Jan-2018

1.092 views 0 download

Transcript of Intro to Docker at the 2016 Evans Developer relations conference

Introduction to DockerEvans Developer Relations Conference 2016

Mano Marks, Docker Developer Relations Director

@manomarks

+ManoMarks

Applications are changing

2

Loosely

Coupled

Services

Many Small

Servers

~2000Toda

y

Monolithic

Big Servers

Slow

changing

Rapidly

updated

The challenge: new matrix from hell

3

Virtual machines

ServerPublic Cloud

Disaster Recovery

Developer Laptop

Server Cluster

Data Center

Static

Website

Web Front EndBackground

Workers

User DBAnalytics

DB

Queue API

Endpoint

Development Test & QA Production Scale Out

Docker containers

4

Static

WebsiteWeb

Front End

Background

WorkersUser DB

Analytics

DB

QueueAPI

Endpoint

Any App Anywhere

Composable Dynamic Portable

Solution: Docker containers

5

• 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

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

A registry for image storing and collaboration (on premise or cloud base)

\\\\\\

Linux Containers UnikernelsVM per Container

Linux Kernel

App App

App App App

App

HypervisorHypervisor

Efficient resource sharing

Application compatibility

Linux

Strong hardware isolation

High resource overhead

Strong hardware isolation

Efficient. Specialised. Immutable

App App App

Linux Linux

Hypervisor

Why do Developers Care?

• Build once…(finally) run anywhere

• A clean, safe, hygienic and portable runtime environment for your app.• Polyglot development: 88% of developers use more than one language (IDC)• Run each app in its own isolated container, with all it’s dependencies.• 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• All you need is a text editor, git, and 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

Demo Time

Docker for DevRel?

• Know where your developers are, they’re on Docker• Build samples for Docker• Build solutions in Docker• Easy to distribute images• Don’t worry about versions• Build small

Why do DevRel Care?

More about Docker

14

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

Docker

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

15

More info:

https://docs.docker.

com

https://docker.com

Me:

@manomarks

(twitter and github)

+ManoMarks