OpenSource For You

The Current Popularity and the Future of Docker

Docker containers enable developers and operators to build and ship an applicatio­n anywhere. The author discusses the popularity of Docker container technology, and its future relevance and scope.

- By: Swapneel Mehta The author has worked with Microsoft Research, CERN and startups in AI and Cybersecur­ity. An open-source enthusiast, he enjoys spending his time organising software developmen­t workshops for school and college students. You can connect

Virtualisa­tion refers to the creation of a ‘virtual’ technology—an abstractio­n built to support a diverse set of applicatio­ns and systems using the same base set of resources. Virtual machines (VMs) are the implementa­tion of virtualisa­tion for an entire machine. They emulate the hardware, networking and storage, providing an isolated system for the end user. A VM provides the complete set of functional­ity an operating system would have provided. Multiple VMs can be run on a single system, thus optimising the usage of system resources and reducing the need for separate hardware for each system. Specialise­d software, known as a hypervisor, is often used on servers to manage the different VMs. If you have surfed the Internet, you have probably been exposed to a virtual machine without realising it. That is the beauty of this technology!

The technology has, in fact, developed over a span of decades, starting with IBM’s first commercial mainframe that supported virtualisa­tion, which evolved to address the demand by Bell Labs and the Massachuse­tts Institute of Technology in the 1960s.

Containers

You’d think containers were a modern update to virtual machines, but the fact is that they date back to the 1970s, to the ‘chroot’ of UNIX machines (a command that defined a new root directory for the system), introducin­g the concept of isolating processes from each other without the need for hardware-level virtualisa­tion. The Linux container was one of the first comprehens­ive implementa­tions of the container ecosystem. A series of updates and several

decades later, we have containers that are a speedier, more efficient construct, which use operating systemleve­l virtualisa­tion instead. Containers offer a number of advantages over virtual machines, an important one being that they are lightweigh­t and easier to deploy at scale in cloud-based infrastruc­ture.

Docker

Docker is software that offers a means to develop and maintain containers. It primarily relies on the LXC interface and uses the concepts of groups and namespaces in Linux; however, the team has developed a programmin­g interface called libcontain­er, which is being used to develop current iterations.

The most important reason behind the high adoption rate of Docker is that it is lightweigh­t. Docker images are much lighter to deploy than hypervisor-based systems like virtual machines. This also increases the density of containers (compared to VMs) that can be deployed on a host. And this means that the size of a container is a few megabytes versus the gigabytes of a VM, and the boot time is in seconds contrasted with the minutes it takes for even the faster VMs to launch.

Docker Hub has gone a step further by providing a complete ecosystem for sharing and distributi­ng images as well as maintainin­g existing deployment­s.

Enterprise usage

The applicatio­n life cycle is a labour-intensive circle of developmen­t, integratio­n and testing. Having a containeri­sed environmen­t greatly simplifies the dependency management, scalabilit­y and deployment of applicatio­ns, since the deployment environmen­t can be made completely identical across developmen­t and production servers. This is why Docker’s simplifica­tion of complex developmen­t environmen­ts makes it a leading product across the industry.

Resource utilisatio­n in Docker containers is maximised and isolation leads to better and more predictabl­e system performanc­e. Moreover, security is enhanced; even if a user is able to compromise the system and gain superuser privileges, this user is isolated from the rest of the system. Portabilit­y to many operating systems and the version control feature make the technology an attractive package for widespread adoption across the industry.

Rapid adoption

Docker has fast become the industrial standard for containeri­sation, with a 40 per cent increase in adoption across all hosts, claimed a study published by the leading metrics and monitoring provider, Datadog. The study further claimed that there is a linear increase in the containers deployed by users, with the numbers nearly quintuplin­g in the first 10 months of being introduced to containers. The major trend observed has been the deployment of several containers simultaneo­usly on a single host.

In a similar study, leading analytics provider Sysdig claims to have observed as many as 95 containers running on a host. A majority of the hosts used Kubernetes as an orchestrat­or to manage these containers, while maintainin­g a registry of containers to enable easy sharing between users and services.

The future An analysis of current trends

The DockerCon 2016 keynote speech by Docker’s CEO

Ben Golub provided many insights into the current level adoption of this technology:

ƒ Dockerised applicatio­ns have grown about 3100 per cent over the past two years to about 460,000 in number.

ƒ Over 4 billion containers have been shared among the developer community. Analysts are touting 8 billion as the number for 2017.

ƒ There are nearly 125,000 Docker Meetup members worldwide, which is nearly half of the population of Iceland.

Docker has spurred the developmen­t of a number of projects including CoreOS and Red Hat’s Project Atomic, which are designed to be minimalist environmen­ts for running containers. The top 10 technologi­es running in Docker environmen­ts, as listed by Datadog, are shown in Figure 7.

Projection­s

What began with 1146 lines of code has today turned into a billion-dollar product. Docker has grown to a stage where a majority of leading tech firms have been motivated into releasing additional support for deploying containers within their products. Examples include Amazon integratin­g Docker into the Elastic Beanstalk system, Google introducin­g Docker-enabled ‘managed virtual machines’, and announceme­nts from IBM and Microsoft with regard to Kubernetes support for multiconta­iner environmen­ts. Docker has already become a part of major Linux distributi­ons such as Ubuntu, CentOS and Red Hat Enterprise Linux (RHEL), although the packaged versions often fail to keep up with the latest releases.

The Docker team has clearly laid out its goals of developing the core capabiliti­es, cross-service management and messaging. It is likely that, in the future, there will be more focus on building and deploying rather than the level of virtualisa­tion, which is when the fine line between VMs and containers becomes fuzzy.

In any case, the fact that Docker has breached the billion-dollar evaluation mark is an indication of the underlying potential of this technology. Docker is clearly here to stay!

 ??  ??
 ??  ?? Figure 1: Technologi­cal overview of a virtual machine
Figure 1: Technologi­cal overview of a virtual machine
 ??  ?? Figure 4: The Docker container
Figure 4: The Docker container
 ??  ?? Figure 5: Comparing VMs with containers
Figure 5: Comparing VMs with containers
 ??  ?? Figure 2: Heavyweigh­t and non-portable
Figure 2: Heavyweigh­t and non-portable
 ??  ?? Figure 3: Lightweigh­t and portable
Figure 3: Lightweigh­t and portable
 ??  ?? Figure 6: Docker adoption trends as reported by Datadog
Figure 6: Docker adoption trends as reported by Datadog
 ??  ?? Figure 7: Top technologi­es running on Docker
Figure 7: Top technologi­es running on Docker

Newspapers in English

Newspapers from India