Virtualization Technology News and Information
Q&A: Interview with Jez Humble Talking DevOps and Puppet

Jez Humble, principal consultant at ThoughtWorks Studios, will be speaking at the upcoming PuppetConf (expected to have 1,600 attendees this year) about how organizations can deliver valuable, high-quality software frequently and reliably through implementing effective engineering practices.  To find out more about his plans at PuppetConf and to learn more about DevOps, ThoughtWorks Studios and Puppet, I reached out to Jez for information.

VMblog:  What can attendees expect to learn about devops from your presentation at PuppetConf?

Jez Humble:  Although people often focus on tools and automation, DevOps is really about a mindset. In this talk I'll say what I think that entails, and discuss the characteristics of organizations in which it can exist. Most organizations don't support a DevOps mindset, so I'll also talk about what you can do to change your organizational culture.

VMblog:  How has DevOps helped expand virtualization and cloud computing?

Humble:  I think DevOps has focused attention on what is required of virtualization and cloud computing solutions in order to satisfy the needs of both development and operations. Traditionally, a lot of discussion of the benefits of virtualization has been around the needs of operations - particularly reduced cost and complexity. But developers are customers of this technology too: they're measured on throughput, and to do that safely they need push-button access to production-like test environments so they can do comprehensive testing.

I've seen implementations of cloud and virtualization that have zero - or even negative - impact on the lead time of requests from dev for test environments. But if developers can't self-service new environments through an API, you don't have actually have cloud in my opinion, and you will certainly miss out on many of the benefits of virtualization. The flip side of this is that by giving developers this power you can significantly simplify deployment. In Netflix, for example, the virtual machine images that get deployed to production are generated as part of the development build process.

There's been a lot of discussion on how to leverage virtualization and cloud computing effectively within the devops movement, which has led to lots of good patterns and practices for building services based on them. Martin Fowler has recently run a series of posts on patterns such as ImmutableServerPhoenixServer and SnowflakeServer.

VMblog:  What is the relationship between continuous delivery and DevOps?

Humble:  You can think of continuous delivery as the value proposition of devops - the why, if you like. DevOps is the organizational mindset that enables continuous delivery - a focus on everybody working together to improve dev performance measures such as throughput while at the same time increasing stability and reducing mean time to restore service.

DevOps is a practitioner-lead movement that came from a dissatisfaction with the state of the art in terms of tools and good practices, particularly from the operations side. A big part of continuous delivery came from developers realizing that they had to engage operations from early on in order to reduce the pain of the "last mile" from dev complete to released.

So really, they are two sides of the same coin. Ultimately, they're inspired by a realization that the web hasn't just revolutionized things for users, it also demands we return to first principles and re-think the way we build and run software services.

VMblog:  How does continuous delivery help manage the cloud and virtualization environments?

Humble:  When you're building a private cloud or implementing virtualization, you're creating a service, and you need to treat it like product development. Developing custom software products is the domain of continuous delivery. It makes it cheap and low-risk to make frequent, incremental changes to your software so you can learn and iterate rapidly based on customer feedback.

The big mistake lots of people implementing cloud or virtualization - and indeed any internal tool or service - make is failure to engage with the end-users of the services you're building early and often, and thus spending months and months in an ivory tower building and designing something that people hate using, which thus fails to deliver the expected value.

VMblog:  What advice would you give a virtualization or cloud admin in instrumenting DevOps?

Humble: Talk to the people who will be running things on your infrastructure. Find out what they need. Help them understand your constraints. Find ways to make the behavior of the underlying infrastructure transparent so that developers understand its characteristics and architect for it - that way you'll save yourself a lot of pain down the line.

VMblog:  How do ThoughtWorks and Puppet Labs work together for DevOps?

Humble:  Much of ThoughtWorks' business comes from custom software development, and we have many enterprise customers worldwide. Part of our work is helping customers implement a toolchain that supports both the software and the processes used to deliver and operate it - which is where tools like Puppet come in. We recently blogged about the work we did for Australia's National Broadband Network, where we used Puppet and Go from ThoughtWorks Studios to manage configuration changes to testing and production environments, providing complete visibility and traceability of each change, while also tying in to their existing change management processes and configuration management database.

VMblog:  Why does ThoughtWorks use Puppet?

Humble:  Primarily because we've seen it provide huge value to our customers. We've been using it since the early days, we've gained a lot of experience with the tool and the ecosystem, and we've been involved in developing the patterns and practices around implementing Puppet. It fits well into our development philosophy: it's a lightweight, powerful, flexible tool that is a force multiplier. It also helps that it's opinionated - one of the culture hacks we like to use is ensuring the right thing to do is also the easiest thing to do.


I'd like to once again thank Jez Humble, principal consultant at ThoughtWorks Studios and co-author of Continuous Delivery, published in Martin Fowler’s Signature Series.  We appreciate you taking time to speak with VMblog.

Published Monday, July 01, 2013 7:50 AM by David Marshall
There are no comments for this post.
To post a comment, you must be a registered user. Registration is free and easy! Sign up now!
<July 2013>