Navigating the DevOps Toolchain labyrinth.

Navigating the DevOps Toolchain labyrinth.

One fine day your Organization decides that they need to implement DevOps. Since your organization has years of experience in Developing and Managing applications, implementing DevOps should be easy. After all DevOps is all about Continuous Integration, Continuous Delivery, Continuous Deployment, Automation, Cloud, Containers, and Microservices. You just need to pick up appropriate Tools and technical skills from the market and viola you are on the road to DevOps. Since DevOps is all about implementing Tools how do you go about selecting the same? Oh that’s simple, pick up the best tools (largest market share, technical features…).

 This is the story of most organizations trying to find their feet in the DevOps world. I am sure a few months down the line organizations will be writing the epitaph of their DevOps Initiative. A proven transformational Initiative like DevOps needs to be managed properly with management commitment for the same. It is not just an IT initiative but a business initiative. It should start with a set of DevOps Goals and a DevOps Strategy to achieve the same. The Goals and Strategy should be the driving factors for all your subsequent DevOps actions.

One of your many subsequent actions should be to map your DevOps Goals to your Software Life Cycle (SLC) steps. The SLC is not your Delivery Pipeline. The SLC is your distinct set of activities that is adding value to your software as it moves from one step to another. For each SLC step list all the activities being performed. These activities will be your DevOps Tools Functional Requirements. The set of SLC steps and activities will depend on your DevOps objectives and what steps/activities you want to keep as part of the DevOps Toolchain Functional requirements.

Sample SLC steps and Activities

Plan

  • Capture all the Requirements (Business, Security, Issues).
  • Prioritize the Requirements.

Create

  • Create the Solution Components.
  • Compose the Solution.

Validate

  • Static Analysis.
  • Dynamic Analysis.

Roll-out

  • Inform the Roll-out stakeholders.
  • Prepare the Infrastructure.

Monitor

  • Check the Vital Stats of the solution.
  • Inform the Solution Stakeholders about the health of the solution.

 

The next step will be to map your functional requirements to the current DevOps Toolchains available in the market.

Note: The above is a very simplistic view of the exercise. For e.g. when I say “Prepare Infrastructure” I mean Provisioning and Configuring the Infrastructure (again two distinct Activities). So your above matrix will not be a simple Yes/No Matrix. Also your Tool selection should not be based on the above matrix. You also need to perform a Tool Vendor analysis against a host of criteria’s.

What this matrix will give you is a potential list of tools and their integration points. Ideally there should be no integration points (potential points of failures) but at this point in time there is no single DevOps Tool that performs all the activities.

Evaluating all the available tools based on technical features is a very difficult task when there are 100's of Tool Combinations that can be used to implement DevOps automation. Also selecting Tools based on technical evaluations will leave functional gaps in your DevOps Toolchain.   Use the above Matrix to start your DevOps Journey.

要查看或添加评论,请登录

社区洞察

其他会员也浏览了