The Moby Project was born out of the containerd / Docker Internals Summit
For components to be successful they need to be successful everywhere. which lead into SwarmKit being mentioned as not being successful because no other ecosystem was using it. Seems to be a strong commitment to make everything into a component out in the open.
Docker wants to be seen as a open source leader thru doing the hard work to support components.
All open-source development will be under the Moby project.
Upstream = components
Moby = Staging area for products to move on like containerd is in the CNF project.
– Heart of open-source activities, a place to integrate components
– Docker remains docker
– Docker is built with Moby
– You use Moby to build things like Docker
– Solomon mentions “1000 of smart people could disagree on what to do”, Docker represents it’s opinion. It’s a lot easier to agree on low level functions because there is few ways to do them.
– Moby will end up as go libraries in Docker but that will go away.
Moby is connected to Docker but it’s not Docker. Name inspired from the Fedora project.
Moby is a trade off to get it out in the open early versus completeness
GitHub should be used a support forum.
InfraKit is a toolkit for creating and managing declarative, self-healing infrastructure. It breaks infrastructure automation down into simple, pluggable components. These components work together to actively ensure the infrastructure state matches the user’s specifications. Although InfraKit emphasizes primitives for building self-healing infrastructure, it also can be used passively like conventional tools
LinuxKit, a toolkit for building custom minimal, immutable Linux distributions.
– Secure defaults without compromising usability
– Everything is replaceable and customisable
– Immutable infrastructure applied to building Linux distributions
– Completely stateless, but persistent storage can be attached
– Easy tooling, with easy iteration
– Built with containers, for running containers
– Designed for building and running clustered applications, including but not limited to container orchestration such as Docker or Kubernetes
– Designed from the experience of building Docker Editions, but redesigned as a general-purpose toolkit
No master plans to change away for go.
Breaking out the monolithic engine API will mostly likley done with gRPC. gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking and authentication. It is also applicable in last mile of distributed computing to connect devices, mobile applications and browsers to backend services.
SwarmKit for orchestrating distributed systems at any scale. It includes primitives for node discovery, raft-based consensus, task scheduling and more.
– Topology-Aware Scheduling
– Service Rollbacks
– Service Logs
– HA scheduling
– Encrypted Raft Store
– Health-Aware Orchestration
– Synchronous CLI
What is Next?
– Direct integration of containerd into SwarmKit by passes the need for Docker Engine
– Config Management to attach configuration to services
– Swarm Events to watch for state changes and gRPC Watch API
– Create a generic runtime to support new run times without changing SwarmKit
– Quality More visibility, motioning and troubleshooting.
– Local-scoped network plugins in Swarm-mode
– Integration with containerd