VictorOps is now Splunk On-Call! Learn More.
2020 is set up to be a big year for DevOps. In 2019’s list of top DevOps tools, we showcased a few popular tools that still made the list in 2020. And, 2019 was a big year because it marked the tenth anniversary of the original DevOpsDays event where the DevOps community celebrated a full decade of DevOps in Ghent, Belgium. Over the years, the tools, practices and culture associated with DevOps have continuously improved – living up to the core values of DevOps itself. But, in 2020, the main values of DevOps still persist, collaboration and transparency.
Developers and operations teams are still finding new, better ways to work together – building more resilient CI/CD pipelines, improving the speed and efficiency of testing frameworks, shipping code faster and sharing responsibility for production environments. While most of the engineering and IT value comes from a general acceptance of the DevOps mindset, you can’t ignore the contributions added by useful tools and automation. And, because DevOps spans such a broad range of tasks and skills in software development and IT operations, there are a large number of tools being built and used.
So, we decided to put together a comprehensive list: The 20 Top DevOps Tools for 2020. From source code control and CI/CD to infrastructure monitoring, application monitoring and incident management, these top DevOps tools will lead to more collaborative teams, faster development pipelines, more robust applications and services, and happier customers.
Not only will we list each of these top DevOps tools by name but we’ll walk through how they fit into the software development, delivery and maintenance process. We won’t pretend to say that any one tool is always better than another, because we know that DevOps tools can sometimes offer more value for one team or circumstance than they would in another. Instead, we’ll focus on building a list of 20 top DevOps tools that focuses on every element of DevOps – a list that shows how these tools lead to improved collaboration and transparency, as well as faster development and more resilient architecture.
Instead of focusing on just one of these popular source code control tools (GitLab, GitHub and Bitbucket), we decided to quickly show the overall value of Git as a DevOps tool. GitHub is often thought of as the best place for developers to share open-source projects and collaborate around shared repositories. While GitLab and Bitbucket are purpose-built for the enterprise, helping engineers across disciplines deploy, test, release and ship code faster and more reliably. The main difference between Git and other version control systems is the way it tracks your filesystems, recording any changes made to the system at a given time. Git is crucial for alignment between all development and IT teams, leading to more visibility into development pipelines and more communication across engineering teams.
While every tool in this list contributes to CI/CD in some way or another, the following solutions are dedicated to continuous integration and delivery through automation. Ansible, Jenkins, Chef and Puppet all offer CI/CD pipeline management through configuration management, app deployment, task automation, and IT orchestration. Many teams can use one, or a combination of the following tools, to automate deployment processes and drive greater workflow transparency for software engineers and IT practitioners.
Ansible allows DevOps and IT teams to automate setups, updates, restarts and other maintenance regarding application and infrastructure components. This eliminates a lot of human error and saves a lot of time spent manually configuring systems and CI/CD pipelines. Ansible’s configuration management and IT orchestration can connect to hundreds of other integral tools in your CI/CD pipeline, leading to faster development and more resilient applications and services.
While Ansible focuses a lot on automation and ease of use for configuration management, Jenkins is highly focused on the CI/CD pipeline and building out robust deployment automation. Both Ansible and Jenkins are open-source automation servers and can be used for reliable CI/CD pipelines, app deployments and configuration management – but a large number of teams look at Jenkins as the gold standard for CI. Depending on your toolchain, architecture and team structure, you could find yourself needing to use both tools for different reasons.
Chef uses an imperative language for configuration management. This allows for greater customization and essentially gives DevOps and IT teams the ability to program every aspect of their nodes. However, the ability to customize too much can lead to highly-complex, unnecessary procedures and tech debt. Chef is a more friendly configuration management and CI/CD tool for developers but can often be hard to handle for more traditional IT operations teams.
Puppet uses a declarative language that is more like a description of an asset’s state but doesn’t allow developers or sysadmins with a way to intervene with how they can achieve a certain state. This constraint can limit customizability but often offers more benefits toward reliability. The limitations force DevOps and IT teams to design ideal configurations and lay them out within constraints, reducing the amount of control you have, but often leading to simpler configurations and greater reliability.
It’s important to first mention that containers aren’t right for everyone. But, in DevOps in 2020, you can’t ignore the growth in the use and implementation of container platforms and microservices. Whether you choose Kubernetes or Docker Swarm as your container orchestration tool, your choice is dependent on your architecture and the goals you’re trying to achieve by containerizing applications or services. Breaking large applications and products into microservices running on containers can greatly benefit development speed as well as reliability through limited blast radiuses. But, neither Kubernetes nor Docker Swarm can prevent you from poorly-architected services – that starts with your team.
Slack and Microsoft Teams both offer real-time chat capabilities and can integrate with a lot of other tools in your DevOps toolchain. You can ingest alerts from your monitoring and alerting tools into Slack or MS Teams and use the tool to communicate around production incidents, deployment failures, and so much more. With the proper ChatOps setup and functionality, DevOps and IT teams can run commands and write scripts directly through their chat tools, directly in-line with their person-to-person communication. While Slack is gaining in popularity due to its ease of use and large number of useful integrations, Microsoft Teams also offers a large number of benefits for big companies – especially those embedded in the Microsoft tool suite. Either way, an open communication platform is crucial to any well-rounded, DevOps-minded team.
As businesses globalize, more and more teams are distributed across multiple geographic locations and regions. Any distributed workforce, especially in DevOps, requires reliable, high-quality video conference and live call functionality. Zoom, GoToMeeting and Skype are all popular conference call tools in the industry. DevOps teams need to be able to spin up a conference bridge in seconds and mobilize incident response teams during a firefight. With video and phone call software alongside collaboration tools like Slack and Microsoft Teams, the team should have the agility and transparency they need to rapidly resolve major problems in any environment.
DevOps-minded teams don’t need to choose just one cloud provider, or even go with a public cloud option. However, public cloud options allow for greater flexibility and agility which is often highly-beneficial for successful businesses. Whether you make use of a single cloud provider or leverage a multi-cloud or hybrid cloud strategy is highly dependent on the types of applications or services you’re working with. Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP) each offer highly-effective cloud computing, storage and hosting functionality.
Depending on what you’re working on, each of them will offer different costs and benefits around scalability, portability, agility, etc. When assessing which cloud provider you need, look at the most important aspects and components of your applications and infrastructure and determine which one makes the most sense.
SignalFx, recently acquired by Splunk, is a complete observability tool. SignalFx can ingest traces, metrics and events from your applications and infrastructure to help inform you of not only your system’s health but why the system is behaving a certain way. Once you know what’s wrong and why, your team can fix issues faster and connect application and infrastructure monitoring with the needs of the business. SignalFx helps with debugging and post-incident reviews through service mapping, high cardinality analytics and detailed visualizations and dashboards.
At the pinnacle of application monitoring is this tool – AppDynamics. By improving infrastructure visibility and providing application performance and end-user monitoring, AppDynamics helps you find ways to improve your applications and services for real people. AppDynamics doesn’t force you into only looking at uptime and overall application performance – you can break it down by individual users and transactions to truly find weaknesses with your applications.
Prometheus is an open-source time-series database and monitoring tool often used by DevOps and IT teams to generate alerts based on time-series data. By monitoring time-series data in a tool like Prometheus, you can generate more precise alerts and visualizations that really lead to business insights and engineering outcomes. And, because Prometheus is an open-source, community-driven tool, developers and IT practitioners alike are able to easily mold the tool for their own use cases.
Splunk Enterprise and Splunk Cloud are premium log management, infrastructure monitoring and application monitoring tools. With the ability to ingest data not only from services and devices themselves but also from other monitoring tools, Splunk can serve as a single source of truth for system health and performance. Then, when something’s wrong, powerful log search and filtration functionality alongside informative visualizations and dashboards can lead to faster incident resolution. Whether you manage an on-premises architecture or you’re fully cloud-native, Splunk can provide observability and give you the tools required to take action. Splunk with VictorOps specifically creates a full flywheel of observability, on-call incident response and data-driven incident management.
Raygun is another one of those tools that gives you real insights into the way users experience your service. SRE teams and DevOps-minded engineers alike love Raygun for its ability to provide detailed reports on everything from full-scale app crashes and downtime to performance metrics like network latency, load speeds, etc. Raygun’s real-user monitoring can expose both client-side and server-side issues for customers and help product teams prioritize engineering roadmaps to align with real problems.
Catchpoint is a comprehensive monitoring tool, combining synthetic monitoring, network monitoring, real-user monitoring and endpoint monitoring to detect errors and incidents anywhere in your architecture. The ability to run synthetic metrics through the system is a unique benefit of Catchpoint as compared to most of the other software in our top 20 DevOps tools list. For smaller teams who don’t have large amounts of real metrics to test service reliability or performance, Catchpoint can help you find those problems as you scale, before customers see the problems. Catchpoint helps find issues anywhere – whether they’re happening due to a user’s browser or device or if they’re happening because of an application or infrastructure problem.
Well, clearly we’re a little biased with this one. But, with VictorOps on top of nearly any tool in this list, you can notify engineers and on-call responders about incidents in real-time alongside actionable alert context and remediation instructions. In one single pane of glass, DevOps and IT practitioners can collaborate during a firefight and drastically reduce the amount of time it takes to acknowledge and resolve incidents. Through automated alert rules and escalation policies tied into your on-call schedules, you’ll ensure fewer drops in coverage and more accurate notifications being served to the right people – helping you silence more unactionable alerts. If you’re curious, you can check out VictorOps in our on-demand demo here, or you can try it for yourself with a 14-day, free trial.
Selenium is a popular, powerful automated testing tool. DevOps-centric teams often rely on a faster method for testing in order to improve QA without slowing down the development, deployment and release lifecycles. The full suite offered by Selenium allows for full-scale test automation across all aspects of a web application and its connected parts. Automated testing is necessary to ensure developers and IT practitioners have more time to keep writing and shipping new code instead of running tests and manually fixing issues in the deployment backlog.
One of my personal favorites in this list, Gremlin. Chaos engineering was made popular by Netflix as a way to proactively run chaos through your systems in order to see how they respond to stress and unforeseen circumstances. With Gremlin, you can design the types of experiments you’d like to conduct or simply re-enact past issues you’ve had and run them through your applications and services to see how they hold up. While running chaos experiments and game days can seem like a lot of time and effort up front, the rewards around delivery speed and reliability will start to show up over time.
ServiceNow is the gold standard in DevOps and IT for ticket management and documentation. The highly customizable interface allows for numerous users across different disciplines to use the product to manage IT workflows and track tickets over time. ServiceNow can connect to all of your monitoring tools, chat tools and real-time on-call incident response tools in order to keep accurate records of everything happening across all of your teams. (P.S. Check out some of the benefits of using VictorOps and ServiceNow together here.)
Last but certainly not least is Statuspage. Statuspage helps you build trust with customers and offers transparency quickly while your team firefights issues. When integrated well with your monitoring and alerting toolchain, Statuspage can be used to manually or automatically change the status of different applications and services under your control. This way, you can focus on fixing the root cause of an incident, not focusing on the PR of how you need to communicate with customers. The faster you fix problems, the happier your customers will be. But, in the meantime, customers need a way to find out what’s going on with your service. Otherwise, you’ll be innundated with emails and phone calls wondering what’s going on.
While the list of 20+ tools listed above can serve as a great starting point for DevOps-minded teams, it’s by no means an end-all-be-all. DevOps is a mindset – a way to improve collaboration and transparency at all stages of software delivery and upkeep. Depending on the type of service you’re building, what’s important to your specific business and engineering teams, and the way your teams are structured, these tools may not even be right for you. DevOps tools should be used to serve the engineers and the system architecture, not the other way around. Be careful when assessing DevOps software and ensure each tool can provide tangible value to the organization before making a decision to purchase.
You’ll likely only need a few of the tools listed above in some combination or another. No DevOps tool is a substitution for careful thought processes, accurate documentation, collaborative engineers and robust applications and infrastructure. But, no matter how effective your engineering team, incidents are bound to occur. With these tools by your side, DevOps-minded engineers can feel confident with maintaining accountability for the uptime and overall performance of the services they support.