DockerCon14 The Road Ahead by Solomon

Post on 18-Nov-2014

92 views 0 download

description

 

transcript

Docker: the road ahead1Tuesday, June 10, 14

So... what do we do now?aka

2Tuesday, June 10, 14

Why are we here?

3Tuesday, June 10, 14

4Tuesday, June 10, 14

5Tuesday, June 10, 14

6Tuesday, June 10, 14

7Tuesday, June 10, 14

We have a blueprint

8Tuesday, June 10, 14

“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

Upgrade the Internettime to

10Tuesday, June 10, 14

We have the technologybandwidth, storage, compute, sandboxing,

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

11Tuesday, June 10, 14

We have standard interfaces

Time to fix this!

12Tuesday, June 10, 14

It’s getting people to agree on something

The real value of Docker is not technology

13Tuesday, June 10, 14

1. Packaging and distribution

14Tuesday, June 10, 14

2. Sandboxing

15Tuesday, June 10, 14

libcontainerA standard interface to OS sandboxing

namespaces, cgroups, capabilities, netlink, selinux, apparmor

Core Docker component...But also usable standalone

16Tuesday, June 10, 14

libcontainerA standard interface to OS sandboxing

A few announcements.

17Tuesday, June 10, 14

libcontainer

github.com/docker/libcontainer

Now a standalone project

#libcontainer on Freenode18Tuesday, June 10, 14

libcontainer

Contributing SELinux and systemd integration

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

libcontainer

Joining as core maintainers

Welcome Victor and Rohit!

20Tuesday, June 10, 14

libcontainer

Contributing C implementation and OpenVZ support

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

libcontainer

collaborating on unified cgroup interface

Welcome Serge!

& LXC

22Tuesday, June 10, 14

libcontainer

Join the fun!github.com/docker/libcontainer

#libcontainer on Freenode23Tuesday, June 10, 14

3.Networking

24Tuesday, June 10, 14

libchana lightweight communication

protocol for distributed systems

25Tuesday, June 10, 14

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

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

libchan

A standard communication layer for Docker:

internal components, plugins,inter-container communication.

28Tuesday, June 10, 14

libchan

github.com/docker/libchan

29Tuesday, June 10, 14

4. Orchestration

30Tuesday, June 10, 14

Docker API

31Tuesday, June 10, 14

32Tuesday, June 10, 14

Shipper

33Tuesday, June 10, 14

Shipper Mesosor

34Tuesday, June 10, 14

Shipper or Mesos or Coreos/FleetGeardor

35Tuesday, June 10, 14

Shipper or Mesos or Coreos/FleetGeardor

or or orConsul Helios Centurion

36Tuesday, June 10, 14

Shipper or Mesos or Coreos/FleetGeardor

or or orConsul Helios Centurion

EC2 Rackspace GCE Orchard Tutum

37Tuesday, June 10, 14

Shipper or Mesos or Coreos/FleetGeardor

or or orConsul Helios Centurion

EC2 Rackspace GCE Orchard Tutum

38Tuesday, June 10, 14

libswarmA minimalist toolkit

to compose network services39Tuesday, June 10, 14

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

libswarmCommunity-contributed adapters:

Docker server & clientMesos

Atomic / geardFleet / etcd

OrchardGoogle cloud

Rackspace cloudTutum.comShipyard

TLS tunnel41Tuesday, June 10, 14

libswarmFirst-class Docker compatibility

If you develop on libswarm, we guarantee compatibility with the

Docker ecosystem.

42Tuesday, June 10, 14

43Tuesday, June 10, 14

libswarm

github.com/docker/libswarm

44Tuesday, June 10, 14

libcontainer libchan

libswarm45Tuesday, June 10, 14

What’s next?

46Tuesday, June 10, 14

5. Identity47Tuesday, June 10, 14

6. Authorization48Tuesday, June 10, 14

Coming soon!

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

49Tuesday, June 10, 14

50Tuesday, June 10, 14

Let’s go build it!

Happy hacking!Drawings by @laurelcomics

#docker-dev on Freenode

51Tuesday, June 10, 14