Docker’s Moby and LinuxKit - Making Containers Mainstream!
We all have been hearing about Containers for a long time now. 1979 was the year when we first saw what Unix v7 could do, and in recent times, we have been looking at Windows server containers and Hyper-V containers. Its inherent advantages, like more computing workloads with lesser hardware, made it popular, and as a result, we have witnessed the rate at which businesses have moved and are still moving their server applications to containers.
One of the best things that could have happened to containers is Docker. In fact, we can clearly differentiate Container timeline as before Docker (BD) and after Docker (AD) ?, such has been the influence of Docker on containerization. What differentiates Docker from earlier technologies is that it makes container deployment a child’s play and, simultaneously, ensures it stays safe. Simplifying Configuration, Code Pipeline Management, Container as a Service, and Data Processing are a few use cases that provide a consistent environment at low overhead with the enabling technology of Docker. Docker lets you put the configure files into code and deploy it on any infrastructure without the overhead of a virtual machine. Docker provides a consistent environment to manage code and data processing pipelines for any application from dev to production. Using common REST-APIs to communicate between micro-services instead of large applications is another use case where developers find Docker commodious.
It’s been four years since Docker appeared in the container world. Docker, which started as an internal project in a PaaS company and later became an open-source project, is now the backbone of application deployment and automation inside containers. In the last few years, Docker has evolved swiftly with significant collaborations and partnerships with big names like RedHat, Microsoft, and IBM. With the increase in contribution and contributors, the number of Docker Hub downloads have risen from a few million to billions. To keep up with the growth and pace, Docker was split into smaller open-source components to increase efficiency, scalability, and modularity, which resulted in duplication of efforts. There was also pressure to use common, standard components from the open-source community, which can make Docker compatible with all the platforms. In this year’s DockeCon, two new important collaborative projects were announced to advance the software containerization movement. LinuxKit is a Toolkit for Building Secure, Lean, and Portable Linux Subsystems, and the other is Moby.
LinuxKit- Your tool for Linux container support on your platform:
Docker is one of the most favorite platforms when it comes to the deployment of applications inside software containers. But a lot of people had difficulties in bringing Docker-native experience to platforms of their choice, which can be cloud platforms, server platforms or desktop platforms. There can be situations where you want a Linux-container yet the platform may not allow you to do so. Using Macintosh or Windows operating systems, or some cloud platforms which inherently don’t enable you to use Linux-containers can be few such scenarios. LinuxKit saves you from all this trouble. As the name suggests, it provides users with kits to build Linux subsystems irrespective of platforms. Docker wants LinuxKits to serve three major expectations which are expected out of any system viz. security, leanness, portability. Secure, as it uses container specific OSes instead of general purpose OS which reduces attack surface and opportunities to attack. Lean, because it uses only those parts which are required by OS which reduces its size to 35MB with a minimum boot time and portable, as it can run on any platform where Docker can run.
Moby - Your new Docker tool for customized containers:
2016 was the year when there was a talk of “How Docker is not sufficiently open and compatible with other platforms?”, in open-source community. With the announcement of project Moby, Docker is making its intentions quite clear to the open-source community. Moby is a new open-source project that facilitates cross-ecosystem collaboration and copes with the changing demands of all platforms like datacentre, cloud, and IoT. Moby provides freedom to developers with interchangeable components like the operating systems, orchestration frameworks or infrastructure management. Contributors can choose components of their choice to build containers. It has a library of more than 80 existing components derived from Docker. You can choose components from Docker library or you can “Bring Your Own Components” (BYOC) or you can mix all these components to build your own container system.
Moby has three fundamental components:
- A library of containerized backend components (e.g., a low-level builder, logging facility, volume management, networking, image management, containerd, SwarmKit)
- A framework to assemble the components in to a container platform, and tooling to build, test and deploy artefacts for these assemblies.
- Moby Origin is a reference assembly, an open base for the Docker container platform, and examples of container systems using various components from the Moby library or other projects.
Source: Docker blog on Moby project
So, Moby is just like a “Lego Club” with given Lego set of 80 Lego blocks, plus you can bring your own Lego blocks, mix them and create your Lego Container. In short, Moby operates on a simple principle “choose, assemble, create, deploy and containerize.”
Opcito and Docker:
As per research findings, the majority of the organizations switching to containers are preferring Docker as their container engine technology, which is evident from the rate of Docker adoption. Opcito has helped technology companies in their Docker-specific container initiatives. Our Docker experts have a proven track record in assessing the existing infrastructure, applications, and transition to automate the deployment of applications inside software containers, design and develop microservices-based applications for optimum utilization of container resources, simplifying configurations, increasing productivity, server consolidation, app isolation for safe sandboxing, all using Docker.
To see how Opcito is helping customers with Docker, visit our customer success stories.