Delivering applications with Docker containers

Picture of Paul Stringfellow Paul Stringfellow works at Gardner Systems plc and has 20 years working with IT Infrastructure and now specialises in the design, development and strategic direction that it will take.  

clip_image001

You may or may not have heard the growing technical buzz around container technology and Docker in particular.

As a solutions architect, who spends time looking at how the latest technology trends can alter the way businesses use IT. Docker is up there at the minute as one of the very hottest trends, it has featured in pretty much every prediction for 2015 (pretty sure you’ve had at least one of them in your email box!) and it’s certainly something I'm casting an interested eye over, to see how application containers may completely change the way we deliver applications, especially web scale applications, in the future.

Firstly in its simplest form, what is a container? As the name suggests a container is a self-contained run time environment within which you place your application, this container is then completely portable between platforms.

Docker until recently has been the only real game in town and this has been underlined by a range of announcements of who is going to support Docker. One of the key announcements are those from Microsoft, who now support Docker containers in Azure and in the not too distant future they will be supporting Docker containers in the next version of Windows Server, this support within the Microsoft eco system, will take Docker from the Linux dev world to the wider market place.

What does all this mean?

Well potentially…and I stress the word, potentially, this could shake up how we see platforms and infrastructures of the future built.

The main way today that we share our hardware platforms, so that we can deliver logically separate applications is via Virtualisation. We pop a hypervisor on a box then install multiple copies of operating systems inside virtual machines. This of course means that we have to manage and maintain all of these OS’s and applications, leading to increased costs and complexity.

Containerisation could completely revolutionise this. Instead of lots and lots of separate operating environments, a container would allow us to logically separate our apps, but lots of containers each housing their own applications could sit on a single OS, that’s only one operating system we need to maintain and patch etc, while keeping our applications in there logically separate containers, that's a huge overhead reduction.

Not only does that logically separate them, but the idea that our applications now live completely self-contained, makes them hugely portable and scalable, if we can just pick up a container with a prebuilt application environment and move it, we could move it to different hardware, different operating systems environments, larger compute farms, all quickly and easily. This has big potential in the software defined future for our datacentres. If we have our apps in completely portable containers, then the ability to move between on premise, hybrid cloud, public cloud etc. becomes very easy and as businesses look increasingly for how to take advantage of cloud infrastructure, solutions like Docker can be a significant part of that.

Are we likely to see our standard back office environments, Exchange, SQL etc deployed in containers, maybe not, right now, Docker is still probably best suited to the new world of web scale applications, built for large cloud compute platforms, and in a software defined environment that application does not want to be bothered by the intricacies of underlying infrastructure, it just wants to deploy and go, then scale as needed.

Containers are certainly a wave of technology to keep an eye on, as one day it has the potential to change the way we all deliver technology, maybe even turning the world of Virtualisation completely on its head. Will it?…who knows…but I’ll be keeping my eyes peeled, just In case it does!

If you want to know more about Docker then pop over to their website and find out more and if you are interested in how Microsoft are bringing Docker to their ecosystem here’s a couple of articles to get you started…