In Part 2 of this three-part series on an in-depth look into DevOps trends, I would like to focus on DevOps Tools employed across the market today. While there is a large selection of highly-sophisticated and effective tools that support DevOps techniques such as automated builds, automated testing, continuous integration, continuous delivery, etc., the State of DevOps Report reveals interesting trends for the types of tools employed by organizations today. Why is it important for us to evaluate such trends? Industry trends indicate certain behaviors that are common amongst Elite organizations that most businesses aspire to become; companies such as Amazon, Netflix and Flickr have set the gold standard for which most organizations strive to emulate due to the level of success they have demonstrated over the past several years.
Although implementing a successful DevOps culture is much more than just deploying effective tools, one can argue that without effective tools, it would be extremely challenging to reap the benefits of DevOps practices. Based on the data collected within the State of DevOps Report, it is clear that Elite organizations that possess highly mature processes focus on a mixture of proprietary, open source and COTS (commercial off-the-shelf) products. This appears to be a common theme for all performers. However, what is more interesting is what Elite organizations avoid doing – in-house and proprietary tools. This is the area that represents the largest gap between Low performers and Elite performers.
Source: State of DevOps Report 2019
In my interpretation, I believe that Elite organizations are generally more mature through incremental improvements that have been made through years of experimentation and learning; few organizations can perform at the Elite level without evolving through the lower stages and experiencing growing pains and learnings over time. Hence, organizations may have begun their journey at the bottom tier, and worked their way into a more mature infrastructure by adapting their approaches and strategies.
Proprietary tools may appear to be the ideal approach on the surface. However, over time, the cost and effort required to ensure product version alignment as well as routine maintenance will likely overshadow the benefits gained. As a result, Elite organizations prefer to invest more heavily on open source tools with customization to accommodate unique business needs where applicable. Such an approach is more sustainable and likely more cost-effective in the long run.
In summary, successful utilization of tools is a critical component of any DevOps transformation initiative. For organizations that are embarking on this journey for the first time, it may be tempting to build custom proprietary tools which may be less costly in the short-term. However, more than likely, implementing open source and COTS tools may be a better long-term strategy, assuming the organization desires to achieve long-term success. There is no single perfect approach when it comes to tool selection and implementation. As long as your organization is prepared to fail early and learn to pivot accordingly, finding the optimal solution should be achievable within a reasonable amount of time.