10 Open Source Tools for DevOpsMany of the most popular DevOps tools, including Chef, Puppet and Docker, are available under open source licenses.
Owned by Red Hat, Ansible automates many common IT operations tasks, such as cloud provisioning, configuration management and application deployment. It integrates with a lot of other popular DevOps tools, including Git, JIRA, Jenkins and many others. The software has been downloaded more than 5 million times, and it has more than sixteen thousand stars on GitHub. The free open source version is available on GitHub, and Red Hat offers three paid versions—self-support, standard and premium—with prices that vary based on the number of nodes in production and the level of support needed.
Another option for infrastructure automation, Chef makes it possible to manage both cloud and traditional environments with a single tool. It promises to accelerate cloud adoption while maintaining high availability. Quite a lot of documentation and technical resources are available on the Chef site, including many resources designed to help enterprises transition to DevOps and scale their DevOps implementations. The company also offers a paid version of Chef called Chef Automate, as well as two other open source projects: InSpec, which focuses on security and compliance, and Habitat, which makes it possible to deploy apps in any environment, including the cloud, bare metal or containers.
Docker is at the forefront of the new trend toward containerization. It packages together everything that an application needs to run—the code, the runtime, system tools, libraries, etc.—so that applications will operate the same way no matter where they are deployed. Containers are more lightweight than virtual machines, and they also offer some security benefits. A recent survey conducted by Docker found that 80 percent of enterprises surveyed plan their DevOps implementations around Docker.
In addition to the open source version, Docker comes in paid Datacenter and Cloud editions.
In recent years, Git has become incredibly popular for source code management, particularly as the site GitHub has become more popular for hosting open source projects. It stands out from other version control management for the ease with which it handles branching and merging. It's also very easy to use with distributed development teams, and it offers fast performance. Many DevOps teams use it to manage the source code for their applications. Its list of well-known users includes many of the biggest firms in the technology industry, such as Google, Facebook, Microsoft, Twitter, LinkedIn, Netflix, the Linux kernel and many others.
Continuous integration is an integral part of the DevOps approach, and Hudsonis a tool for monitoring and managing continuous integration and testing. Its key features include easy installation and configuration, change set support, real-time notifications of test failures, file fingerprinting and support for a wide variety of source code management systems, build tools, testing frameworks, code analysis tools, application servers and other DevOps tools. Hudson is managed by the Eclipse Foundation, and there is a huge library of plug-ins that extend its capabilities.
The "leading open source automation server," Jenkins was forked from Hudson and offers many of the same capabilities. It boasts easy installation and configuration, hundreds of plugins, extensibility and a distributed architecture that allows it to speed the process of testing. It has a very active user community with lots of scheduled events that offer opportunities to learn more about the software. There is also plenty of documentation on the website, including a blog that is updated regularly.
Released by Walmart Labs as an open source tool earlier this year, OneOps is the newest open source DevOps tool in this slideshow. It brings together cloud management and application lifecycle management capabilities with the goal of helping DevOps teams write and launch applications more quickly. It also makes it easy to switch among multiple cloud providers, helping prevent vendor lock-in and providing greater flexibility. It offers high availability, self-healing and auto-replace capabilities, automatic scaling and integration with many other continuous delivery and automation tools, as well as support for all the major public cloud services.
Used by more than 30,000 organizations, Puppet promises "a standard way of delivering and operating software, no matter where it runs." It automates deployment to boost agility, reliability and auditability. Well-known users of the software include the New York Stock Exchange, 1-800-Flowers.com, Getty Images, Staples and many other large organizations. The entire Puppet ecosystem includes more than 40 different projects and 3,100 modules are available through the Puppet Forge. And in addition to the open source version, it also comes in an enterprise version that has free, standard and premium support tiers.
Another option for IT operations automation, Salt calls itself "the most intelligent, powerful and flexible open source software for remote execution, configuration automation, cloud control and event-driven orchestration." First released in 2012, it's used by tens of thousands of organizations, and it has won numerous awards, including the Best of VMworld 2014 award for virtualization management, an InfoWorld 2014 Technology of the Year Award, and being named a Gartner Cool Vendor in DevOps in 2013. The open source version is often referred to as Salt Open, and it also comes in a paid enterprise version called SaltStack Enterprise.
Owned by DevOps tool vendor HashiCorp, Vagrant aims to make it easy to set up development environments that are lightweight, portable and reproducible. It's a command-line utility for managing virtual machines. Its users include the BBC, Expedia, Yammer, Mozilla, Nokia and others. It integrates with Chef, Puppet, VMware, Amazon Web Services and many other DevOps tools and cloud services. Paid VMware plug-ins are available through partners, and HashiCorp offers related paid tools for managing DevOps environments.
To be sure, the list of open source tools for DevOps is growing. Why? Because DevOps itself is growing, and open source is a natural choice for this development methodology.
First coined around 2009, the term DevOps refers to an approach to IT that emphasizes collaboration between the development and operations groups. It arose out of the agile software development movement and applies some of the same principles to the application lifecycle management (ALM) process. DevOps is difficult to define because it's more of a movement or a philosophy than a rigid set of rules or practices. Organizations that employ DevOps are characterized by a high degree of cooperation, few internal "siloes," heavy use of automation, continuous testing and integration, and faster development and deployment of applications.
In the time since DevOps was first imagined, its popularity has increased tremendously. In fact, a RightScale survey found that 74 percent of organizations and 81 percent of enterprises say they are using DevOps.
In order to support DevOps, organizations generally deploy a number of different tools, and many of the top DevOps tools are available under open source licenses. This slideshow looks at ten that are particularly popular or interesting. Many of them automate the process of deploying or managing infrastructure, which is one of the key ingredients to a successful DevOps implementation. All are open source and worth checking out if your organization is interested in DevOps.
Photo courtesy of Shutterstock.