Now that the DevOps movement has begun to penetrate even the oldest software firms, it’s time for the tooling around that role to mature. For some time, Chef and Puppet have been the belles of the DevOps ball, but as the concept matures and solidifies, tooling is cropping up around the industry to address more than just configuration and deployment.
Miah Johnson is in charge of DevOps at Scribd, a slide-sharing site that hasn’t really given her a specific title. Johnson has been working as a systems administrator for more than 15 years, and said that she first dabbled in DevOps back in 2005 while working at Children’s Hospital in Boston.
“I was running the Unix administration systems by myself, so I had more freedom, but I still had to be able to build systems repeatedly and fast,” she said. “That’s where I got into the DevOps mindset and began experimenting with CFEngine and Kickstart.”
And that’s where DevOps came from: the need to quickly deploy systems and updates. CFEngine and Kickstart, though now supplanted by Bcfg2, Chef and Puppet, are designed to automate systems construction, configuration and deployment. And similarly, DevOps is all about building and configuring environments.
But it’s not about building those environments in a vacuum, said Johnson. “Historically, there’s been this wall between development and operations, and that wall has made it so if you want to make changes with the developers, you have to talk to their manager, and he’ll relay a message, and it’s a big game of phone tag and nothing happens for months,” she said.
“The DevOps way is working directly with developers: I’m able to see what they need and give them my feedback immediately. There’s faster iteration on what needs to get done, and the developers have the ability to change my Chef code as well because it’s straight Ruby. If the developers learn a little Chef, they can make those changes as well. It’s great that wall came down. I can submit patches and bugs. Previously, that was very hands off. Now we’re working very closely together.”
Breaking down that wall is what DevOps is all about, said Maciej Zawadzki, CEO of UrbanCode. Doing so implies that there is a common tool set that is being used to deliver software in production, and also in the lower environments, he said. “Chef and Puppet are system configuration tools, and in order to achieve continuous delivery—the full vision of DevOps—it requires a pretty sophisticated set of tools beyond just Chef and or Puppet,” he said.
He went on to state that proper DevOps tooling focuses on three tiers of the problem: rapid machine deployment, rapid environment configuration, and rapid application deployment and configuration. That last chunk of the problem is handled by UrbanCode’s uDeploy tool, while the first tier can be handled by virtual machine management tools.
Patrick Debois, hosted-operation engineer at Atlassian, said that DevOps, as a role, rose out of a sort of industry zeitgeist. “When agile took off, organizations were getting closer to the build system and to deployment, and that was one of the drivers that got us talking about the interaction between development and operations,” he said.
“The other part was from large-scale operations like Flickr or Facebook, who needed a fundamentally different way of automation to handle the scope they had. These trends converged kind of by accident. It’s like a zeitgeist that was happening.”
Thus, Debois said, the role of DevOps evolved out of a realization that both development and operations had through agile. “We recognized that optimizing our work in development and optimizing our work in operations was not sufficient,” he said. “We had things like ITIL, and COBIT, and frameworks for governments on the IT side, and in development you’d have agile and TDD, and still we feel like we’re doing the wrong things. The idea was that we should change the flow between work and production. That’s how the discussion started, and what we’re trying to do.”
At its core, DevOps is all about automation, said Debois. “From a tools perspective, automation is a very big part. At the same time, the concept of infrastructure as code emerged, with things like Puppet, and Opscode’s Chef and CFEngine. These projects understood that to be able to cope with the volume on the server-side, you’d need that deployment automation,” he said.
Subbu Iyer, vice president of products and strategy for applications and software at HP, said that DevOps is all about faster iterations, and faster delivery of changes. “DevOps is a way for organizations to streamline this gap that exists between development and operations,” he said. “We see organizations increasingly looking at DevOps and DevOps practices to deliver innovation on an ongoing basis.”
To that end, HP announced that it would be shipping updated life-cycle management tools on July 1, which now include support and tooling for the DevOps role. HP’s Application Lifecycle Management 11.5 and Performance Center 11.5 include many changes that DevOps people should find appealing, said Iyer.
First up is the new lab-management automation tools included in both software suites. “We believe if you can automate this process, there’s a significant amount of savings,” he said. “If you’re working in an agile fashion, we’re really agnostic with your capabilities, whether it’s on premise or in the cloud.”
Further integrations have been added for Chef and Puppet, allowing DevOps folk to automatically deploy, update and tear down labs, and build model-based designs for their deployments. ALM 11.5 and Performance Center 11.5 both include scheduling utilities and continuous delivery automation tools to make life easier for DevOps.
Said Iyer, “There’s a significant amount of knowledge that exists in the operations team that can be leveraged by test teams, so DevOps, we also believe, can result in better quality. If you can leverage intelligence about the application that exists in the operations team and make it easy to feed that back to the development team, you can deliver better software.”
Finally, HP has included HP Enterprise Collaboration in both of these 11.5 releases. This social Web system gives developers, operators, managers and DevOps folks a place to chatter about defects, requirements and other important aspects of the development life cycle.
But no matter what tools are being used in the DevOps department, Scribd’s Johnson said that having such generalists in an organization, and breaking down the walls of communication between developers and operations folk, is an infinitely better way of doing business.
“I think DevOps is beautiful compared to a straight sys admin,” she said, referring to standard operations admins. “I work with many people who have only ever been sys admins, and their knowledge is extensive, but it’s also very siloed. They know Apache Web Server really well, or they know Sendmail really well, but outside that, they’re not quite as good. The people on the DevOps side have been generalists in their career. The generalists have also become polyglots. We know how everything works and how it interacts with each other. You end up learning all these different languages and knowing how things operate and interoperate.”