Eric Schmidt, chairman of Alphabet, Google’s parent company, created a storm of debate when he predicted that NoOps would become mainstream. Mike Kavis characterised the reaction as an all-out war on NoOps versus DevOps.
For the uninitiated, DevOps gives developers more responsibility in their roles. The division of labour becomes blurred as IT moves away from the scenario where a developer writes the code and an operations team runs it in a live environment. So developers have more end-to-end responsibility and accountability, not just in the development phase, but well beyond that, into the live environment. Crucially, the developer is supported in this by the emerging hyper-converged cloud platforms which speed up scalability and reduce maintenance costs with built-in DevOps infrastructural resources.
Does DevOps strike the right balance?
The strength of reaction against Schmidt’s notion of mainstream NoOps points to a feeling that DevOps infrastructure currently strikes the right balance in terms of responsibility for ongoing maintenance. Peter Waterhouse, for example, has argued that removing operations from IT in its entirety is like removing an essential ingredient from a cake recipe.
A familiar argument to many is that DevOps should free up resources to make a greater contribution to the business. This can take the form of freeing up operations staff to contribute at a strategic level, for example, as they spend less time keeping the metaphorical lights on. And on the development side, the increased responsibility is mitigated by efficiency gains. DevOps streamlines processes, resulting in faster delivery times and lower costs.
Of course, every IT leader has to consider the skills shortage and the importance of managing the morale of technical staff. So presenting DevOps as an exciting opportunity for developers is good news.
The challenges of DevOps
But is the DevOps future really so unremittingly rosy? While welcoming the end-to-end responsibility and accountability that DevOps and NoOps bring, here are some of the challenges that the IT world needs to acknowledge:
Challenge 1 - The developer mindset
Developers are fundamentally creative. They thrive on change and enjoy building the solutions it brings. Once the challenge has been solved and the solution is in place, your typical developer is keen to move on to the next challenge. They’re not wired for supporting the same live system, day in day out.
Challenge 2 - The operations mindset
Operations staff, on the other hand, hate change. Change to them means risk and the prospect of things breaking. They understand exactly what that means. So it’s not surprising that they prefer to keep systems alive and well, day after day. A good day for them is when nothing happens - the very opposite of change.
Challenge 3 - Reassigning infrastructure and environment design
Infrastructure and environmental design is a specialist field in its own right. Yes, the Cloud has made this far more accessible and somewhat commoditised, but at the moment it still requires dedicated resources to manage and govern at scale. The Cloud itself is a rapidly changing domain, and keeping up with innovations in this area is a challenge even for specialists. There are clear risks of dispersing this responsibility.
Challenge 4 - Cloud governance
Enterprise level cloud governance is essential. Without this, costs can mount up very rapidly and come as a nasty surprise. There is also the risk of commercial and reputational damage if these costs have to be passed onto customers.
Challenge 5 - Wholesale cloud commitment
For NoOps to be viable, enterprises need to commit wholesale to the cloud. While on-premise/data centre based systems remain in place, the complexity and integration requirements involved still call for the focused expertise of an operations team. Migrating existing systems to take advantage of the cloud will more often than not require a significant re-architecture, or replacement. For enterprises this will be slow, expensive and risky. It might even require businesses to run at a significant cost increase for years before they can start to see any benefits - not a straightforward sell to stakeholders by any means.
NoOps does not look viable for most enterprises within the next five years. Beyond a 3-5 year horizon, it’s as difficult to make accurate IT predictions as it’s always been. DevOps, on the other hand, is clearly happening. However the realities of DevOps get complicated very quickly as implementations scale up. For enterprises, the risks need to be properly managed on a daily basis, and this takes focused expertise - not unlike your traditional operations staff!
DevOps gives developers end-to-end responsibility and accountability for their code, through to the live environment.
The realities of DevOps infrastructure get complicated very quickly as implementations scale up, and there are considerable risks to be managed.
NoOps requires wholesale commitment to the cloud across the enterprise, and does not look viable for most enterprises within the next five years.