Application containerization – why you need it


In the age of instant-everything, seconds count. The New York Times claims website users drop off after a mere 400 milliseconds, and a difference in page load time of just 250 milliseconds is enough to convey a distinct advantage over competitors¹. We all agree that great application performance is the key. The question how to achieve that goal remains.

The solution can be application containerization, a recent trend that has gained prominence with the introduction of the open source Docker software.

Application containerization is an operating system level virtualization method for deploying and running distributed applications without launching an entire virtual machine for each app.

No more application dependencies

Traditionally, hosting multiple websites on a single box can be a hassle, especially when the supporting software is not the same for each website. Containerization allows just one host operating system and provides a layer of software at the top of the operating system that isolates multiple applications and their required supporting stacks of software from each other, and from the operating system. It means that each application runs on the ‘bare metal’ of the server plus a single, shared instance of the operating system. As a result, application maintenance is simplified and application dependencies are eliminated. In case of a problem the malfunction does not spread outside the application container it’s running within.

Agile development

Another advantage of dockerized applications is their flexibility and deployment speed. Deploying a new Docker instance takes less than a second compared to the boot time of a virtual machine. Container technologies can dramatically shorten the time required between developing, testing, and deploying running applications and services, allowing to easily clone a front-end website and add extra capacity before the traffic peak.

Container technology relieves companies from the need of traditional configuration management tools. Consequently, it helps them to run complex heterogeneous applications in highly distributed and dynamic environments.

¹Scott Gilbertson, “Users Expect Websites to Load in the Blink of an Eye“,  March 2012