Date post: | 23-Aug-2014 |
Category: |
Engineering |
Upload: | shykes |
View: | 12,750 times |
Download: | 0 times |
Docker: the road ahead
So... what do we do now?aka
Why are we here?
We have a blueprint
“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 Kay
Upgrade the Internettime to
We have the technologybandwidth, storage, compute, sandboxing,
crypto, compression, copy-on-write filesystems, paxos/raft...
We have standard interfaces
Time to fix this!
It’s getting people to agree on something
The real value of Docker is not technology
1. Packaging and distribution
2. Sandboxing
libcontainerA standard interface to OS sandboxing
namespaces, cgroups, capabilities, netlink, selinux, apparmor
Core Docker component...But also usable standalone
libcontainerA standard interface to OS sandboxing
A few announcements.
libcontainer
github.com/docker/libcontainer
Now a standalone project
#libcontainer on Freenode
libcontainer
Contributing SELinux and systemd integration
Welcome Dan and Alex!
libcontainer
Joining as core maintainers
Welcome Victor and Rohit!
libcontainer
Contributing C implementation and OpenVZ support
Welcome Pavel and John!
libcontainer
collaborating on unified cgroup interface
Welcome Serge!
& LXC
libcontainer
Join the fun!github.com/docker/libcontainer
#libcontainer on Freenode
3.Networking
libchana lightweight communication
protocol for distributed systems
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 channels
libchanAvailable transports:SPDY/TLS,websocket,raw TCP,high-perf unix sockets (with fd passing),in-memory go channels.
Designed to be simple and portable
libchan
A standard communication layer for Docker:
internal components, plugins,inter-container communication.
libchan
github.com/docker/libchan
4. Orchestration
Docker API
Shipper
Shipper Mesosor
Shipper or Mesos or Coreos/FleetGeardor
Shipper or Mesos or Coreos/FleetGeardor
or or orConsul Helios Centurion
Shipper or Mesos or Coreos/FleetGeardor
or or orConsul Helios Centurion
EC2 Rackspace GCE Orchard Tutum
Shipper or Mesos or Coreos/FleetGeardor
or or orConsul Helios Centurion
EC2 Rackspace GCE Orchard Tutum
libswarmA minimalist toolkit
to compose network services
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.
libswarmCommunity-contributed adapters:
Docker server & clientMesos
Atomic / geardFleet / etcd
OrchardGoogle cloud
Rackspace cloudTutum.comShipyard
TLS tunnel
libswarmFirst-class Docker compatibility
If you develop on libswarm, we guarantee compatibility with the
Docker ecosystem.
libswarm
github.com/docker/libswarm
libcontainer libchan
libswarm
What’s next?
5. Identity
6. Authorization
Coming soon!
“But I need it naow!”Come say hi, maybe we can hook you up
Let’s go build it!
Happy hacking!Drawings by @laurelcomics
#docker-dev on Freenode