Containers Are The Future But The Future Isn’t Finished

KubeCon 2016 Logo
Conference logo from KubeCon 2016 Seattle, WA (Photo: Justin Warren)

Containers are a big deal, and they’re only going to get bigger. That’s my view after attending the latest KubeCon (and CloudNativeCon) in Seattle last week.

A year ago, I was confused about what containers mean for IT, because the name ‘container’ had me thinking it was about the little box that code was stored in: the container image. I’m here to tell you that the container image format itself (Docker, rkt, whatever you like) is not the point.

The most important thing about containers is the process of using them, not the things themselves. The process is heavily automated. No more installing software by sitting in front of a console and clicking ‘Next’ every five minutes. Unix people everywhere rejoice that Windows folk have discovered scripting is a good thing.

The process is also heavily integrated. Deployment of software is coupled to the software development process itself. This is why cloud native is being driven by application developers: they write the applications to deploy the software into software abstractions of infrastructure that they also wrote. When they check in code to Github, other code (that they wrote) notices and starts the process of testing and building and packaging and deployment. If you want to, the entire process can be completely automated so that new code is pushed to production as a direct result of checking in the new code.

The developers are at the centre of this heavily automated IT factory, much of which they designed themselves.

There are still two very large gaps.

The first is that the cloud native/DevOps folk, at least those at this conference, assume a layer of robust infrastructure exists. Containers need compute and RAM and networks and storage. This is fine if containers are being used inside a pre-existing cloud like AWS, Google Cloud Engine (GCE), or Azure, but if you’re thinking about using containers on some other infrastructure, there is a lot of work to be done before you start using containers themselves.

I refer to this as the “Create the universe” problem, after Carl Sagan’s famous statement that “If you wish to make an apple pie from scratch, you must first invent the universe.”