But What About Docker?

Preview:

DESCRIPTION

A short-form briefing on containers, PaaS, and the harder problems of infrastructure and application orchestration.

Citation preview

But what about Docker?Containers and PaaS and VMs, oh my!

• CPU cycles• Disk I/O• Network access• Other physical resources (GPUs,

HBAs)

What’s a Run-Time Environment?

• Isolation• Launch speed• Run-time performance

RTE Criteria

• Multi-server orchestration• HA characteristics• Update mechanisms

But also…

Process Container Virtual Server Bare Metal

Applications

Services

An ecosystem of tools

Containers (and Docker)

• Containers started out at Sun in the 90s.

• They are an extension of traditional OS-level isolation primitives, including file-system ACLs, to control access to shared physical resources.

• They have matured with network namespaces and overlay filesystems

Some Background

Docker: Making containers easy

• Great command line tools• Well-integrated overlay filesystems• Well-integrated network

management

Pros:• Wickedly fast• Simple to

deploy• Abstracted

from the base OS

Cons:• No windows• No *nix• Doesn’t

address the hard problems (multi-server, multi-tier, in-place upgrades, or HA)

So… containers via Docker

• UX matters.• UX matters… a LOT.

• Built-in emulator for learning.• Built-in hosted image repository.• Good json output.• Really damn easy install.

So why is it so popular!?

Micro-OS for Fun and Profit

• Iocane (Piston Cloud)• SmartOS (Joyent)• CoreOS (Alex Polvi)• OSv (Cloudius Systems)• Mirage (XenServer)

Micro-OS Ecosystem

Containers and (Micro) OSs

Physical Server

Host OS

Container Hypervisor

App App

App

App

OS OS

Container

App

PaaS

• It’s not the method of isolation• It’s not the operating system

What isn’t PaaS?

• Automation of app placement & scaling• Orchestration of services and infrastructure

What is PaaS?

Turning this… …into this:

Understanding PaaS

.war .jar

dependencies

libraries

service manifest

App App App

LB

DB

Multi-server run time environment(s)

.tar.gz

Takeaways

• Everything in cloud competes with everything else, at a 40% overlap.

• Most PaaS use some kind of process isolation (containers or whatever) internally.

• The process isolation isn’t the hard part.

• UX matters.

Takeaways

Recommended