Kief Morris: On DevOps, containers, and empowering end to end services

(c)iStock.com/franckreporter

The concept of infrastructure as code (IaC), where computing infrastructure is managed and configured by automation rather than through manual processing, has been around for a while. Mark Burgess’ work on CFEngine, an open source configuration management system dating back to 1993, laid the groundwork, while DevOps.com introduced its readers to the concept back in May 2014. But what does the landscape look like in 2016?

Kief Morris (left) is cloud practice lead at ThoughtWorks, and author of Infrastructure as Code (the opening extract you can exclusively read here). The book discusses the different approaches of IaC, examples of dynamic infrastructure platforms, going on to detail patterns for provisioning servers. The book has taken Morris two years to write, and in the introduction, he outlines the need for IT teams and developers to move away from the traditional fire-fighting culture to continuous improvement.

“I have been discovering, refining, and using the ideas of infrastructure as code shared by people in the DevOps movement for years,” Morris tells CloudTech. “In working with ThoughtWorks clients, I’ve found that although most people are using technologies and tools like cloud and automated configuration, many teams haven’t worked out how to fully take advantage of the tools. So I thought it would be useful to pull these ideas together into a book.”

Key to these ideas is changing working models while keeping things running smoothly. “Teams need to be empowered to own their services and applications from end to end,” explains Morris. “But teams that provide supporting services to other teams in their organisation need to engage closely with their users to make sure they’re building the right thing, while not making themselves a bottleneck for routine operations.”

Morris notes in the introduction to Infrastructure as Code that the movement is a ‘cornerstone’ of DevOps, and represents the ‘automation’ part of CAMS (culture, automation, measurement and sharing). DevOps as a whole is a skillset which research firms continually claim is vital to have – so what do organisations need to know about DevOps trends going forward?

“I believe a few shifts still need to happen,” says Morris. “One is a move from the split between ‘build’ and ‘run’, [but] this doesn’t mean every application team should build and run its own infrastructure.

“Cloud creates a clean model for teams to manage the way they use infrastructure provided by other teams, and other companies, and this empowers teams to have full ownership of their applications from concept to production,” he adds.

An increasingly important part of the conversation is through containerisation platforms, with Docker assuming the position of court favourite. A Diginomica article from July 2014 proclaimed that ‘virtualisation was dead…long live containerisation’. Naturally, containerisation is essentially just another flavour of virtualisation, but Morris notes its influence over the past couple of years. “Container references increased from a few paragraphs to a few sections, and eventually throughout the book,” he explains.

Can Docker become a platform that is fully enterprise-grade? “I believe Docker is ready for the enterprise, but not necessarily everything in the enterprise at this point,” says Morris. “Containerisation is a great model for defining the contract between applications and the systems they run on in a way that simplifies both, so it’s a natural mode for building new applications and services. But there is a mass of existing software which isn’t architected to be containerised – and we’re all still learning how to implement containerised platforms and applications.”

All in all however, with increased knowledge of IaC, how to deploy it, and how it relates to DevOps and containers, Morris hopes readers will have one takeaway when reading the book: “Use automated pipelines to test infrastructure changes so that you can make changes to your systems confidently.”

Read more: What you need to know about infrastructure as code – and why now