Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Puppet Enterprise Targets Application Orchestration

Puppet Enterprise Targets Application Orchestration


Puppet Labs, known for configuration management of servers recently announced support for Application Management and Orchestration.

With the distributed nature of projects and advent of Microservices, applications need to be carefully orchestrated across multiple servers or Virtual Machines. Puppet Enterprise reduces the complexity of application delivery and deployment.

InfoQ caught up with Luke Kanies, founder and CEO of Puppet Labs.

InfoQ: I know you had a strange journey to DevOps. Tell me a little bit about it.

Luke Kanies: A lot depends on how you define DevOps. I started working on automation really early in my career, managing highly repetitive hosts in more than 30 call centers around the US, and used automation to get a lot more done in a lot less time, and I had a lot more fun doing that than the way I used to work.

This led to the recognition that automation could really help align my work as an admin with the goals of the business, which I think of as the core of DevOps. Another way I like to describe it is, as an admin always being able to say ‘yes’ to an internal customer. You want a server? Here you go. You want to deploy into production today? Ok. Basically, just making sure the tools and systems you have support the highest definition of success.

Over the course of my career as a SysAdmin, I kept investing in tools that made my job easier and the quality of my work higher. I ended up starting Puppet Labs because I both couldn’t find the automation tool I wanted, and I wasn’t convinced anyone else was going to build it. I think the work we did in making a widely used and widely usable tool was a critical part of getting people to see the value in DevOps, and to see that it’s approachable to almost any team.

Since then, we’ve focused on how we can get far more people to use automation and other DevOps practices. We’ve run the DevOps survey the last few years, helping us understand what people are actually doing, what the business impacts are, and how widespread it is. Everyone knows about DevOps, but too many orgs are just renaming their sysadmins and not really doing things differently. There’s a long road ahead, and I’m excited to be at the helm of a company with enough reach to have a real chance of helping move the whole market.

InfoQ: Is DevOps a silver bullet for what ails software development? Do Application Developers have to learn how to write Puppet code or modules in addition to what they have to learn?

Luke Kanies: There are no silver bullets, in my experience. DevOps is a critical part of tying technological success to business and customer success, so it will help a lot, but software development is a young field and has decades of work to do to reach the levels of sophistication that, say, Toyota has achieved in building cars. If we could just start over and throw away all production code, life would be so much easier, but that would also lose most of the benefits of software (reusability) over almost any other practice.

In terms of devs having to learn to write Puppet code, in general - no. There are plenty of cases where they will choose to, but even more cases where they won’t. Most devs don’t own how their stuff is deployed (although they should), but you also find that the better your practices are, the more consistent they are, which means devs would end up working more with tools and templates than writing code directly.

InfoQ: Puppet Labs has traditionally been a tool for configuration management of servers. Why this push towards managing applications?

Luke Kanies: Infrastructure only exists to provide applications, so we’ve always been a key part of the application story. Success at DevOps means removing the walls between the silos of server and network admins, but also between the infrastructure and app admins. It’s absolutely required to have an integrated IT operation, and it’s always been the plan. You’ve seen us being used for managing simpler apps for years; we’re now able to provide the kind of tools that enable us to manage even more sophisticated apps.

InfoQ: IT is abuzz with Docker, Kuebernetes and Mesos. How does Puppet Enterprise fit with these technologies? Are they complementary or unrelated?

Luke Kanies: I think they’re perfectly complementary. Obviously part of it is that those tools are only going to be used on a very small percentage of workloads in the next few years, so there’s a huge opportunity to provide help and tools in the whole infrastructure, not just the new world areas. Within these new workloads, there’s still a need for configuration and management, as shown (for example) by the Kubernetes module we recently released for managing the configuration of Kubernetes itself. Docker files tend to just include big shell scripts, which I’m confident we can do better than.

InfoQ: What is the tipping point at which using Puppet Enterprise for applications starts to make sense? For example, if I have a few dozen applications or less will using Puppet Enterprise get me anything?

Luke Kanies: There are many variables that go into when it’s worth investing in automation. In the long term, of course, we want all application delivery and management to be automated, such that it would always be cheaper and better to automate. Today, any environment would benefit from some level of automation, even if it’s just automated auditing and validation. However, most of the tools right now -- including ours, although I think to a lesser extent -- require a decent amount of investment to get them running, so the problem shouldn’t be trivial.

One of our core goals as a company is to constantly reduce the amount of investment needed to succeed with our product, so whatever the answer is today, we hope that threshold will be smaller next year, and the year after.

InfoQ: When I think of Application Orchestration, I am thinking of a feedback loop in which you tweak the application configuration based on certain parameters. Is Puppet Enterprise a tool for the lifecycle of the application or more to just standup an application?

Luke Kanies: Puppet is absolutely about the entire lifecycle, from the day you deploy it to the day you turn it off. One of Puppet’s key features is its strength at ongoing management, not just initial delivery.

InfoQ: Let’s end with a question on DevOps. What is the current state of DevOps adoption and what do you think the future holds especially from an application developer/architect perspective?

Luke Kanies: DevOps as a brand is very widely adopted, but as a well understood practice I think it’s still very young, and used by a small percentage of companies. I think there’s far more value ahead for DevOps, in getting widespread adoption across the enterprise and mid-market, than in the past with primarily early-adopter companies using it.

In terms of how DevOps fits into the application world, it’s really about extending the way they want to work from their laptops into production. They want fast response, API-driven architecture, self-service deployment, and generally to have top-class infrastructure without having to do it themselves. DevOps helps to deliver that, all while pushing the ops teams to be world-class at the same time.

You can get started with Puppet on your laptop. You can also download Puppet Enterprise and try it for free up to a ten-node cluster.

Rate this Article