Docker: The Platform for New Generation Virtualisation

0
1157
docker virtualisation

This article sheds some light on why traditional virtualisation is losing its sheen and Docker is so popular today.

Virtualisation refers to the process of creating a virtual environment so that minimum resources are used for better control of systems. The main infrastructure needed for virtualisation includes hardware, operating systems, storage devices and a network environment. To build a virtual system, virtualisation technology employs the use of software that mimics hardware capabilities. A single server may run several operating systems, many virtual systems, and numerous applications. Greater efficiency and minimum resources are the key advantages of virtualisation.

Docker can build, share and run apps anywhere
Figure 1: Docker can build, share and run apps anywhere

Operating system (OS) virtualisation is the process of running several operating systems on a single piece of hardware using virtualisation software. Its usage can help save money for developers and enterprise managers by not squandering costly computing power. As a result of the abstraction provided by virtualisation, hardware resources may be shared across different workloads. These workloads generally co-exist on shared virtualised infrastructure while being completely isolated from one another, allowing mobility across infrastructures as and when required.

The key advantages of virtualisation technology are:

  • Low cost with minimum physical infrastructure
  • Easy and fast deployment
  • Fault tolerance and disaster management
  • Fast backup and recovery
  • Improved resource utilisation
  • Server consolidation
  • Dynamic load balancing
  • Virtual infrastructure
  • Improved security and system reliability

Use cases of virtualisation technology include:

  • Performance sensitive workload management
  • Hybrid and multi-hypervisor environment
  • Technical workstations
  • Virtual data warehouses
  • Virtual data lakes
  • 5G in telecom sector
  • Data warehouse offloading
  • Real-time data analytics and dynamic load balancing

Traditional versus new generation virtualisation
Traditional virtualisation is dependent on separate virtual machines and the installation of operating systems on each of them. The drawback here is that there is a huge load on the host operating system, and lots of computing resources and infrastructure are required. However, for new generation virtualisation using Docker, there is no need to create a separate virtual machine for each operating system. Docker images are available for multiple operating systems and software platforms, which can be directly pulled and used in it.

Traditional vs new generation virtualisation using Docker
Figure 2: Traditional vs new generation virtualisation using Docker

New generation virtualisation using Docker
DevOps and rapid applications development (RAD) using advanced virtualisation platforms are immensely popular today. Docker (https://www.docker.com/), a high performance platform used for containerisation and rapid applications development, enables the apps to be developed quickly, and shared and deployed anywhere.

Working with Docker on different platforms
Docker is a cross-platform and open source application that can be deployed on multiple operating systems without any issues of compatibility and performance. Its variants are available for Windows, Mac, Linux and cloud platforms.

View Docker version and related information
Figure 3: View Docker version and related information

Docker has a strong base of developers and developed applications. More than 13 million developers, 13 billion monthly image downloads, and 7 million applications are associated with the Docker platform. The prominent corporate users of Docker include Adobe, Anaplan, Blue Apron, PayPal, Segment, Stripe, Verizon, Yale, University of Calgary, Splunk, PathFactory, Paloalto, Netflix, AT&T, and Lucent Health.

Docker deployment
Docker comes in various forms.

  • Docker for Windows: Available for Windows 10 or above, as the support for Windows 7 and Windows 8 has been withdrawn
  • Docker for MacOS
  • Docker for Linux: Installation on Linux kernel version 3.8 or higher
  • Docker Engine: For building images and creating containers
  • Docker Hub: Public repository and registry to host images
  • Docker Compose: Use of multiple Docker containers

After installation of Docker, the version can be verified using the following instruction:

$ docker version

The detailed information on the installed Docker flavour can be displayed using the following code:

$ docker version

The detailed information on the installed Docker flavour can be displayed using the following code:

$ docker info

Docker is a powerful platform that enables multiple operating systems to be used on it without creating separate virtual machines in virtualisation software. To work on the Ubuntu OS on Windows with Docker, use the following instruction to download the Ubuntu image:

Popular Docker images on public repository of Docker Hub
Figure 4: Popular Docker images on public repository of Docker Hub

Docker Hub
Docker Hub is a cloud based public repository and registry service. Numerous images of assorted platforms and software suites are available on it, which can be pulled and used on Docker installation. It can be accessed from https://hub.docker.com/.

The millions of images available on Docker Hub can be downloaded and integrated for real world applications. These images are deployed under different categories related to the operating system, system architecture and technology.

To use a CentOS image from Docker Hub and run it on Ubuntu, type:

$ docker run -it centos /bin/bash

Docker on cloud
Docker is not only available for dedicated infrastructure but can also be deployed on cloud environments. A number of cloud platforms provide Docker hosting for real world and high performance applications.

There are many platforms on which Docker containers can be deployed.
A few of these are:

  • Amazon Cloud
  • Google Cloud
  • Clever Cloud
  • Microsoft Azure
  • Kamatera
  • HostPresto
  • Red Hat OpenShift
  • Vultr
Searching Docker images on Docker Hub
Figure 5: Searching Docker images on Docker Hub

Scope for research and development
Even though Docker is very popular for assorted use cases in enterprise level applications, there is huge scope for research in this domain. Researchers, practitioners and academicians can work on a number of problems related to new generation virtualisation, including:

  • Migration and security aspects of Docker containers
  • Privacy and integrity of Docker containers on cloud
  • Virtual machine (VM) migration and placement algorithms
  • Resource optimisation in new generation virtualisation technology
  • Microservices management in virtualisation and cloud environment
Previous articleMalicious npm Packages Threaten Web Apps: Report
Next articleNetlify Announces Acquisition of Open Source Quirrel
The author is the managing director of Magma Research and Consultancy Pvt Ltd, Ambala Cantonment, Haryana. He has 16 years experience in teaching, in industry and in research. He is a projects contributor for the Web-based source code repository SourceForge.net. He is associated with various central, state and deemed universities in India as a research guide and consultant. He is also an author and consultant reviewer/member of advisory panels for various journals, magazines and periodicals. The author can be reached at kumargaurav.in@gmail.com.
The author is a professor in the Department of Information Management and Emerging Engineering at the National Institute of Technical Teachers Training and Research (NITTTR) in Chandigarh.
The author is an assistant professor in the National Institute of Technical Teachers’ Training and Research at Chandigarh.

LEAVE A REPLY

Please enter your comment!
Please enter your name here