Infrastructure Operations and Development teams aren’t famed for getting along.
“If only the developers could understand that memory isn’t a free, limitless resource!” say InfraOps.
“If only those operations guys could make sure the production environment is exactly like our development environment – the app runs fine there!” say the devs.
This is old news. The late-noughties brought us promise of a new breed of IT professional – the DevOps engineer – who, with a foot in both camps, would unite these two tribes. This has been true for some organisations, but the reality has been somewhat slower to manifest for most. Lots of IT teams today will recognise this frustrated dialogue between the teams.
The DevOps mind-set isn’t the only idea to take its time to establish itself in IT teams. In 2014 Docker 1.0 was released. Three years later, only around 10 percent of enterprises are thought to be using it for their applications although many more are said to be testing it.
By my estimation, that means there are a fair number of Infrastructure Operations managers that are shortly due to attend a meeting with their development counter-part who will open by saying “We want to do Docker.”
Well, aforementioned Infrastructure Operations manager – this blog entry is for you.
As you begin your search, you’ll find countless articles comparing Docker to Virtual Machines. And that comparison is valid – but only in as much as comparing a horse to a car.
Yes, they can both get you around without having to walk but the spec sheets look completely different: you don’t have a diesel horse any more than you have a saloon with a span of 15 hands.
The comparisons don’t get you, the InfraOps guy, any closer to the answer: but what is Docker? Here’s my one sentence answer for you: it’s a tool to achieve process isolation.
“It’s just Process isolation?!” you might say. “That isn’t new!” you might continue. And you’d be right, FreeBSD had jails from version 4 – released 17 years ago!
“And my Operating System already does that natively.” you might further protest. And you’d be right about that too. It does. Sort of.
Docker goes way beyond the native memory space management Operating Systems do and is much closer to the FreeBSD jails of all those years ago. That is, they provide a process its own view of an OS kernel and everything it controls – critically disk, memory and network.
The difference is an obscure feature now has a name and a funky logo. And it runs on Linux, Windows and BSD – albeit experimentally in the latter case. There are widely available community-built ‘images’ – intermediate layers that can add the files that constitute standard tools or frameworks – the acceptance of which has provided the critical mass to say “Yes. This is the way we do this thing now”.
We tend to think of the IT industry as fast moving and ever changing. But just sometimes that only epigram applies: the more things change, the more they stay the same.