DevOps Toolchains – Integrated Toolchains for High Performance Software Development

The overall goal of the Cloud Native formula is the shift to DevOps practices, and this section begins to describe how all of these different trends combine to unleash the power of the formula.

As Wikipedia explains DevOps is:

a clipped compound of “software DEVelopment” and “information technology OPeration S“) and is a term used to refer to a set of practices that emphasize the collaboration and communication of both software developers and information technology (IT) professionals while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment, where building, testing, and releasing software can happen rapidly, frequently, and more reliably.

This goal of increasing software release frequency is the headline message and is why the approach typically goes in hand in hand with the adoption of Continuous Delivery best practices:

“an approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time. It aims at building, testing, and releasing software faster and more frequently. The approach helps reduce the cost, time, and risk of delivering changes by allowing for more incremental updates to applications in production. A straightforward and repeatable deployment process is important for continuous delivery.

DevOps Toolchains

As the name suggests the goal of a ‘toolchain‘ is to define a collection of different tools, used together to achieve some broader process activity, in this case is key to making possible this higher frequency of software releases by better connecting each step in the cycle.

Given the mix of development languages (Java, .NET etc.), skill levels and existing in-house apps, this combination will vary between organizations, and there are also a plethora of tool options to choose from. For example in the Wikipedia entry for open source configuration apps alone they list numerous options, and also they make the simple but crucial point:

“Not all tools have the same goal and the same feature set.”

Netflix again provides the perfect poster child example for explaining what and how this toolchain is formed, identifying their combination which includes their own Spinnaker tool, and where and how each tool is used in the overall software lifecycle. (Read more in this detailed Netflix case study.)

Popular tools for this goal include Jenkins, a centrepiece foundation for Continuous Integration practices, and Ansible, which can be combined with other tools like Puppet and Chef to define a DevOps recipe, and in this era of Cloud-driven plenitude there is almost no end of possible permutations.

Other tool chain combinations highlight additional dimensions:

(Visited 33 times, 1 visits today)

You might be interested in


Your email address will not be published. Required fields are marked *