Enterprise IT folks, meanwhile, may not operate on the same scale as Google, but they say that configuration management tools can also save them time and money.
Ed Bailey, an IT architect at a large U.S. credit bureau, began using Puppet about four years ago to manage a single sensitive file across hundreds of Linux hosts. His team also looked at tools like BladeLogic, now part of the BMC Software Inc.’s Automation Suite, but rejected it and others of its ilk for cost and time-to-implementation reasons.
With this class of enterprise IT software, it can take years and millions of dollars to get anything up and running, Bailey said.
“You’re looking at a three- to six-month demo, a three-month procurement cycle, three months of planning, and professional services,” he said. When all is said and done, “you’re looking at a year or year and a half before you have a working system,” he lamented.
Meanwhile, his group was able to get Puppet in production in less than six weeks, first managing a single file, then gradually extending the deployment. Today, Bailey estimates more than 90% of the environment is “Puppetized.” He’s currently using it to automate a massive migration from HP BladeSystem servers to Cisco UCS. “You just load the operating system, and then Puppet takes over,” he said.
Upping the server-to-sysadmin ratio
In Bailey’s shop, Puppet’s advance has been slow and steady, but cost-effective. The IT department’s server-to-admin ratio has been as high as 250:1, compared to his parent firm’s recommended 35:1 ratio. Assuming $100,000 per year for a skilled Linux admin, Bailey said automating their infrastructure with Puppet saves his firm between $1 and $1.5 million per year in systems administrator salaries.
That being said, Puppet almost didn’t make it into Bailey’s shop because of management’s resistance to non-enterprise open source software.
“[The term] ‘puppet’ doesn’t sound very corporate,” Bailey said. To get it by the censors, the team initially referred to the tool with a benign-sounding, three-letter acronym, passing it off as an internally developed system.
Puppet Labs, inventors of the software, are working to increase the tool’s appeal to enterprise shops. Puppet Enterprise 2.0, released last week, added a graphical user console and new provisioning capabilities for VMware Inc. and Amazon.com Inc.’s EC2 cloud service, plus additional orchestration and base-lining capabilities.
From scripting to programming
Bailey and his team rejected other open source configuration management tools, including the venerable CFEngine, a mainstay of Unix and Linux systems administration. “It’s not really a framework,” he said, “It’s more of a delivery engine for scripts.”
At the same time, Bailey also explored Opscode Chef when it came on the scene a few years ago, but is happy with Puppet.
“Technically, Chef is more programmer-oriented, but that’s a downside for us because we’re not very good programmers,” he said. “We just need something quick that will work.”
However, Chef users warn that taking a non-programming mindset to configuration management might be a way to sell yourself short.
Chris Williams is co-founder of BookRenter.com, an online textbook rental service that uses Opscode Chef. As a former programmer, “I feel like there’s nothing I can’t do,” he said. The same cannot be said of some operations people with limited programming skills. “They might run into limitations.”
Taking a more developer-focused approach to automating IT operations is a central tenet of the emerging DevOps movement, which Williams adheres to. DevOps seeks to speed up and improve application delivery by blurring the lines between developers and operations teams. Configuration management and automation tools are a mainstay of DevOps practitioners.
As such, IT organizations that hope to adopt more of a DevOps mindset should encourage systems administrators to improve their programming skills, said Rohit Amarnath, chief technology officer at Full 360, a New York-based managed service provider that also uses Chef to deliver and manage a cloud-based business intelligence platform.
Ruby, “is not an intimidating language, but you can do it badly,” Amarnath said. The flip side is that the configuration management tasks it automates are not inherently complex or sophisticated. In the emerging DevOps world order, “sys admins will at least need to learn the basics, and start looking at configuration management from more of a language-centric basis,” Amarnath said.