The Moby project is an open-source initiative that serves as a reference assembly for the Docker container platform and provides a comprehensive library for container enthusiasts and system builders. It was initiated in 2013-2014 by pioneers who aimed to help containerization tools mature. Moby is designed for system builders who want to create custom container-based systems, either by using components from the Moby library or bringing their own components (BYOC).
The Moby project is not intended for application developers, who can use Docker or other container platforms. It is a place for experimentation, development of new components, and collaboration with the ecosystem on the future of container technology.
Orchestration in the context of containerization refers to the automation and management of various aspects of container lifecycle, such as creating and running containers, pulling images from registries, managing data, and more. Moby provides a framework for assembling components into custom container-based systems, allowing users to choose from a library of components or bring their own components.
An alternative to orchestration is choreography, which is a style of service coordination where participants exchange events without a centralized point of control. With this pattern, each service performs a local transaction and publishes events that trigger local transactions in other services. Each component of the system participates in decision-making about a business transaction’s workflow, instead of relying on a central point of control. Historically, the most common implementation for the choreography approach was using an asynchronous messaging layer for the service interactions.
For more information on Moby, you can visit the official website at https://mobyproject.org/.
For a deep dive into containerd, a graduated CNCF project that provides core functionality for Docker, you can watch the talk “Extending containerd - Samuel Karp & Maksym Pavlenko, Amazon” at https://www.youtube.com/watch?v=9avPJL9Zqso. This talk covers the architecture of containerd, explains the responsibilities of each component, and dives deep into containerd’s facility for extension.
For a better understanding of the Kubernetes Container Runtime Interface (CRI) and how it allows any container runtime to plug into the kubelet configuration and provide container runtime services for Kubernetes, you can watch the talk “Who’s Running My Pods? A Deep Dive into the K8s Container Runtime Interface - Phil Estes” at https://www.youtube.com/watch?v=f4x8Yk5rhUg.
For more information on implementing an orchestration architecture, you can refer to the article “Implementing an orchestration architecture” at https://developers.redhat.com/articles/2021/09/21/distributed-transaction-patterns-microservices-compared.
For more information on the roles of Docker and Moby, you can visit https://mobyproject.org/about/.
For more information on the history of Kubernetes and the community behind it, you can read the blog post “The history of Kubernetes: The community behind it” at https://kubernetes.io/blog/2018/07/20/the-history-of-kubernetes-the-community-behind-it.
For more information on the roles of Docker and Moby, you can visit https://mobyproject.org/about/.
For more information on the rebranding of the Docker open source project to Moby, you can read the article “How branding decisions open up an open organization” at https://opensource.com/open-organization/17/4/how-branding-decisions-open.