Start with: What Does the Future Hold for DevOps? - Part 1
Platform Engineering Has the Power to Revolutionize DevOps
Platform engineering is the newest player on the scene. Whereas DevOps is a discipline defined by processes (that have been incrementally automated) to nurture communication and collaboration, platform engineering is a finite organization that is very task driven. When applications were comprised of a big monolithic code basis that got released only a few times a year, Operations teams would define and stand up tools and infrastructure as a project to support a major software release. As we've moved to the cloud and adopted cloud-native approaches, platform engineering teams have emerged to evolve the building tools and infrastructure from a project to a product. Typically, these teams are in a centralized organization in large enterprises and are focused on building a platform and services for development, operations and product teams to consume. Their focus is on automated best practices for efficiency, security, and reliability in an easy to use platform. This platform may be broken down into different modules that can be consumed by various lines of business (LOB) based on their specific use cases. Ideally, they can drive great adoption of common tools and processes across the entire organization to drive better outcomes, while empowering developers.
According to industry research, 94% of respondents at organizations that use platform engineering believe the approach has helped them realize more DevOps-related benefits, including improved problem-solving and better devX. Gartner predicts that 80% of software engineering organizations will establish platform teams by 2026, with the end goal of better cooperation between developers and operators.
Platform engineering done correctly augments and optimizes the core principles of DevOps — it does not usurp it.
Given the platform as a product and developer experience is the Northstar for platform engineering teams, practitioners must consider the ramifications of tool choices and best practices more than ever.
Looking at DevOps in 5, 10 and 15 Years
It's easy to make predictions about DevOps in reference to exploding topics like generative AI, which has the potential to revolutionize simple coding tasks. However, business concerns also play an essential role in the future of DevOps.
At it's core, I see two major trends:
1. DevOps is incorporated in both security and financial management. Right now these are discussed separately as DevSecOps and DevFinops. Really, these are additional core-functions and skills that need to be enabled as part of the application development and operational skillset, just like DevOps did with the Ops team. These are both merging into a larger DevSecFinOps, but currently the security folks talk DevSecOps and the finance teams talk DevFinOps, much like how in the early days of DevOps the Operations teams talked about "the devs operating their own software."
2. Developer Experience teams are beginning to emerge as dedicated teams either within, or in addition to the Platform Engineering team. They focus solely on developer productivity, and ease of use. Platform engineering cares about this, but also focuses on metrics like uptime, time to resolution, etc. These emerging Developer Experience teams are embracing the need to ensure the developers are able to easily leverage all the automation and tools needed to do their jobs and leverage the skills of the other teams, be they operations, finance or security.
The focal point of automation supporting DevOps will evolve from efficiency and reliability to encompass business outcomes more directly. We are already seeing business outcomes like cost optimization and energy consumption minimization bleed into developer tasks. Operations teams have also expanded their focus on such metrics, but optimization of the developer experience is still driven by KPIs like DORA metrics.
Automation will evolve that enables developers to conduct trade-off analysis rapidly based on varying business parameters. This will be an important play for AI in addition to adding a higher level of abstraction to the coding process. This will become an important consideration for all DevOps-minded organizations. The future will give rise to more sustainable engineering practices and tools that prioritize intelligent data storage, CPU utilization, and infrastructure consumption.
As for today, I encourage all engineering leaders and developers to challenge their assumptions about DevOps. If your DevOps process and associated automation are static, you're doomed to failure. It should be an ever-changing process, evolving and improving at relatively quick intervals.
If you are trying to have every engineer be a DevOps Engineer with every skill, you've just defined an impossible job. Instead focus on how you can build a team structure and tooling that allow the developers who are not experts in a given skill to effectively collaborate with and benefit from the experts that exist within your organization — and make sure the experience both for the developers and the experts is the best it can possibly be. Businesses adapting to these shifts will benefit greatly, realizing greater efficiency and better business outcomes.