1. Git and GitHub: Git is a repository for storing versions of code, otherwise known as a revision-control system; GitHub is a publicly hosted repository of code that can be downloaded and shared. Both are key for running DevOps environments, according to Matt Lanier, keeper of keys and grounds for Tout, a short-form video delivery firm based in San Francisco.
“We use Git for everything you can possibly use it for,” Lanier said. “Most people use it for revision control, but we use it for provisioning.”
In the company’s Amazon Web Services (AWS) environment, there’s one Git repository; on the other side of the wire in Tout’s data center is another. When provisioning Amazon instances, Tout’s cookbooks point to bits in the Git repository as templates.
2. Jenkins: This open source continuous integration server is essential for testing new code before deployment, according to a number of attendees here.
3. Berkshelf: This open source tool, maintained by Riot Games, offers a way of managing how cookbooks are fetched and deployed to a Chef server in order to make sure the right versions of cookbooks are being run. “If you’re not using Berkshelf in your cookbook development, you’re just doing it wrong,” said Trotter Cashion, founder of a consulting company called Mashion, in a session presentation this week.
4. Perforce: This proprietary revision-control system developed by Perforce Software Inc. is a must-have at Edmunds.com, a publisher of automotive information websites based in Santa Monica, Calif., according to Linux admin Joshua Miller. “Our essential tools are CloudStack, Chef and Perforce,” he said.
5. Nagios: Monitoring how changes to code affect the environment is crucial in deploying applications. The Nagios open source monitoring utility is tried and true — and free.
6. Sensu: Some attendees at ChefConf have moved from Nagios to Sensu, another open source monitoring utility. “I prefer Sensu because Nagios typically requires you to open a lot of firewall holes,” said Miah Johnson, DevOps engineer for Hotel Tonight, a last-minute lodging reservation service based in San Francisco.
7. LogStash: Johnson added that open source-based log-parsing utility LogStash is also key in her environment, providing another way to offer developers feedback on how code is performing by parsing and indexing logs. “It helps you figure out what the important parts of the logs are, and generates metrics based on your logs,” she said.
8. Test Kitchen: This tool allows users to test a Chef cookbook without actually running anything on the Chef Server, a sort of dry run in the cookbook development process.
9. Vagrant: Another lightweight test tool that allows for cookbooks and other software to be run on a virtual machine on a desktop.
10. Foodcritic: This is a really cool open source tool to look at a cookbook and test Chef correctness, said Phil Dibowitz, systems engineer for Facebook. “For us, it catches a lot of the really common errors that people could potentially make, especially if they’re new to Chef.”