What does a DevOps believer with six IT staffers, 1,000 physical servers and more than 6,000 virtual machines do to improve IT efficiency? Automate.
MercadoLibre, an online auction site sometimes called “the eBay of Latin America,” has all its developers and system administrators using Opscode Inc.’s open source cloud configuration management and automation tool,
“Before Chef, maintaining our infrastructure was pretty demanding for the operations team,” said Leandro Reox, MercadoLibre senior infrastructure engineer and cloud architect. “We wanted to move to a less demanding DevOps infrastructure model.”
The process of installing, configuring and deploying new applications created by the development team could sometimes take the operations team upwards of an hour, Reox said. Now, the developer is responsible for defining the application’s configuration within a Chef “recipe,” as well as that of its operating system and virtual machine. As a result, a new VM can be up and running in as little as 8 seconds with no work on the part of the operations team, Reox said.
Meanwhile, the operations team uses Chef to manage the underlying server configurations and will use Chef to manage the OpenStack “Swift” object storage and OpenStack “Quantum,” an open virtual switch.
Overall, Chef is responsible for MercadoLibre’s estate of Web and application servers, database servers, customer relationship management (CRM) and monitoring servers.
“Essentially, Opscode is responsible for our whole server configuration,” Reox said.
"We're actually working hard on getting the database layer fully automated, too. I think that this is the only thing left to automate," said Reox.
The organization started out with Opscode’s Hosted Chef service last summer, but quickly transitioned to inside-the-firewall Private Chef.
With Private Chef, “we don’t have to rely on our Internet connection to update our cookbooks,” Reox said.
Before settling on Opscode Chef, MercadoLibre also looked at other DevOps favorites – configuration management tools such as Puppet and CFengine, which have a reputation for being more accessible to non-developers. But Reox found Chef was a better fit for the team.
“As an operations team, we are pretty open source-oriented people and pretty good Ruby and Python programmers, so writing Chef recipes was pretty easy for us,” he said.
A bigger challenge was getting IT and development teams to think in DevOps terms, he said.
“The hardest thing for us was getting people to think differently,” said Reox, adding the teams had to stop describing things statefully — for example, using static IP addresses — and to start describing things statelessly, such as processes that can be replicated automatically.
It took a little bit of time, “but it’s working really great for us now,” he said.