Automate IT and infrastructure, manage complex workflows, and mitigate risk at scale.
Try the full-featured Puppet Enterprise for free on 10 nodes.
Find and prevent compliance failures
Continuous Delivery for Puppet Enterprise
Build, test, and deploy infrastructure as code faster and easier
Compliance Enforcement Modules
Remediate to stay in compliance
Content & Modules
Pre-built scripts to automate common tasks
Get Puppet Enterprise
First 10 nodes are free!
Try it now
Request a demo
Find thousands of component modules built by the community and guidance on using them in your own infrastructure.
Visit Puppet Forge >>
Open Source Puppet
Perfect for individuals and small infrastructure
Automate tasks in orchestration workflows
See all open source projects >>
Contribute to open source projects >>
Whether you’re edging toward a full DevOps initiative or simply looking for ways to better communicate and collaborate across functions, you and your IT organization can take advantage of a wide variety of free and proprietary DevOps tools to help you along.
Table of Contents
A DevOps initiative is really a set of cultural principles and technical practices intended to speed development and deployment of software while improving the quality of that software. A DevOps initiative consists of aligning the entire development and delivery process with the business goals of the organization.
DevOps is also a way of thinking and working that provides a meaningful bridge between the competing priorities of operations and development: Operations is tasked with making things stable and dependable, while developers are tasked with responding quickly to the changing needs of customers and the marketplace.
DevOps tools and practices are supposed to encourage sharing of information, resources and responsibilities, and to end (or in the interim, significantly erode) the toss-it-over-the-wall mentality that prevents operations, development and security teams from thinking more broadly and working together. The right tools aid and promote the sharing that must happen if you really want to speed the delivery of better-quality code.
No single "DevOps tool" can get you to a fully realized DevOps initiative. Still, the tools that bring about sharing and convergence can help change the organizational mindset that holds you back and prevents DevOps practices from taking root.
Don't forget: if you’re not looking for ways to better automate, measure and share, you can be sure your competitors are, regardless of the industry you’re in. So don’t be afraid to dive in and try some of these DevOps tools, many of which are free.
The greatest advantage of an organizational wiki isn’t that it’s a central clearinghouse for information, but that it’s actually easy to use. I’ve rarely met anyone who enjoys the task of documenting IT practices, so it simply doesn’t get done in most organizations. What isn't documented can’t be shared, and that will hurt any DevOps effort. The following wiki platforms make it easy for everyone across your organization to create living documentation.
If you’ve used Wikipedia, you’re familiar with the look and feel of MediaWiki because it was built on MediaWiki. The scale of Wikipedia should give you a good sense of how well MediaWiki handles lots of information across lots of topic areas (and languages), but it’s also notable for its ease of use. You don’t need any programming skills to make it work, and it’s easy to create and edit content pages. It can use MySQL, PostgreSQL, Oracle or SQLite as its database. Free.
Confluence is a part of the family of products from Atlassian which notably, includes ticketing system Jira and HipChat. If your organization is looking for something to track the work that leads to the documentation you create, and thinks it would be valuable to have all these things tightly integrated, then you should take a closer look. Confluence is not free, but is has a flexible pricing structure that includes on-premises self-hosted installations, plus a SaaS offering.
If you’re looking for a more business-minded wiki, TikiWiki bills itself as that option, complete with wiki, blog, forum, calendar and other features. It also employs WYSIWYG editing and RSS, with make both contributing and sharing easy. Free.
If you’re keen on managing your documentation as files, not in a database, DokuWiki or PmWiki may be your best choices. The data files are stored in plain text, which means you can read (and create) them without the wiki. Free.
Like DokuWiki, PmWiki uses plain text files to store page data. It also features access control, and built-in mobile support with plenty of plugins to manage a wide array of documentation needs.
Just as instant messaging changed how people communicate in real time, ChatOps offers similar capabilities for business, with features that make it more useful for organizations looking to improve sharing and collaboration quickly and easily, in real time.
IRC (internet relay chat), the mother of all ChatOps, is an open source chat platform that's been around since before public adoption of the internet (or World Wide Web, as we once called it). IRC is still widely used today on a multitude of sites, including freenode (where Puppet provides community support), as well as IRCnet and others. Free.
Slack is a popular platform that enables you to organize conversations by teams, and create public and private channels that make information as transparent as you want. Free. The paid version is $80 per year per user.
For those already using Microsoft Office 365, Microsoft Teams is their chat platform. Like other collaboration tools, it allows you to engage your team and others, overlapping components as needed, even creating internal and external groups.
An important part of DevOps is moving quickly, and if you’re still doing a lot of basic configurations by hand, you’re going to be hard pressed to make systemic changes at any scale. With a tool like Puppet, you can quickly and reliably create users and groups, configure firewalls, and ensure key services are in place everywhere you need them — and nowhere you don’t.
Of course, I advocate Puppet as the go-to automation tool because it can not only automate the mundane stuff you and your ops team have to do, but also be easily read and understood by people beyond ops. Puppet's straightforward declarative language abstracts the details of configuration management across different operating systems and other technologies, allowing you to start with something simple and engage more people inside and outside your team as you move forward. This helps you become more transparent about all the work your teams do.
In fairness, I should also list Puppet under the Culture section, because it lends itself to a work process that can positively change how you tackle work. The open-source version is free, as is Puppet Enterprise for up to 10 nodes. Pricing for larger Puppet Enterprise deployments starts at about $100 per node, but varies depending on size of deployment and other factors.
Related >> Check out our four-part webinar series on Expanding Beyond Open Source Puppet and our guide on Puppet Open Source vs. Puppet Enterprise.
I list Docker under automation, because as you look for ways to speed deployment, Docker is a great option, particularly for dev environments. By creating your own images — or modifying existing ones to meet your needs — you get environments that are consistent, lightweight, quick to deploy and repeatable.
Docker also integrates well with Puppet, so you can use the more than seven million lines of Puppet code that already exist to build robust images. These Docker-Puppet integrations allow you to bring up an entire Docker or Puppet environment in minutes. There's a free version of Docker, and various paid versions are available, too.
As more and more services move to the cloud, an added benefit are their robust APIs that allow you to push and pull data to and from everything from Dropbox to Salesforce. Though not strictly automation, I’d argue that using the APIs for on- and off-premises cloud apps can give you excellent centralized data management that can be shared across your organization via intranet pages or custom dashboards. In fact, everyone can benefit from using the built-in dashboard and reporting tools available in most cloud-based tools.
Measuring and auditing are important in any IT organization. They take on even greater value as a DevOps tool because measurement enables transparency, information sharing and actionable data.
Whether you’re new to Splunk or you’ve been using it for some time, most would agree it’s a powerful way to monitor and dig into machine-generated data. Its ability to quickly index any data — even different data types — makes Splunk an ideal DevOps tool for getting a bird's-eye view of your systems and for sharing this information. Free for open-source version; various licensed versions start at $162 for 1Gb per month.
Read more >> How Splunk and Puppet work together and how Bolt improves Splunk reports.
As an intelligence tool, Graphite does a great job of turning rather archaic machine-generated data into on-demand graphs. When used with your data-collection agents (which might be as simple as Cron jobs set to echo some data to the Graphite server), it will render dashboards and graphs, which can be deployed on other web pages or apps with the JSON-based API. Free.
Most Linux users are familiar with the command line Git tool for managing version control of software projects. Even new users can get up to speed quickly, particularly if your first goal is to share master versions of application files to distributed teams. By itself, Git doesn’t have a centralized, shared repository, but that can be solved with a solution like GitHub. Free.
GitHub is a company that provides hosting for Git repositories. It also provides some nice graphical tools that make sharing across an organization a lot easier. After all, not everyone feels all that comfortable running a command line app, which in itself can serve as a barrier between teams. The Git website also features some other graphical tools. GitHub offers both public repositories (free) and private repositories starting at $7 per month. Read more: How to manage GitHub Protocol changes on your Puppet code deployments.
Like Git, Mercurial is a version control tool that’s a little less wonkish than the others. It has some unique features, like an instant graphing tool, but its distributed nature is perhaps its greatest selling point Mercurial is a lot like Git in that neither relies on a central repository but like GitHub for Git you can use Bitbucket from Atlassian (Free and Paid) to host your repository.
If you like the idea of having your code repositories and code review happen in the same place, Gerrit makes that happen. It’s a web-based code review and repository management for the Git version control system.
A key principle of DevOps is continuous delivery, which is all about releasing code in short, reliable cycles rather than big dumps. Go is a continuous integration tool that provides visibility into your end-to-end workflow. It allows you to compare builds, and with dozens of handy plugins, you can do some interesting things right out of the gate. Free. Expert support available for a fee.
In keeping with the idea that more is better, GitLab offers users a unified tool built around Git, including code review, wiki documentation, APIs and even an IDE (integrated development environment) with the integration of Koding. Because everything’s integrated, everything’s transparent. That makes it easy for team members to see, weigh in and participate. Free for Community Edition. Enterprise versions start at $3.25 per month.
Jenkins can be used as either a simple continuous integration server or a continuous delivery hub for your projects. It offers users hundreds of plugins to support building, deploying and automating any project, and the new Blue Ocean sub-project offers a slick way to build, run and analyze project pipelines that integrate with your Git repository and even post updates. (There's even a Puppet Enterprise plugin for Jenkins Pipeline.) Jenkins is free.
I hope this post gives you a taste of some handy tools that can help you with your work while helping you think more broadly about how you work. Remember, choose the tools that fit in with your organization and the kind of work it does. No matter how popular a tool may be, if it doesn't work well for your group, it's not going to help you improve.
READ THE ANNUAL DEVOPS REPORT
This blog was originally published on May 5, 2017, and has since been updated for relevance and accuracy.
Business Development Manager, Puppet by Perforce