List of DevOps tools in the DevOps lifecycle

The DevOps life-cycle is the various stages that are involving in the DevOps ecosystem. DevOps ecosystem is the environment with the right tools and technologies implemented to practice the DevOps culture in software development. We have huge number of tools and technology that are implementing the DevOps practice in the market and identifying all of them are very difficult. In this article, we will discuss about the various tools and technologies that are involving in the various stages of DevOps ecosystem.

Stages in DevOps Life-Cycle

First, we will discuss the various steps/stages that are involved in the DevOps life-Cycle. They are,

  1. Plan
  2. Develop
  3. Build
  4. Test
  5. Package
  6. Release
  7. Configure
  8. Monitor

DevOps life-cycle starts with Planning stage where Feature, Story and Backlogs creations and documentation of the same will take place. In the Development Stage, feature development and implementation will take place. The Second stage is the Build stage, where, gathering the code and objects together and integrating it with the system configuration will take place. Next comes the Package stage, Where, the Built file will be stored and maintained in the artifact for the versioning.

In the Testing stage, the package will be deployed and tested with the automated framework or manual test process. Next stage is the Release stage, the Tested packages will be released to the servers and other endpoints. In the Configure stage, Destination servers will be configured as per the system requirements. The final stage is the Monitor stage, Where, Deployed stages are monitored continuously and reports will be sent to the respective stages for the reference for changes.

As we already discussed we have many tools and technology that implements the DevOps in every stage of DevOps Life-Cycle. Let us see the List of tools that are used in stage by stage.

Tools in Planning and Development stage

In this stage, Version control and source code management tools and issue tracking tools will be implemented here. For Example,

Refer article – Introduction To Version Control Systems for a better understanding of version control system. The Issue Tracking system will be useful to plan, assign and manage the task of the software development process.

By integrating the Issue Tracking System and Version Control System, we can automate most of the development and planning process and make its system driven. This will enable capturing the metrics directly from the tools.

Tools in Build Stage

In this stage, the process of Building or compiling the human readable code into executable binary code will take place. In this stage, Build tools like

will be used to compile the code and take the package out of it.

The Build is the process of creating an application program that can be released. In the build process, relevant source code and supporting files are gathered. After collecting the code and supporting files, build process will create the package or executable file.

Typical Build process steps are.

  • Getting the code from the source code management tool
  • Compiling the code and resolve the dependencies.
  • Executing the unit tests.
  • Compiling the package if the above steps are succeeded.
  • Storing and presenting the build logs.
  • Hooking with the next DevOps process.

Tools in Package Stage

Package is the another process in DevOps life cycle where repositories and artifacts are helping us to store the package into it. Tools like

are helping us to achieve the same.

Right after creating the package out of the build process, it should be stored in a place called artifact repository. Build process will run multiple times in a small span of time as we are building the code in the various environment often and it will create multiple artifacts which are very hard to manage. Artifact management tools will help us in managing the artifacts with proper versioning and taglines.

Some points to select the right Artifact management tools are.

  • Predictability and release stability
  • Dependency management and clean config
  • Identifying efficient builds
  • Allows to audit and control over the packages
  • Allows to promote and de-promote (Rollback) environment

Tools in Testing stage

Software Testing is another important stage in DevOps Life – cycle where all the package and source code will be tested before it reaches the production or further environment. To automate this process, we have tools like

Testing in DevOps is the process of testing the software using an automation tool mentioned above to find the bugs, issues, and defects. In Automated testing process, test scripts will be executed in testing tools and test results are generated automatically.

Some typical steps of automated software testing are.

  • Create Test Cases to Automate
  • Continuous Testing
  • Distribute the testing load into multiple nodes
  • Create test data efficiently
  • Generate report automatically

Tools in Release and Configuration

Common operational activities will be done in Release and configuration stage. To do the same, we have tools like

  1. Ansible,
  2. Chef,
  3. Puppet,
  4. Salt stack,
  5. IBM Urbencode,
  6. Octopus,
  7. Clarive and more.

Release management entails planning, scheduling, and controlling a software build through different stages and environments. The configuration is the operational activity in software development where the servers and the platform infrastructure are created, configured and managed using DevOps tools. Underline Release activities are:

  • Planning – Defining the context and scope of the release and preparing release sheet.
  • Build – gathering the packages and configuration files that are required for release
  • Deployment – Deploying into the target system like production server
  • Verification – Verifying the Release with the BRD or the other documents that are created in the planning stage of DevOps lifecycle
  • Closure– Floating the report and sending notification across the team with the release notes.

Some underline activities in Configuration in DevOps Life-cycle are.

  • Planning – Creating the configuration management system which includes the selection of right tools
  • Tracking – Tracking the configuration changes often
  • Managing – Managing the configuration files and supporting scripts including credentials management and security
  • Reporting – Reporting each and every event done by configuration management to the team

Tools in Monitoring stage

Monitoring is another important stage in the DevOps life-cycle. Tools like

are helping to create monitoring system in the DevOps ecosystem.

Monitoring is about keeping an eye on the application performance, infrastructure, database, and other services. Monitoring will capture the metrics and report it back to the DevOps ecosystem. This feedback mechanism helps the DevOps ecosystem to auto-heal or self heal the infrastructure and predict the possible impacts.

Tools in Integration

Integration is the common stage which will integrate any stage with other stage of the DevOps ecosystem. Following tools are used for the integration in DevOps

Integration is a development practice that integrates not only the code but all other stages and components of the DevOps ecosystem and reports frequently By integrating regularly, we can detect the errors quickly, and locate them more easily.

We will discuss more on the DevOps life-cycle in forth coming articles Stay tuned and listen to more whispers of Digital Varys.

9 thoughts on “List of DevOps tools in the DevOps lifecycle”

Leave a Reply