DevOps is dead! Long live Platform Engineering?
Rodrigo Soares
Digital Strategy, Agile, Cloud, AI Automation and Modern Engineering - Technology Senior Manager at Accenture
When DevOps was created in 2008, its problem statement and goals were simple: Siloed development and operation teams slow down the software development lifecycle (SDLC), and by merging these teams, organisations could deliver better software faster.
More quality and speed are excellent goals, so why is DevOps dead? Complexity. Modern systems are too complex for DevOps's "you build you run" philosophy.
The solution? Platform engineering. Their mission is to build tools and workflows that enable product teams to focus on feature development instead of pre-production pipelines, runtime and infrastructure.
Why adopt DevOps?
Prior to the introduction of cloud services by AWS in 2006, infrastructure provisioning was expensive and time-consuming. The invisible fence between development and operations teams was not a significant bottleneck, after all, it could take months to procure and provision compute infrastructure, so teams had time to complete a slow and systematic handover.?
With cloud that all changed. Compute infrastructure can be provisioned in minutes. The fundamental conflict of interest between dev and ops, speed versus stability, and the siloed team topology became the new bottleneck.?
DevOps was created to eliminate such barriers and conflicts of interest. By merging both sides of the fence under one team, DevOps promoted collaboration, increased focus on automation and, most importantly, continuous improvement. "You build you run" ensured product teams carefully balanced speed and stability, as ultimately, they would be responsible for fixing production issues when they arise.
Why is DevOps no longer working?
The application layer, what users interact with and where all the features live, is only part of a system. Infrastructure and runtime complete this puzzle. When you add continuous integration pipeline, security and monitoring to this picture, the level of complexity and cognitive load placed on product/development teams can easily become overwhelming.
DevOps is failing because systems are too complex and developers are spending more time managing the tools, systems and infrastructure required to run the application than building new and exciting features for end-users.
As an example picture a product team building an exciting webapp using modern architecture like MACH (micro-services, API-first, cloud-native SaaS, headless) and Javascript frameworks like NextJS and Node. Simple enough, right? Now imagine the reference architecture calls for Kubernetes with a service mesh and specialised CICD like Argo CD. Not so simple anymore, is it?
Other DevOps challenges include:?
领英推荐
How is Platform Engineering better than DevOps?
Platform Engineering teams' superpower is focus. Their customers are the product/development teams and their expertise are the tools, systems and infrastructure developers need to build applications.
Product teams are free to build new features knowing the CICD pipelines are optimised, automated with static and dynamic security scans, their infrastructure-as-code templates were cleared by their security, FinOps and compliance departments, and their starter project templates include everything they need to deliver at pace while remaining compliant.
At the heart of Platform Engineering lies an Internal Developer Platform (IDP). The IDP is a developer-centric portal where provisioning tools and environments is fast and intuitive. A place where developers can learn and contribute to the organisation's best practices. Where teams can share and reuse services as well as collaborate.
Below is a non-exhaustive list of Internal Developer Platform (IDP) software if you want to understand what capabilities IDPs can provide for your organisation:
Is Platform Engineering suitable for any organisation?
Clearly not. Alone Platform Engineering falls short of creating the ideal environment for fast-paced, iterative, highly available and performant software development. But when combined with other methodologies such as Site Reliability Engineering (SRE) and AIOps, Platform Engineering can become the perfect PAAS for developers and technology executives alike.
SRE engineers embedded in every product team can ensure all products properly implement the tools, systems and infrastructure templates created by platform teams, guaranteeing that all applications are observable and performant. AIOps tools can use these signals to automatically alert teams of potential fail points or self-heal the application infrastructure in case of a crash.
Smaller organisations or well-established product teams with stable technical stacks can still make DevOps a success. Remember, the key issue with DevOps is complexity, if your organisation keeps things simple, it is hard to justify the investment required to implement an IDP and Platform team.
AI might play a role in your selection as well. Cloud providers are quickly embedding GenAI capabilities to their platforms enabling engineers to provision optimised cloud infrastructure by asking a chatbot. As more capabilities are introduced, cloud-native organisations might skip IDPs altogether.
Conclusion
Is DevOps dead? Maybe not dead, but certainly dying. Still perfect for organisations that keep things simple.
Is Platform Engineering the future? Depends on what AI capabilities cloud providers introduce, but surely seems like a good methodology for large-scale enterprises with hybrid cloud and on-premise applications.