I had the chance recently to sit down with Chip Childers, CTO of the Cloud Foundry Foundation. One of Chip’s roles is working with companies digitally transforming their business, from legacy to a more DevOps-centric technology and culture. Here’s what he had to say.
Swapnil Bhartiya: What are the greatest challenges facing those deploying DevOps? Where do companies usually go wrong?
Chip Childers: In transitioning to a more modern, DevOps-driven approach, companies with a legacy infrastructure may encounter a number of challenges, both technological and cultural. There are risks both in inertia and in impatience—attempting to modernize too quickly can lead to technical disruption or even outages, and can also create cultural friction within an organization. However, a failure to modernize at a steady rate can lead to an organization being left behind as competitors choose DevOps and digitize more rapidly.
Ultimately, you can’t buy DevOps. It’s not something that is a tool or a product, even with plenty of companies trying to sell it to you. It is about a cultural shift, and it requires implementing the technologies, tools and products that are actually a fit, in the context of that culture, between new processes and existing systems.
Bhartiya: Why is DevOps a good fit for automation? What are the specific challenges in such deployment?
Childers: DevOps is fundamentally about the culture, process and tools working together to achieve a better “flow” through the business. Getting changes deployed quickly, with high quality and with as little effort as possible naturally leads to automation. That said, there are risks in automating too much too quickly, or attempting to automate more nuanced tasks. Certain tasks require more adaptable approaches or are more error-prone, so attempting to automate those can create challenges rather than generating benefits.
Bhartiya: How should companies approach DevOps deployment to avoid the pitfalls and leverage the benefits?
Childers: Start with people and culture. Get everyone talking and understanding each other. Ensure that everyone involved really knows what the business is about and how they fit into it. Establishing shared understanding and trust among traditionally siloed roles is the hardest and most important step to take. Beyond that, it would be impossible to provide a blanket approach for all companies, since every business is in a different chapter of its journey. For example, a small startup with brand new applications and infrastructure can be a lot more ambitious in its approach to DevOps than an enterprise with an existing, older infrastructure. One thing that is important for all companies to understand about DevOps is that no matter where they fall on that spectrum, they have to have a realistic approach based on their own resources, teams and technology stack.
Bhartiya: Rather than being in opposition, DevOps and Agile are often touted as being complementary. How do companies use these two together for the best results?
Childers: Both are fundamentally about achieving a better, more incremental and responsive approach to technology changes. Agile is about the development process of getting ideas manufactured into software, and DevOps is about being nimble with both deployment and changes to IT environments. Specifically for software, DevOps essentially extends agile software development methodologies into the realms of operations and infrastructure.