We all have been hearing about Containers for a long time now. 1979 was the year when we first saw what Unix v7 can do and in the recent times, we are 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. The thing that differentiates Docker from earlier technologies is, it makes container deployment a child’s play and at the same time makes sure it stays safe. Simplifying Configuration, Code Pipeline Management, Container as a Service, and Data Processing are 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 as well as deploy it on any infrastructure without the overhead of a virtual machine. Docker provides a consistent environment to manage code and data processing pipeline for any application from dev to production. Use of common REST-APIs to communicate between micro-services instead of large applications is another use case where developers are finding Docker commodious.
It’s been four years since Docker made its first appearance in container world. Docker, which started as an internal project in a PaaS company and later turned into an open-source project, is now the backbone of application deployment and automation inside containers. In the last few years, Docker is evolving swiftly with significant collaborations and partnerships with big names like RedHat, Microsoft, IBM. With the increase in contribution and contributors, number of Docker Hub downloads have raised from few millions 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 was resulting in duplication of efforts. Along with this, there was a 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 viz. LinuxKit which is a Toolkit for Building Secure, Lean and Portable Linux Subsystems and the other one is Moby.
LinuxKit- Your tool for Linux container support on your platform:
Docker is one of the most favourite platforms when it comes to 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, which 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 from 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, 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 proven track record in assessing the existing infrastructure, applications and transition to automate the deployment of applications inside software containers, design and develop micro-services based application 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.