For the last few years, containers and containerisation have been a growing trend within the tech ecosystem. In this article, I will have a quick look at what they are, and why now might be the moment to start to adopt them.
What is it all about anyway?
Just as virtual machines moved IT away from running one service on one server, allowing more flexibility, resilience and performance, containers allow us to move away from having one application or service running on an operating system. It’s a way to have virtual services with a host operating system. This is another step change and one with large benefits to many organisations.
Ok, so what are these benefits? Virtualisation is great, but there was a lot of learning!!!
To a technical team who has been through virtualisation and is used to its challenges, this isn’t a hard change to make. And running a single host OS with guest services offers a lot of benefits. Here are some.
- It’s cheaper. Just as VM’s make better use of hardware, containers make better use of operating systems. You can run more containers (those services you care about) on fewer servers. If you’re looking at cloud and being billed by the minute, that efficiency really adds up. Even on premises adding to the density will reduce your costs.
- Containers make migrations on-premises or to cloud a lot easier. They are far more portable than VMs. Once an app has been containerised, you can move it easily between different datacentres or even just run new instances in multiple places. So, if you want to move to public cloud eventually, starting with a containerisation approach is a great beginning. You get some returns now and more later but keep your options open. And if you are worried about getting locked into one cloud – containers are a great way to keep your workloads portable.
- Modern development and DevOps teams love them. They are a great complement to these strategies reducing costs, timing and risks. (Sooner or later I will do a DevOps article where I will cover this in more detail!)
- A virtual service is very flexible and fast. It takes seconds to start or restart, so where in the past adding extra components to applications might mean bolting on more servers now you can just add another container. The risk of a restart is also much lower – there are fewer things to go wrong and it takes seconds.
- Have you had a security breach in a containerised application and had it compromised? Just take it offline and start another. Takes seconds, your users keep working and it lets you do forensics if you want later but closes the issue right now. And it’s much harder to get at the host operating system, reducing your attack surface area (and hence your risk profile).
- You can copy services as you would VM’s but it’s quite a bit easier. Want to offer a sFTP service to a group of partners? Cut your security risks and give each of them their own sFTP service, all based on a common design with unique configuration and sign in details. Want to try an application upgrade? Stand up a new copy of the container with the upgrade and if it fails revert to the old one without ever needing to do an uninstall. Yes, you can do something similar with VM’s, but anyone who has tried to manage a complex mess of snapshots will tell you it’s not at all straightforward. It’s way easier with a container.
Hmmm, that’s a nice set of benefits. What are the downsides for my organisation?
This is a technology that has come from the open source world. Microsoft is working really hard to catch up, but they aren’t as far along – today. It works and is pretty well featured but Windows on containers isn’t quite as feature rich as Linux. In addition, you really want a modern OS to be able to get value from containerisation. At the utter minimum Windows Server 2012 if you use the Microsoft stack. Really, you want Windows Server 2017 which comes with a load of container-specific features. So, if you rely on antique operating systems and very old code there has never been a better time to build containers into your 2020 management strategy.
Containers will become the norm, as VMs are today if you want to have a conversation on how to get started or to find out more get in touch.