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.