Platform Engineering Won’t Kill the DevOps Star
“My mandate is being moved from ‘DevOps’ to ‘Developer Experience.’ Has anyone else made this switch?”
That’s how a popular Reddit thread from a few months ago kicks off. This 2023 top-down priority from a shiny new CTO came with no elucidation of even what developer experience is. What the online community reckons is that the original poster’s focus should pivot toward better serving developers, and that the best way to get started is to sit down with developers and — radical idea alert — ask them what they need.
TL;DR the more than 100 kind comments: It sounded like the OP was about to become a platform engineer.
Just what does that mean? The industry is still thrashing out the definition of platform engineer, but it definitely centers on improving that developer experience.
“Platform engineering is the discipline of building toolchains, workflows and platforms to support ‘the team’ — developers, ops, and everyone in between — to go from idea to observable business value in product,” is how Ambassador Labs’ Daniel Bryant defined it for us.
While Syntasso’s Paula Kennedy zoomed out even further to simply call platform engineering a promise the platform team makes to the application team. CyberArk’s Ran Isenberg calls it a mechanism to reduce cognitive load for developers, which in turn reduces organizational waste that, “when done well, in theory, accelerates development in the organization, and improves communication and knowledge sharing.”
None of these definitions shared with The New Stack are wrong because platform engineering is still a nascent discipline that happens to be quickly climbing up the Gartner Hype Cycle’s inflated expectations. It may also be the nature of the role — if you’re a team created to better serve developers within your organization, there’s bound to be some differences, depending on your developers and your business goals. It’s all part of what Pulumi dubs the developer-first infrastructure trend.
After all, as Humanitec’s Aeris Stewart writes, “When developers in teams don’t agree on the extent to which they should, or can, do operations tasks, forcing everyone to do DevOps in a one-size-fits-all way has disastrous consequences.”
As the tech industry barrels toward a recession, platform engineering presents itself as a way for organizations to do less with more — while hopefully decreasing the cognitive load that still has the vast majority of developers burnt out. But in order to take advantage of this latest try at efficiency engineering, there’s still a lot to figure out first.
The State of Platform Engineering in 2023
“It’s not really DevOps. Platform engineering has changed and evolved. It’s more than that,” argues Isenberg, while Bryant pegs it as the next evolution after Agile of the Aughts and DevOps of the Twenty-Tens. Platform engineering, he told The New Stack, doesn’t abandon those practices, but hopefully takes the best of those worlds and then does something different.
As agile enters its third decade, some of it has aged poorly — like its signatories’ complete lack of diversity — but some of it still holds up. Bryant wants to bring this good-good along to platform engineering:
- Extreme programming – XP involves frequent release cycles, pair programming, cross-code unit testing, and only building what is needed
- Fast feedback – All with the goal of knowing if what you are building is what the customer wants faster
- Verification and validation – Tight continuous feedback loops, constantly refining user stories.
- Automation – As we continue to recognize engineers as creative knowledge workers, we need to automate anything they have to do more than once.
And while we love the headline “DevOps is Dead”, it’s probably more evolving than dying. While Bryant admitted that “DevOps has both caused friction and solved many challenges in the SDLC [software development lifecycle],” he argues that much of platform engineering is positively grounded in the three ways of DevOps:
- Concentrating on flow and systems thinking toward delivering end-to-end business value
- Even shorter feedback loops
- Continuous experimentation, learning and improvement
“We have an idea, we test it, we put in prod and we observe that,” he said. “If everyone has a common goal and understands that, it builds empathy.”
Kennedy echos that DevOps isn’t dead in the slightest. It helped overcome the old days of silos, but then, she observes, DevOps somehow morphed into the full stack, growing in complexity alongside the cloud native code. “To expect a team to be able to manage everything, if you’ve got more than one app team, it’s too much. And too much duplication and every team is solving their stack challenges,” she said.
“The movement to ‘shift left’ has forced developers to have an end-to-end understanding of an ever-increasing amount of complex tools and workflows. Oftentimes, these tools are infrastructure-centric, meaning that developers have to be concerned with the platform and tooling their workloads run on,” Humanitec’s Luca Galante writes in his platform engineering trends in 2023, which demands more infrastructure abstraction.
Indeed, platform engineering could be another name for cloud engineering, since so much of developers’ success relies on someone obscuring the complexity out of the cloud — and so many challenges are found in that often seven layers thick stack. Therefore you could say platform engineering takes the spirit of agile and DevOps and extends it within the context of a cloud native world.
She pointed to platform engineering’s origins in Team Topologies, where “the platform is designed to enable the other teams. The key thing about it is kind of this self-service model where app teams get what they want from the platform to deliver business value,” Kennedy said.
“But with DevOps, application teams have to do DevOps. They have to build everything around their application and then run it. They are responsible for build and run,” she continued. Instead, in platform engineering, “the platform team is doing the DevOps at their level, and then the application team is doing DevOps at their level” in a frictionless way, she said, because the platform team reduces the amount of choices with its golden path.
DevOps and platform engineering will likely be intrinsically linked moving forward. Probably the most telling is that Puppet’s 2023 State of DevOps Report is dedicated to the topic, which found that:
- Platform engineering is proven to unlock DevOps success at the enterprise scale.
- When done well, platform engineering can benefit a whole organization.
- Unsurprisingly, the longer companies have committed to platform engineering, the more benefits they’ve gained from it.
- Organizations aren’t investing enough in the product management skills of their platform teams.
If anything, platform engineering will only work to further fulfill the promise of agile and DevOps in 2023. After all, it’s all about decreasing silos and bottlenecks, while increasing speed, feedback and communication.
How to Build with the Developers in Mind
One of the greatest signs of any product’s success is that there are users. This may seem obvious, but the most surprising results of the 2023 State of DevOps Report: Platform Engineering Edition revealed that not all organizations are treating their internal platforms like a product. A third of organizations polled didn’t even have a product owner to evangelize the platform, which is why the 2023 priorities around platform engineering around internal product management include:
- Increase awareness of platform capabilities
- Set more realistic expectations for the platform team’s role across the organization
- Keeping up with feature requirements, reflecting industry trends
This may be a result of assuming that the platform team is a purely technical one. Humanitec predicts we will see more internal developer advocate jobs come up in 2023, particularly on the platform team.
It also reflects an anti-pattern that Bryant observed: “They chatted with devs, understand what they want, but they’ve still not delivered it in the form they want.” The platform team has to build for what Jean Yang refers to as the 99% developers — “who aren’t going to the conferences, are super effective, do their job and go home. It’s not a derogatory term,” Bryant assures, but rather the backbone of any business. It’s just they may not want to experiment with all the shiny-shiny when they can use what they are more familiar with.
“Your golden path should be self-service but in the way your developers want,” he reminded. Some will want a command-line terminal, while others will want an API, while others will want a user interface. You can’t build an internal platform without constantly checking in with your dev customers. The internal feedback cycle should be even tighter.
Another challenge in 2023 will be organizations still working out where the platform sits. So much of our interview with Kennedy mimicked Madonna’s “Vogue” video because some of the success of platform engineering depends on where you draw the line:
- Where does the platform sit?
- When does the platform engineer decide versus when do the individual application or service teams decide?
“Offer just enough so your developers want to do their jobs,” Kennedy advises. “Platform teams building massive, bloated platforms with huge amounts of stuff are not really serving the developers. It’s entirely context-specific for the organization,” she continued.
With all things platform engineering, it all starts with a conversation.
Kennedy is co-founder of Syntasso which provides the Kratix open source framework. It offers a “Marketplace of Promises” for platform engineers. “Promises” are the various abstractions available within Kratix that should be co-created with developers. Promises are things like developer portals, Databases as a Service, Kubernetes namespaces, or any kind of abstraction that increases developer productivity, efficiency and security — the building blocks of an internal platform.
“A platform team knows what the business needs. It’s your platform, only you can build your platform,” Kennedy contends, which is why they’ve created and open sourced this framework for platform engineers to pick and choose in response to their developers’ expressed needs.
“It’s a huge burden on the platform team to figure that out,” she commented, and “if you let your app teams choose what they want, you’ll get five different CI/CD pipelines and five different databases. That’s a lot on the platform team,” which is why she said the pick-and-mix Kratix is “easier than do-it-yourself but not as opinionated as buy it off-the-shelf.”
Do More with Less
Bryant observed that the world has changed so much in even the two months since he wrote a prediction piece for us on platform engineering in 2023: 2022 “was a grow-at-all-costs environment, as long as you’re moving fast. [Now] there is a focus coming up on efficiency,” which, he says, is about “saving money but folks don’t want to say that.”
As the tech industry seems to move toward a recession, there’s definitely a change in tone. After over a year of highly competitive, sometimes aggressive hiring, there’s much more of a return to a search for how teams can be “more efficient” and “more effective.” Leveraging platforms to improve developer experience and efficiency is a more common refrain.
Bryant is seeing the push for platform engineering both from the bottom up — developers trying to do more with less — and top down — C-level looking for that efficiency and to cut tooling budgets. However, these board room conversations aren’t necessarily grounded in an understanding of what platform engineering is, he remarked. For many, it’s still at the stage where they know Netflix, Intuit and Google are doing it so they probably should too.
Platform engineering is not something you pursue, he says, when you are still seeking your product-market fit, but, eventually, you will no longer be able to ship as fast as you can and your developer teams — or even your customers — will start feeling friction. “When you bump into some pain like ‘I’m having trouble replicating my local dev environment,’ or a new person joins a team and it takes 10 days, or builds are broken.” Or, even worse, Bryant continued, you start seeing outages in production or customers start flagging things that are broken before you even knew they were.
If you are having trouble finding that DevOps workflow to visible business value or can’t meet your service-level agreements or business-level objectives, platform engineering often presents itself as part of the solution.
Bryant shared three key platform engineering trends he sees for 2023:
- Growth of developer-first Kubernetes. Until now, DevOps has been ironically very operations-focused. But he observed a change over the last year or so where events that used to focus on storage and networking — like KubeCon-CloudNativeCon — are pivoting to the developer audience.
- Using developer platforms to unlock developer productivity. “Platform engineering implies you have a platform, [but] you always do have one whether you are building it or not,” Bryant said, pointing to how developers are going off on their own to solve these problems, but 2023 will see a more top-down strategic push to tie this developer productivity to business goals — including cutting costs.
- Developers co-existing with DevOps. “I find the ‘DevOps is dead’ thing interesting. It’s catchy, but I do think there’s danger,” he said, reflecting the anti-pattern that DevOps is just the rebranded Ops team. This will be the year, he predicts, where we will see the expansion of building platforms using developers’ processes, part of the overall trend in different abstractions that facilitate the DevOps’ — or BizDevSecOps — fast flow from idea to production.
There’s no doubt that budgets at tech companies will continue to tighten in 2023. This is reflected in the tech layoffs of the last couple months, but, Bryant argues it can and should be more than that. It is also about making sure your local developer environment is set up well, and that no one is sitting around waiting for builds to happen. All this relies on rapid feedback and transparency that the platform engineering team can facilitate.
In order to find success with platform engineering in 2023, it comes down to the developer becoming the earliest customer. Kick-off that conversation with your dev-customer by rotating folks across teams. This can be achieved, Bryant suggests, by swapping a platform engineer with a developer — the platform team will learn from the embedded dev, while the platform engineer will gain hands-on empathy for their customer. “If your company isn’t big enough, get in the same virtual room,” he advised. “Get this conversation going about their problems. We’ve all got the same goal here. Here’s how we can fix this for you.”