Choosing the Right Tools for DevOps
The technical landscape is awash with self-styled “tools for DevOps”. So much so, it can be overwhelming trying to pick the right ones.
The elusive promise of tools for DevOps is offered by nearly every vendor going. But what exactly are DevOps tools? Isn’t DevOps the coming together of development and operations? A set of practices and mindsets which enables agility and velocity? DevOps tools are a misleading misnomer. When vendors label their products as ‘DevOps tools’, in reality, what they’re actually offering are continuous delivery tools.
With that in mind, let’s dispel the notion that any one solution is suddenly going to introduce the agility, communication and collaboration required by DevOps. No tool will suddenly introduce fully-fledged ‘DevOps’ as a concept to your organization. But the right solution can help ease the transition to continuous delivery.
Continuous delivery is at the heart of moving work from Development into Operations, and is the set of technical practices that sustains DevOps goals. As DevOps is now the norm, teams and organizations have moved beyond the initial period of trying to discern the value of DevOps. Yet, for many firms, achieving continuous delivery and DevOps is still elusive.
Today many firms are concerned with how best to actually achieve implementation of continuous delivery and DevOps. So, they’re looking to implement the right tools. With so many solutions on offer, from so many vendors, it can be easy to get lost in the digital wilderness.
At CA Technologies, we’ve devised a few methods to help navigate you through the technological thicket. Firstly, it’s worth reviewing the stages of development and how to choose the right continuous delivery tools which will enable your automated deployment pipelines to ensure your changes are constantly in a deployable state.
(Not Quite Erikson’s) Stages of Development
Eric Erikson famously theorized there are eight stages of development. Admittedly, he was dealing with psychological development… In software development, however, I put it to you there are six.
- Requirement gathering / analysis
- Implementation / coding
As we discussed, no one tool is a magical panacea which will magic continuous delivery into your organization, but continuous delivery practices can streamline the adoption of DevOps across each stage of development. The tricky part is understanding the needs of the teams using each tool.
The right tools enable processes to be both completed and actioned. Communication and collaboration are key to successful DevOps teams, and so it makes sense the right solutions will facilitate these key elements. Continuous development, integration, testing and even deployment are all fundamental to DevOps. Tools which enable these are equally pivotal. However, you must be mindful that continuous delivery is only one aspect or practice of DevOps. This is why, generally speaking, it is a misnomer to classify continuous delivery tools as tools for DevOps.
Automation should always be at the heart of any continuous delivery implementation. New and changed code needs to be pushed from team to team, environment to environment and TEST to PROD, automatically. It should never be encumbered or slowed by human involvement.
Solutions should be able to handle more than simple communication needs, though. They should bring with them planning features, analytics tools, test automation and test data provisioning processes.
Our Continuous Delivery Map illustrates just how many tools for continuous delivery are currently available, and the list is ever growing. The tools you choose are ultimately down to you and your DevOps teams, but frankly, the DevOps landscape is becoming somewhat of a disordered sprawl. CA Automic Release Automation can act as a bridge between various tools, bringing order back to this chaotic terrain.
WithCA Automic Release Automation, DevOps team members can continue using the continuous delivery tools of their choice, and then orchestrate this automated toolchain into a standardized and consistent deployment pipeline. It allows you to weave agnosticism into your toolchain and codify the diverse portfolio of products your development, operations, QA and DevOps teams rely upon into a single value stream.
CA Automic Release Automation offers out-of-the-box compatibility with the majority of major commercial off-the-shelf software packages and open source software. It enables the simple, straight forward automation of individual products, from multiple vendors, through simple workflows. It removes the complexity and hassle of attempting to manage multiple complex processes, enabling you to focus on the implementation of the culture changes true DevOps requires.