Labels

How devops practices prevent legacy platforms

Do you fully grasp the long-term business problem devops aims to solve?

I'm going beyond the upfront benefits. The alignment of dev and ops teams to build and deploy supportable applications. The ability to release frequently and bring new features to market faster. The monitoring that informs technologists of application issues before end users escalate them. The automation to scale up and down infrastructure based on end user demand.

If that's not good enough reason to invest in devops, then let's consider some longer term benefits.

How and when CIO should invest in devops

As a CIO, you get the chance to make some choices over how IT funds are spent. Hopefully it’s to improve a customer facing application to drive revenue or improve the end user experience. Maybe it’s a new enterprise platform that will replace several legacy systems. Ideally, it’s an investment in analytics and other data platforms that will foster a data driven organization.

Good times when CIO get to make these investments. Even better when they demonstrate business impact and can justify a second and third investment. Best is when these investments are tied to a digital transformation program and the organization is growing beyond its legacy businesses.

But here’s the issue. It’s easy to build technology than to support it.

And while CIO can often leverage the capital budget to fund investments, ongoing support comes out of the operating budget.

And most (all?) CIO will tell you there just aren’t enough funds in the operating budget to truly maintain all the systems and applications.

This forces CIO to make some tough calls on how to spend operating budgets. In the past, that often meant focusing on the underlying infrastructure and application lifecycle issues. In other words, maintaining the hardware, patching the operating system, supporting platform upgrades, responding to incidents, and supporting a queue of requests. Improvements came only after these other concerns were addressed.

Over time, and as IT people left the organization, these technologies evolved to legacy platforms.

Sponsor devops when applications are being developed

Now let’s consider the CIO that invest in an application’s supporting infrastructure while the application is developed. They start with some best application development practices. Requirements are captured in agile tools, code is checked into version control, and releases are versioned and annotated. Testing is automated. Not just basic unit test, but also end to end functionality tests, performance testing, static code analysis, and security testing. Then, a CI/CD pipeline is engineered so that the steps to push the application to runtime environments is automated.

They don’t not stop there. The application is deployed on container technology so that the entire runtime configuration is captured and documented. An Infrastructure as Code (IAC) platform is then used to automate and standardize the infrastructure.

Finally, a ton of monitoring is set up so that the team can track the CI/CD process, how infrastructure is performing, whether applications are logging issues, whether API endpoints are responding properly and whether user experiences are behaving correctly.

And the devops investment in done as part of developing applications. In other words, the CIO uses part of the capital budget to not only develop the application, but also to create the devops automation.