DESOSA 2022

Moby

Moby is an open-source framework for creation of container-based solutions. It consists of multiple components, each of them tackling different aspects of container ecosystem. Through integration with container runtime like containerd, Moby provides an abstraction layer on top of the operating system’s process isolation capabilities. It also handles building the container images, creating virtual network stack, providing persistent storage bindings and more.

Moby is used as the upstream for Docker, the widely known containerization solution. It is meant as a playground for the engineers and enthusiasts to experiment and test ideas, to further innovate the modern container ecosystem. When new features contributed to Moby’s repositories are deemed well tested and stable, they will be added to Docker.

Authors

Konrad Ponichtera

Computer Science MSc student at TU Delft, specializing in the fields of software engineering and distibuted systems. Interested in automated methods of ensuring code quality and developing scalable, highly available software solutions.

Jorrit van Assen

Computer Science MSc student at TU Delft specializing in Artificial Intelligence Technology and Cyber Security. I aim to broaden my knowledge of these subjects and to learn how Computer Science can positively impact society.

Dan Plămădeală

First year MSc student at TU Delft, doing Computer Science and specializing in software technologies and software engineering.

Quinten van Eijs

First year MSc student Computer Science (DST)

Moby - Scalability

In our previous blog posts, we analyzed the Moby project’s vision and architecture and its quality and evolution over the last decade. This time we will delve into an essential aspect of the modern software engineering world - scalability. In the world of Big Data and computers being omnipresent in the lives of billions of people, the ability to scale the developed solution and ensure its high availability became essential rather than optional.
Moby
March 28, 2022

Moby - Quality and Evolution

In the previous post, we went through the architectural design of the Moby project and its main part - the Docker daemon. We also discussed multiple views and how it relates to other parts of the modern container ecosystem. A question that remains is how the key quality attributes that are identified in our first essay (modularity, composability, ease of integration, usability, security, and reusability) are ensured. Some of the modularity and security features can generally be tested automatically.
Moby
March 21, 2022

Moby - From Vision to Architecture

Previously we discussed what the Moby project is, how it relates to its downstream product Docker and how its vision helped shape the modern containerization ecosystem. This time we will discuss the architectural decisions made by the Docker team and describe the structure of the ecosystem. Although Docker can work with many operating systems that provide process isolation capabilities, the rest of the essay will be mainly presented from the perspective of the Linux container variant since it’s most well studied and most widely used.
Moby
March 11, 2022

Moby - Product Vision and Problem Analysis

What is the Moby project? At the first glance it might not sound like something that revolutionized the world of software engineering in the last decade. However, it is in fact a community-driven upstream for Docker1, the widely known containerization ecosystem. In this blog we talk about Moby and Docker’s capabilities, common use cases, as well as analyze their stakeholders. We also discuss the key quality attributes, project’s roadmap and potential ethical considerations.