Traditional approaches to software development and software delivery are being rewritten. Agile methodologies pervade, and infrastructure is a no longer a capital investment that measures its lifetime in years, it’s now a commodity that can be bought by the hour. However, too many companies are forgetting about their operations teams. As the pressure increases to automate everything, operations are becoming sidelined. This comes at the detriment of the success of new working practices brought in with DevOps.
It’s time we brought operations back into the fold to make the most of these new ways of working.
What’s driving infrastructure change?
Software delivery traditionally followed a waterfall approach and this suited the separation of the three functions of development, quality assurance and operations. They were islands, each with their own objectives and goals, reporting up separate lines of management. Operations had the broad remit of both keeping the data center running and supporting application software.
This siloed approach worked well when release cycles were a year or more, however slow release cycles are becoming outdated. Continuous delivery - the regular delivery of software in short cycles - is the desired end-goal.
Not only does continuous delivery mean that new features are brought to market more quickly, all the conservatism in the old process meant that each release represented a significant step-change in the software, and this introduced significantly more risk. The more changes, the more potential bugs, and the bigger job it is to either fix the bugs or roll back to the last good version of the software, because so much has changed.
To implement continuous delivery required a new way of working, a methodology which could deliver software changes more frequently with less risk, a way to merge software delivery and software development.
The answer is DevOps
DevOps is the combination of Development, Quality Assurance and Operations. It aims to bridge the islands, and introduce rapid, efficient, sustainable change. DevOps is a culture rather than a specific technique or technology. Working relationships become collaborative around a common set of objectives – that is to regularly deliver IT services that provide value to the business. DevOps is strongly associated with a set of techniques collectively known as continuous delivery, which is brings innovative concepts from lean production, continuous integration and continuous deployment.
Ops gets dropped
When change is happening so quickly, regularly and successfully, there is a tendency to ignore operations for a couple of reasons. Firstly, with automated runbooks, the release cycle requires very little human interaction – which is great if you want to regularly release code but not so good for monitoring the minor infrastructure changes.
Secondly, in the old model operations ran the IT Service Desk and were the gatekeepers to the business users. This changes in DevOps; although the IT Service Desk normally still exists, the new goal is to create a rapid feedback loop so the users of the software can immediately give feedback to the development team – the so-called “fail fast” mantra. This bypasses some of the old checks and balances.
In both cases, infrastructure is simply not considered a priority when you’re busy working towards your next sprint and finishing the next piece of work. However, infrastructure needs proper monitoring. Aspects such as security, health, interdependencies are all critical to long-term success. Plus, in a virtualized world, it is easy to spin up new instances of virtual hardware, only to forget about them and end up carrying excess ongoing costs.
Giving operations a seat at the table
DevOps and infrastructure operations need to work hand-in-hand. This means that any IT project needs to have a dedicated operations team member, with responsibility for and insight into the infrastructure supporting application delivery. A critical capability of the operations team is a monitoring platform that ensures the Configuration Management Database (CMDB) is accurate in near real-time and infrastructure dependencies are mapped. This information is crucial to reduce downtime and recovery time in case of a problem.
Operations should also keep an eye on costs, ensuring that the DevOps team are using IT assets – virtualized or bare metal – as efficiently as possible.
Use existing solutions better
As many businesses undertake their own form of digital transformation and look to become data-driven, they are often making significant changes to their platforms, investing in new technology and introducing automation where previously processes were manual.
This presents a fresh opportunity for businesses to improve their service delivery, and ensure that proper oversight is in place. It is only by placing operations back into DevOps that businesses can derive the most value from continuous delivery and succeed in their digital transformations.
Erik Rudin is VP of business development and alliances at ScienceLogic