A recent online survey of cloud professionals conducted by the Linux Foundation found OpenStack to beby a wide margin. Its nearest rival, CloudStack, came at a distant fourth, with less than half the number of votes garnered by OpenStack. The greatest surprise, however, was the emergence of second-placed Docker. A relative newcomer on the scene, it has taken the cloud computing world by storm in a little over 12 months since it was officially announced. So what exactly is Docker, and will it become a significant threat to OpenStack's dominance?
In a nutshell, Docker simplifies management and automates deployment of software applications through the use of an operating system-level virtualisation concept known as containers. While traditional virtualisation systems such as OpenStack require a hypervisor to abstract hardware functionality, containers depend solely on resource-isolation features provided by the operating system that allow independent application environment "containers" to be run within a single Linux instance. This technique avoids the resource overheads of deploying full virtual machines.
The concept of software container virtualisation is not new, having been available in IBM mainframe operating systems since at least the early 1970s. More recently, this technology has been implemented in newer operating systems in the forms of Linux OpenVZ, FreeBSD jails, AIX Workload Partitions, and Solaris Containers. In its current form, Docker was born out of a fledgling platform-as-a-service (PasS) company's attempt to pivot its struggling business model. Initially developed as an internal project within dotCloud, Docker was first released as open-source software in March 2013. Partnerships with Linux industry leaders Red Hat and Canonical were formed, and after just 15 months of development, an enterprise-ready Docker v1.0 was announced. With unprecedented levels of enthusiasm and interest from all sections of the cloud community, even industry giant Microsoft in its hosted environment.
Why has Docker proved to be so popular? Timing has played a crucial role in Docker's meteoric success. The widespread growth and acceptance of Linux as an enterprise operating system has certainly paved the way. The desire to maximise value and optimise infrastructure utilisation through virtualisation has also contributed towards an increased interest in container technologies. The concern of portability within a hybrid cloud environment, and the potential for cloud vendor lock-in, also led to scrutiny of container-based virtualisation.
Perhaps the greatest driving force behind Docker's widespread adoption lies in the growth of a new IT movement known as. A portmanteau of "development" and "operations", DevOps is the melding of software development and system operations skill sets within IT teams in order to facilitate rapid application development and deployment. Docker's architecture and design goals are ideally suited for use within a DevOps environment.
Does this fledging container virtualisation startup pose a serious threat to OpenStack's dominance in the enterprise cloud market? On a basic level, the two platforms have been designed to solve fundamental different problems. OpenStack delivers infrastructure as a service (IaaS), while Docker implements a platform-as-a-service (PaaS) model. While OpenStack is necessary to manage critical IT infrastructure such as servers, storage, and networking, Docker can be used to simplify and speed up the management and deployment of web applications on OpenStack infrastructure. In many ways, these two darlings of the cloud industry provide complementary technology, which can be combined to create an effective application development and deployment solution.
Despite being somewhat of an infant in the fast-paced world of cloud computing, Docker has managed to successfully pivot out of a highly competitive and crowded PaaS market. In the battle for open-source cloud supremacy, the lines between IaaS and PaaS continue to blur. With Docker's container-based approach to virtualisation capturing the imagination of the DevOps community and strong integration support with the OpenStack framework, it stands a fighting chance.