5 reasons developers love containers

Developers are a driving force behind the adoption of container technology in general and Docker in particular. Here's why

5 reasons developers love containers

Linux containers have been around for almost a decade, but it was only with the release of Docker four years ago that large numbers of developers began to adopt the technology.  Now it seems that containers are everywhere and their popularity continues to rise.

Containers have become such an important part of the IT landscape that server virtualization giants like VMware and Microsoft have had to go out of their way to accommodate them. VMware now offers a way to deploy, run and manage containers from within its vSphere virtualization infrastructure management system, while Microsoft — which has built Hyper-V server virtualization into its Windows Server product — has partnered with Docker to create Windows Server containers, and containerization support has been added to the Windows 10 kernel.

That's because virtual machines (VMs) used to be the go-to technology for agile organizations. Now many of these organizations are rethinking their virtualization strategies and looking to containers either in addition to, or instead of, VMs.

Developers in the driver's seat

If there is one population of IT professionals among which containers in general, and Docker, in particular, has proved particularly popular, it is software developers. The reasons for this include Docker's ease of installation and use, its capability to automate common tasks, its useful documentation and code snippets, and perhaps even the fact that it is open source. And it's almost certainly true that these factors combined have helped to make Docker popular with developers.

But there's more to it than that. Here are five reasons that developers love Docker.

1. The trend towards microservices

There is a trend today away from monolithic apps and towards a microservices architecture with applications (or services) built from multiple self-contained components. In many cases these components are perfect candidates for containerization. "Developers like containers because they make it easier for them to move to a microservices architecture — they reduce friction," says Dave Bartoletti, an analyst at Forrester Research.

In fact, the relationship between containers and microservices architecture is complex because the two are interdependent, according to Al Gillen, a software development analyst at research firm IDC. "Containers give you the ability to 'do' microservices, and microservices work well with containers," he says. Put another way, developers like containers because they are convenient for building microservices, and one reason for the popularity of the microservices architecture is that containers make them easy to implement. It's a kind of chicken and egg situation.

2. The rise of DevOps

There's another reason developers like the microservices architecture, Gillen says. "If you build microservices, or a compartmentalized app with small logical pieces that interact through APIs, then that is better for moving towards DevOps," he says.

You could argue that most developers care about writing code and not about how their applications are deployed, but the reality is that the DevOps process is becoming more common, and containerization certainly makes deployment easier. That's because containers will run in any environment — from a laptop to a data center or the cloud — and many DevOps tasks can be automated using Docker. "You can certainly do DevOps without containers, but each builds on the other," says Bartoletti. "If you want DevOps, it is easy to do on a container infrastructure."

3. Developer laziness

Larry Wall, the original author of the Perl programming language, famously called laziness one of the three virtues of a great programmer. (The other two, in case you were wondering, are impatience and hubris.)

To continue reading this article register now

How to choose a low-code development platform