The rise of containerization: There’s a container revolution happening and Docker is driving it. Over the last few years it has been making a name for itself across the tech landscape.
Which means it wasn’t completely surprising to see that Packt’s Skill Up 2017 earlier this year revealed Docker as the number one tool tech professionals plan on learning in 2018. What was particularly interesting was that Docker’s popularity spans a variety of tech roles – over half of the 24 different job roles surveyed by Packt stated Docker is on their learning list for the upcoming year. A tool that was initially used in job roles that were focused on infrastructure and administration has left its proverbial cage, creeping into just about every corner of modern tech. That says a lot about Docker – and maybe a lot about the way technology has changed over the last 5 years.
Containerization is now well-established – if it’s not already being used by developers and engineers, it’s at least on their radar. But why has it grown so quickly now? It’s
worth remembering that the techniques of containerization are hardly brand new – it’s simply that only in the last few years has it come to redefine the way applications are deployed.
Containers have largely been second to virtual machines, and so entrenched has traditional virtualization been in software architecture that it has taken time for containers to move into a position to challenge the dominant mode of thinking. A large part of this is the growth of microservices. And although it’s true that you can build microservices on virtual machines, containers are generally much more effective. As TechBeacon highlights, there are three key reasons why containers are better when it comes to microservices:
Much greater efficiency than virtual machines for running multiple execution environments
It’s easier to isolate different elements of an application which is more efficient in terms of server resources and makes life easier for developers to change and optimize different aspects of an application
They’re much more lightweight than virtual machines – ‘perhaps one tenth or one hundredth the size of a virtual machine’. This means far greater speed.
With these benefits, it’s obvious to see why containers – and by extension Docker – have grown in popularity. However, what’s driving what is a little more difficult to unpick. On the one hand, has containerization been driven by the emergence of a project like Docker? Or was Docker simply in the right place at the right time, with microservices growing in popularity? It’s really a bit of a chicken and egg situation, like many of the most impressive changes in software.
But whatever the real driver is here, the important takeaway is that Docker and containers are changing the software landscape. There’s an argument that Docker has turned us all into sysadmins – and while it might sound a little grandiose, especially as we’re seeing Docker being learned and used by a diverse range of tech professionals, it’s a technology that urges you to get excited about something that might, in the past, have felt just a little boring.
There’s arguably a dotted line that links Docker and containers to the emergence of DevOps. The speed that containers offer over virtual machines, and Docker’s ability to run containers ‘on any computer, on any infrastructure, and in any cloud’ shares a quiet kinship with the thinking behind DevOps – reducing the friction between development and operations.
When you see the broader context in which we find Docker and containerization – one where microservices, DevOps, and other trends like the ‘API economy’ can be found, it’s much easier to see where its popularity has come from. The only question is where it will lead next? Where next for the Docker project? And is it going to impact the way some of the must discussed innovations play out – like AI, and VR? The only answer is to watch this space – and maybe dedicate some time to learning Docker.