Containers in The Real World

All industry changing trends have an uncomfortable period where the benefit to adoption is understood but real world use is often exaggerated. The way the modern use of containers fundamentally changes the paradigm with which operations folks run their data centers means that the case for adoption needs to be extremely compelling before anyone will move forward.

Also, since change is hard, major industry-shifting trends come with lots of pushback from people who have built a career on the technology that is being changed, disrupted, or even displaced. In the case of containers, there exists a sizeable assembly of naysayers and not shockingly, they generally come from an Operations (and specifically virtualization) background.

To that end, I decided to dig deep into a handful of case studies and interview industry acquaintances about their experiences with containers in production. Making the case that containers can be handy for 2 developers on their laptops is easy; I was curious to find out what happens when companies adopt a container-based data center practice throughout the entire software lifecycle and at substantial scale. Here is what I found.

It’s Getting Better

One of the major challenges many people reported with containerization in the early stages with relation to products like Docker Engine and rkt was that at scale, it was very difficult to manage. Natively, these tools didn’t include any sort of single pane of glass management or higher level orchestration.

As the container paradigm has matured, tools like Docker Swarm, Kubernetes, and Cloud Foundry have helped adopters make sense of what’s happening across their entire environment and begin to more successfully automate and orchestrate the entire software development lifecycle.

Small Businesses Are Last, As Usual

As with other pivotal data center technologies like server virtualization, small businesses are sometimes least likely to see a valuable return by jumping on the bandwagon. Because of their small data center footprint, they don’t see the dramatic impact to the bottom line that enterprises do when making a change to the way their data center operates. While that’s obviously not always the case, my discussions with colleagues in the field and research into case studies seems to indicate that just like all the big shifts before it, full-steam-ahead containerization is primarily for the data centers of scale, at least for now.

One way this might change in the future is software distribution by manufacturers in a container format. While small businesses might not need to leverage containers to accelerate their software development practice, they may start getting forced into containerizion by the software manufacturers they deal with. Just like many, many ISVs today deliver their offering in an OVA format to be deploy into a virtualized environment, we may begin to see lots of containers delivered as the platform for running a particular software offering.

Containers are Here to Stay

As much as the naysayers and conservative IT veterans speculate about containers being mostly hype, the anecdotal evidence I’ve collected seems to indicate that many organization have indeed seen dramatic improvement in their operations, limited defects, and ultimately seen the impact to their bottom line.

I try to be very careful about buying in to hype, but it doesn’t look like containers are slowing down any time soon. The ecosystem that is developing around the paradigm is quite substantial, and as a part of the overall DevOps methodology trend, I see container-based technologies enabling the overall vision as much as any other sort of technology. It will be interesting to see how the data center landscape looks with regard to containers in 2020; will it be like the difference between virtualization in 2005 and 2015?

  • I haven't really messed with containers much yet...

  • I see nothing wrong with containers as a concept, as long as it's understood at there are benefits and limitations in terms of their use. Is it realistic to only need a 10x20 space to spin up a cluster or some sort of server environment? Sure.

    Is it secure? Depends on how it's set up. Is it portable/does it need to be? Depends on how it's set up. Naturally things like amazon/azure are more portable than containers, on a physical and HA/DR level perspective.

    Is it controlled by whatever organization needs to have control of their hardware/keep things internally? No.

    like rschroeder​ mentions, people tend to silo data (which is different), and my perspective on that is the same as his - silos are not beneficial in that way (and can be mitigated through training)

  • Nice post! Although Containerization is beginning to gain popularity, not all are openly embracing its idea. This is common for a new technology especially if majority of the its intended users are not fully aware its capabilities and benefits, add the fact that not all have fully understand how it works (not yet) or having difficulty using/managing it. But I agree that its here to stay and it wouldn't be long before it starts crawling into every IT's backyard.

  • I think of containers in terms of what I've seen in IT--products with specific niches, teams with specific responsibilities and narrow expertise--which we call "silos".

    What do think about the idea that DevOps containers have a parallel to those niches and silos?

    While breaking through our human silos, to share data and security and techniques, is a challenging but desirable goal, will there be a DevOps world in which sharing certain expertise and access across those containers will end up being very helpful?

    In Alerting and Monitoring, getting the right info about devices/flows/apps and it to the right teams--which may require breaking through those silos--is the task. 

    It may be that all silo'd teams need to sit in an auditorium that has a 60-foot-wide projection display of Orion with all the relevant modules loaded, and then point them each out for every group in the room.  Twenty seconds per Orion tab, just to whet their curiosity, followed up with a focus on Administration and Leader Teams that showcases NPM's front/main view.

    Get them to see their details, and how their details flow into that single pane of glass, and (I hope!) you can sit back and listen to them ask questions.  At that point it's time for the individual module experts to conduct break-out sessions with the silo'd teams.  Then come back all into the same auditorium and put it all together.

    Will the future bring a similar sharing need for containers and their content?

Thwack - Symbolize TM, R, and C