Ashutosh is an Application Developer at Thoughtworks. Apart from his love for Backend Development and DevOps, he has a keen interest in writing technical blogs and articles.
Read it in 18 Mins
Around 2007, the software development and IT operations groups expressed concerns about the conventional software development approach, in which developers wrote code separately from operations, who deployed and supported the code. This resulted in the emergence of the DevOps movement. Combining the terms development and operations, DevOps describes the practice of combining different fields into a single, continuous activity. Often DevOps is considered a role. However, it is more than just a role. It is a set of practices, tools, and a cultural philosophy that automates and integrates the processes between software development (Dev) and IT teams (Ops). If you are new to DevOps, check out the DevOps Certification Training Course to learn more about DevOps technologies.
Multiple tools are required to implement DevOps across its whole lifecycle. In this article, we will discuss different DevOps tools divided into various categories, which combine to form the DevOps Periodic Table.
The DevOps periodic table displays the DevOps tools list across various categories ordered by their functionality and the pricing model (Open Source, Free, Freemium, Paid, Enterprise). Whether you are looking for monitoring tools in DevOps or DevSecOps tools, or any DevOps automation tools, the DevOps periodic table is the go-to resource where you can find all the DevOps tools available.
In a later section of this article, we will discuss the distinct categories in detail. The interesting thing about the periodic table of DevOps tools is that it is constantly being updated as people vote for their favorite tool and suggest tools that are not already there. If you are still unaware of what DevOps is about, check out the DevOps Certificate Training Online.
The DevOps periodic table is often referred to as the XebiaLabs Periodic Table of DevOps tools. The first version V1 was released by XebiaLabs in July 2015. Since its first release, the DevOps periodic table has received an overwhelming response from IT experts. As we already discussed that it is always being updated, the XebiaLabs (now a part of Digital.ai) kept releasing subsequent versions as per the feedback and votes by IT experts. As of now, the latest version of the periodic table is V4.2. If you want to explore the periodic table, Digital.ai presents you with an interactive Website to do this. You can also download the DevOps Periodic Table PDF document. If you want to explore the world of DevOps, you can check out this DevOps Foundation Training Course, where you will learn everything about DevOps.
As of the latest version V4.2, there are seventeen categories across which the DevOps tools have been categorized. They are:
Let us discuss each category in detail.
In the previous version of the DevOps periodic table, AIOps and Analytics were two distinct categories. But now they are combined into one. Big data analytics, machine learning, and other AI frameworks and technologies are together referred to as Artificial Intelligence Operations or AIOps. Various concepts, including Big Data and Machine Learning, are utilized to examine the data of an application. Analytics is used to examine the data that an application has collected. This collection of tools is mostly used to conduct analysis and produce insightful reports. Although there are many technologies available for data analysis, a few are widely utilized in the DevOps sector. Monitoring, logging, and performance tools are also a part of this combined AIOps/Analytics category. Some of the most popular DevOps tools in this category are Instana, Datadog, Splunk, AppDynamics, Dynatrace, New Relic, Grafana, and Elastic ELK Stack.Elastic ELK Stack.
The process of managing the numerous and diverse dependencies and artifacts for your servers, applications, and developers is known as package management. Your processes, products, and solutions are driven by archives, binaries, libraries, tools, scripts, modules, snippets, metadata, assets, and even datasets. Some of the most popular package management tools are JFrog Artifcatory, Sonatype Nexus, Docker Hub, Yarn, NPM, and NuGet.
Instead of using your own hard drive, the cloud is a way to store or access your data online. Nowadays, everything is getting migrated to the cloud and may be kept there as well as executed on it or accessed from it. You can deploy the software or application you create on the cloud. Although there are numerous cloud service providers available today, you can use some of the well-known ones listed here: AWS, Azure, Google Cloud, IBM Cloud, and OpenStack.
Collaboration is one of the key principles of DevOps. Collaboration tools make it easier for teams, individuals, and organizations to work closely. This category is now only concerned with products that enable collaboration on technological or non-technological tasks. All the tools in this category have been demonstrated to assist businesses in maintaining alignment and improving communication from planning through development and delivery. Some of the most popular collaboration tools are Slack, Microsoft Teams, Atlassian Confluence, Stack Overflow, and Mattermost.
When a configuration platform is used to automate, monitor, design, and manage manual configuration procedures, this is known as configuration automation. Servers, networks, storage, applications, and other controlled systems are all affected by changes that are made at the system level. Determining each system's state is a crucial component of configuration management. Organizations may assure consistency across connected systems and boost productivity by coordinating these activities with a platform. As a result, organizations can grow more easily without having to employ IT management staff. Some of the most popular configuration management tools in DevOps are Red Hat Ansible, Hashicorp Terraform, Chef, AWS Cloud Formation, Puppet, Hashicorp Consul, Salt, Hashicorp Vagrant, and Hashicorp Packer.
A container is a standardized software component that wraps up code and all its dependencies to ensure that an application will run efficiently and consistently in different computing environments. It attempts to solve the problem of It works on my machine. Some of the most popular container-related tools are Docker, Red Hat OpenShift, Kubernetes, Amazon EKS, Docker Enterprise, Amazon ECS, Azure AKS, Rancher, Google GKE, and Helm.
In the continuous integration (CI) method of software development, each team member integrates their work at least once every day, which results in several integrations per day. An automated build (including tests) verifies each integration to detect integration errors as quickly as possible. Some of the most popular CI tools are Jenkins, Azure DevOps Code, Gitlab CI, Travis CI, CircleCI, Maven, Atlassian Bamboo, Gradle, and AWS CodeBuild.
Most enterprise apps still rely heavily on databases to function. Every firm has a database involved at some level. Because it might be difficult to deal with schema changes or access real-world test data, databases continue to be one of the major obstacles for testing and deploying software. These issues can be solved with the help of a new set of database tools that are now a part of the DevOps community. Some of the most popular database management tools are Liquibase, Delphix, Idera, Quest Toad, and DBmaestro.
The flexibility to automate application deployment to any environment or platform during every stage of software delivery, from development to testing to production, is known as deployment. The "CD" in CI/CD refers to this fundamental category in DevOps. Whether using Infrastructure as Code, model-based deployments, or orchestration, all tools in this category aid organizations in simplifying the deployment of software. Some of the most popular deployment tools are Azure DevOps Pipelines, Digital.ai Deploy, UrbanCode Deploy, Harness, Spinnaker, Octopus Deploy, CloudBees CD, and AWS CodeDeploy.
The technologies that give organizations the ability to extend their agile methods to accommodate a comprehensive enterprise view are known as enterprise agile planning tools. This is accomplished by promoting business-outcome-driven, customer-centric, collaborative, and cooperative methods, as well as by incorporating ongoing stakeholder feedback. These tools are an improvement over traditional application development life cycle management (ADLM) tools and project-focused agile solutions. Some of the most popular enterprise agile planning tools are Atlassian Jira Align, Digital.ai Agility, Planview, Targetprocess, and Broadcom Rally.
Issue tracking systems are software programs that offer a ticketing system to record and track the progress of each issue that a user reports up until the problem is fixed. Each issue has several details associated with it. These might include the urgency of the issue, how to reproduce it, attempted solutions, and other relevant information. Some of the most popular issue-tracking tools are Atlassian Jira, BMC Helix ITSM, Atlassian Trello, ServiceNow, TOPDesk, and PagerDuty.
The process of integrating, organizing, and obtaining visibility into your end-to-end software delivery pipelines is known as release management. As the DevOps technologies list grows, management of the complete software lifecycle is becoming increasingly important to enterprises. Every step of the way, all stakeholders—from project managers to non-technical leaders - need to be aware of the business and the status of their projects. Release management has an overall impact on the entire company, making it possible for all phases of software delivery, from pre-production to post-production, to become more effective, predictable, and safe. Some of the most popular release management tools are Digital.ai Release, AWS CodePipeline, CloudBees Flow, BMC RLM, and UrbanCode Release.
Securing the application is one of the most crucial factors due to the growing number of threats or vulnerabilities. You can protect your application from numerous assaults using a variety of techniques and technologies. Some of the most popular tools to secure your applications are SonarQube, Synopsys Black Duck, Snort, Micro Focus Fortify SCA, and Hashicorp Vault.
The main purpose of serverless platforms, which are frequently offered by cloud providers, and PaaS, is to let developers focus more on creating code rather than managing or controlling the cloud infrastructure, which includes the network, servers, operating systems, and storage. Since there is no infrastructure to set up or configure, these new services can offer some important benefits for enterprises, including lower costs, easier deployment, and built-in scalability that enables your applications to grow in accordance with consumption. You just pay for the services you utilize, like the Cloud. Some of the most popular PaaS are AWS Lambda, Azure Functions, Heroku, Google Firebase, and Cloud Foundry.
Building code is one of the first tasks when using the DevOps technique to construct an application. It is crucial to managing the source code because every application contains code running in the background that must be updated based on requirements. The source code management systems offer versions to show which user made the modifications and when. Some of the most popular source code management tools are Git, GitHub, Gitlab SCM, Atlassian Bitbucket, Compuware ISPW, and Subversion.
The next step after building your application is to ensure that it functions properly. So, software testing is crucial in this situation. You can check for bugs in your application or software at this point and fix them. The software passes through the software development lifecycle if any bugs are discovered. Software testing has multiple stages, including unit testing, integration testing, system testing, and acceptance testing. It can be manual or automated. Some of the most popular testing tools are Selenium, JUnit, Cucumber, JMeter, and Parasoft.
Value stream management includes monitoring, controlling, and enhancing the benefits software provides to your business during its entire lifecycle. Every task necessary to deliver software to internal or external clients is included in the value stream. It might be of great assistance to businesses that use custom software. DevOps is a terrific first step in the right direction, but organizations must improve their end-to-end software delivery skills to meet business objectives. Value streams are currently the most effective method for measuring and tracking the values that matter most to a business and its consumers. Some of the most popular value stream management tools are Digital.ai, TaskTop, Plutora, and Gitlab.
If you look at any tool of the periodic table, it looks like this:
Any tool in the DevOps periodic table contains five details. Number 2 represents its position in the periodic table. The term Os represents the price model of the tool, in this case, Open Source. Gi is the symbol of the tool, which is just an abbreviation for the tool name. Below the symbol name, you can see the name of the tool. Apart from this, the color represents the category of the tool.
In the periodic table, there are five pricing models in total. They are:
Besides this, there are some common DevOps terminologies you should be aware of. They are:
Acceptance Testing: It is usually a high-level testing of the entire system to assess whether the overall quality of both new and old features is good enough for the system to go into production.
Application Release Orchestration (ARO): These are the programs, scripts, or other items that successfully install and configure a certain application version in a target environment so that it is ready for usage.
Black Box Testing: It is a method of testing that aims to verify outward behavior or state rather than internal behavior, without the knowledge of the internal workings of the system being tested.
Build Agent: It is a kind of agent that can be set up locally or remotely in relation to the continuous integration server. It communicates with one another on managing software builds.
Build Automation: These are the programs or frameworks that enable the automatic compilation of source code into executable binaries. It frequently incorporates code-level unit testing to make sure that the application doesn’t break.
Configuration as code: It is a system configuration management technique that enables teams to setup applications/systems/jobs in a matter of seconds by specifying the configuration for machines, programs, jobs, etc. in code and maintaining version control.
Configuration drift: It is a phrase for the general tendency for software and hardware configurations to diverge from or diverge from the template version of the system as a result of manual ad hoc updates (like hotfixes) that are not included back into the template.
Container: These are standalone, executable packages that contain everything required to run a piece of software, including code, runtime, system tools, system libraries, settings, and more. They are comparable to virtual machines but are lighter in weight.
Continuous Delivery (CD): It is a collection of procedures and techniques that speeds up the delivery of high-quality functionality, and creates a quick and efficient feedback loop between your company and its customers.
Continuous Integration (CI): It is a development practice where developers are required to merge code into a shared repository numerous time each day. After that, an automatic build verifies each check-in, enabling teams to identify issues early on.
Delivery Pipeline: The software delivery process for a new application version is implemented through a series of coordinated, automated actions. The goal of each stage of the pipeline is to boost confidence in the new version to the point where a go/no-go choice may be made.
DevOps: DevOps, which is a shortened form of the - development and operations, refers to a set of procedures, techniques, and tools that enhance interaction, coordination, and processes among the various roles involved in the software development cycle. This leads to the rapid and reliable delivery of better software.
DevSecOps: It is the practice of integrating security in DevOps.
Feedback Loops: One of the key principles of DevOps is the creation of quick and continuous feedback between operations and development early in the software delivery process. By doing this, you not only enhance the probability that you're providing clients with what they genuinely want, but you also ease the burden on development, lessen concern about deployment, improve communication between dev and ops, and increase productivity.
Governance: In the context of IT, governance refers to the procedure by which businesses assess their technological investments to make sure they are working as planned and are not posing additional risks.
Infrastructure as Code (IaC): The term "Infrastructure as Code" refers to the delivery and management of infrastructure using code as instead of manual procedures.
Infrastructure as a service (IaaS): It refers to virtualized machines hosted in the cloud that are typically priced on a "pay as you go" basis. Although they have complete authority over the machines, users are responsible for installing and configuring any necessary middleware and apps.
Jenkins: Jenkins is an open-source CI/CD automation software written in the Java programming language. It is used to implement CI/CD workflows, called pipelines.
Lean: A "lean manufacturing" or "lean production" approach or methodology tries to eliminate waste in a manufacturing process by focusing on value preservation.
Non-functional requirements (NFRs): It is the specification of system attributes, such as ease of use, clarity of design, latency, speed, and ability to manage large numbers of users, that characterize how readily or successfully a piece of functionality can be used, rather than simply the existence of the feature. The continuous delivery feedback loop can also be used to address and improve these features.
Open source: Open source refers to source code that is freely available for modification and redistribution. Products include authorization to use the product's source code, design papers, or content.
Platform as a Service (PaaS): It refers to application runtimes hosted in the cloud, which are typically billed on a "pay as you go" basis. Customers supply the application code and restricted configuration parameters, while the offered runtime includes middleware, databases, and so on.
Provisioning: It is the process of getting new systems ready for use. This task is often performed by development or test teams in a continuous delivery situation.
Regression Testing: It is the testing of the entire system to ensure that changes to a software do not impact the existing functionality.
Release Management: It is the process of managing software releases from the development stage through the actual release of the software.
Shifting left: As delivery speeds increase, so do security threats and compliance challenges across applications, teams, and environments. Integrating risk assessment, security testing, and compliance evaluation activities early in the delivery pipeline is referred to as shifting left.
Test Driven Development (TDD): It is a software development method in which a test is written before the code is written. After passing the test, the new code is refactored to an acceptable level. It focuses on writing only the code required to pass tests, resulting in a clean and straightforward design.
Unit Testing: It is a sort of software testing performed during the development process that tests individual parts or components of a software. The goal is to ensure that each unit of software code operates as expected.
Value Stream Mapping: It is a technique for improving process visualization that is widely utilized in lean manufacturing and engineering approaches. Value stream maps are used to identify important process steps against "waste" that may be eliminated from the process gradually.
Version Control System (VCS): It is a system that preserves changes to a file or set of files over time so that specific versions can be recalled later. The most common example is Git.
Virtualization: It is a systems management strategy in which users and applications use simulated systems running on actual, "real" hardware rather than physical machines. Such "virtual computers" can be produced, started, stopped, cloned, and discarded automatically, offering operations great flexibility.
White Box Testing: It is a testing approach that focuses on confirming the proper operation of a system's internals by studying its (internal) behavior and state while it operates.
Zero Tolerance: It is typically used as “zero tolerance” for failures in production.
DevOps is going to be the future of IT in our rapidly expanding world, as demonstrated by the Periodic Table of DevOps. All the problems that any developer has when creating an application are readily resolved by the periodic table of DevOps. An application developer can accomplish much more after he chooses to employ the appropriate DevOps tool from the Periodic Table of DevOps since the workflow is being optimized with concern for development and production. This DevOps Periodic Table can be seen as an advancement in that direction. If you are looking to learn more about DevOps, check out the DevOps Certification Training Course.
Avail your free 1:1 mentorship session.
The DevOps periodic table displays the DevOps tools list across various categories ordered by their functionality and the pricing model (Open Source, Free, Freemium, Paid, Enterprise).
XebiaLabs (now a part of Digital.ai) released the first version of the periodic table of DevOps tools in July 2015. It is continuously being updated by XebiaLabs and Digital.ai as per the feedback and votes of IT experts.
There are numerous tools in DevOps. As a part of version V4.2, there are 120 tools across seventeen distinct categories in the DevOps periodic table.