51
Docker: the road ahead 1 Tuesday, June 10, 14

DockerCon14 The Road Ahead by Solomon

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: DockerCon14 The Road Ahead by Solomon

Docker: the road ahead1Tuesday, June 10, 14

Page 2: DockerCon14 The Road Ahead by Solomon

So... what do we do now?aka

2Tuesday, June 10, 14

Page 3: DockerCon14 The Road Ahead by Solomon

Why are we here?

3Tuesday, June 10, 14

Page 4: DockerCon14 The Road Ahead by Solomon

4Tuesday, June 10, 14

Page 5: DockerCon14 The Road Ahead by Solomon

5Tuesday, June 10, 14

Page 6: DockerCon14 The Road Ahead by Solomon

6Tuesday, June 10, 14

Page 7: DockerCon14 The Road Ahead by Solomon

7Tuesday, June 10, 14

Page 8: DockerCon14 The Road Ahead by Solomon

We have a blueprint

8Tuesday, June 10, 14

Page 9: DockerCon14 The Road Ahead by Solomon

“My thought in the 70s was that the Internet was a really good scalable design, and we should make a virtual internet of virtual machines that could be cached by the hardware machines.

It’s really too bad this didn’t happen

Alan Kay9Tuesday, June 10, 14

Page 10: DockerCon14 The Road Ahead by Solomon

Upgrade the Internettime to

10Tuesday, June 10, 14

Page 11: DockerCon14 The Road Ahead by Solomon

We have the technologybandwidth, storage, compute, sandboxing,

crypto, compression, copy-on-write filesystems, paxos/raft...

11Tuesday, June 10, 14

Page 12: DockerCon14 The Road Ahead by Solomon

We have standard interfaces

Time to fix this!

12Tuesday, June 10, 14

Page 13: DockerCon14 The Road Ahead by Solomon

It’s getting people to agree on something

The real value of Docker is not technology

13Tuesday, June 10, 14

Page 14: DockerCon14 The Road Ahead by Solomon

1. Packaging and distribution

14Tuesday, June 10, 14

Page 15: DockerCon14 The Road Ahead by Solomon

2. Sandboxing

15Tuesday, June 10, 14

Page 16: DockerCon14 The Road Ahead by Solomon

libcontainerA standard interface to OS sandboxing

namespaces, cgroups, capabilities, netlink, selinux, apparmor

Core Docker component...But also usable standalone

16Tuesday, June 10, 14

Page 17: DockerCon14 The Road Ahead by Solomon

libcontainerA standard interface to OS sandboxing

A few announcements.

17Tuesday, June 10, 14

Page 18: DockerCon14 The Road Ahead by Solomon

libcontainer

github.com/docker/libcontainer

Now a standalone project

#libcontainer on Freenode18Tuesday, June 10, 14

Page 19: DockerCon14 The Road Ahead by Solomon

libcontainer

Contributing SELinux and systemd integration

Welcome Dan and Alex!19Tuesday, June 10, 14

Page 20: DockerCon14 The Road Ahead by Solomon

libcontainer

Joining as core maintainers

Welcome Victor and Rohit!

20Tuesday, June 10, 14

Page 21: DockerCon14 The Road Ahead by Solomon

libcontainer

Contributing C implementation and OpenVZ support

Welcome Pavel and John!21Tuesday, June 10, 14

Page 22: DockerCon14 The Road Ahead by Solomon

libcontainer

collaborating on unified cgroup interface

Welcome Serge!

& LXC

22Tuesday, June 10, 14

Page 23: DockerCon14 The Road Ahead by Solomon

libcontainer

Join the fun!github.com/docker/libcontainer

#libcontainer on Freenode23Tuesday, June 10, 14

Page 24: DockerCon14 The Road Ahead by Solomon

3.Networking

24Tuesday, June 10, 14

Page 25: DockerCon14 The Road Ahead by Solomon

libchana lightweight communication

protocol for distributed systems

25Tuesday, June 10, 14

Page 26: DockerCon14 The Road Ahead by Solomon

libchanLike Go channels over the network

Simple message passing

Synchronization without sharing state

Raw socket passing: channels as gateways to any other protocol

Nesting: channels can send channels26Tuesday, June 10, 14

Page 27: DockerCon14 The Road Ahead by Solomon

libchanAvailable transports:SPDY/TLS,websocket,raw TCP,high-perf unix sockets (with fd passing),in-memory go channels.

Designed to be simple and portable

27Tuesday, June 10, 14

Page 28: DockerCon14 The Road Ahead by Solomon

libchan

A standard communication layer for Docker:

internal components, plugins,inter-container communication.

28Tuesday, June 10, 14

Page 29: DockerCon14 The Road Ahead by Solomon

libchan

github.com/docker/libchan

29Tuesday, June 10, 14

Page 30: DockerCon14 The Road Ahead by Solomon

4. Orchestration

30Tuesday, June 10, 14

Page 31: DockerCon14 The Road Ahead by Solomon

Docker API

31Tuesday, June 10, 14

Page 32: DockerCon14 The Road Ahead by Solomon

32Tuesday, June 10, 14

Page 33: DockerCon14 The Road Ahead by Solomon

Shipper

33Tuesday, June 10, 14

Page 34: DockerCon14 The Road Ahead by Solomon

Shipper Mesosor

34Tuesday, June 10, 14

Page 35: DockerCon14 The Road Ahead by Solomon

Shipper or Mesos or Coreos/FleetGeardor

35Tuesday, June 10, 14

Page 36: DockerCon14 The Road Ahead by Solomon

Shipper or Mesos or Coreos/FleetGeardor

or or orConsul Helios Centurion

36Tuesday, June 10, 14

Page 37: DockerCon14 The Road Ahead by Solomon

Shipper or Mesos or Coreos/FleetGeardor

or or orConsul Helios Centurion

EC2 Rackspace GCE Orchard Tutum

37Tuesday, June 10, 14

Page 38: DockerCon14 The Road Ahead by Solomon

Shipper or Mesos or Coreos/FleetGeardor

or or orConsul Helios Centurion

EC2 Rackspace GCE Orchard Tutum

38Tuesday, June 10, 14

Page 39: DockerCon14 The Road Ahead by Solomon

libswarmA minimalist toolkit

to compose network services39Tuesday, June 10, 14

Page 40: DockerCon14 The Road Ahead by Solomon

libswarmA standard interface to combine and organize

services in a distributed system.

Compose complex architectures from standard building blocks

Avoid vendor lock-in by swapping any service out with another

Pick services from a built-in library, or write your own with a simple API.

40Tuesday, June 10, 14

Page 41: DockerCon14 The Road Ahead by Solomon

libswarmCommunity-contributed adapters:

Docker server & clientMesos

Atomic / geardFleet / etcd

OrchardGoogle cloud

Rackspace cloudTutum.comShipyard

TLS tunnel41Tuesday, June 10, 14

Page 42: DockerCon14 The Road Ahead by Solomon

libswarmFirst-class Docker compatibility

If you develop on libswarm, we guarantee compatibility with the

Docker ecosystem.

42Tuesday, June 10, 14

Page 43: DockerCon14 The Road Ahead by Solomon

43Tuesday, June 10, 14

Page 44: DockerCon14 The Road Ahead by Solomon

libswarm

github.com/docker/libswarm

44Tuesday, June 10, 14

Page 45: DockerCon14 The Road Ahead by Solomon

libcontainer libchan

libswarm45Tuesday, June 10, 14

Page 46: DockerCon14 The Road Ahead by Solomon

What’s next?

46Tuesday, June 10, 14

Page 47: DockerCon14 The Road Ahead by Solomon

5. Identity47Tuesday, June 10, 14

Page 48: DockerCon14 The Road Ahead by Solomon

6. Authorization48Tuesday, June 10, 14

Page 49: DockerCon14 The Road Ahead by Solomon

Coming soon!

“But I need it naow!”Come say hi, maybe we can hook you up

49Tuesday, June 10, 14

Page 50: DockerCon14 The Road Ahead by Solomon

50Tuesday, June 10, 14

Page 51: DockerCon14 The Road Ahead by Solomon

Let’s go build it!

Happy hacking!Drawings by @laurelcomics

#docker-dev on Freenode

51Tuesday, June 10, 14