Devs and Ops: Can This Marriage Be Saved?
DETROIT — Are we still shifting left? Is it realistic to expect developers to take on the burdens of security and infrastructure provisioning, as well as writing their applications? Is platform engineering the answer to saving the DevOps dream?
Bottom line: Do Devs and Ops really talk to each other — or just passive-aggressively swap Jira tickets?
Devs and Ops: Can This Marriage Be Saved?
These are some of the topics explored by a panel, “Devs and Ops People: It’s Time for Some Kubernetes Couples Therapy,” convened by The New Stack at KubeCon + CloudNativeCon North America, here in the Motor City, on Thursday.
Panelists included Saad Malik, chief technology officer and co-founder of Spectro Cloud; Viktor Farcic, developer advocate at Upbound; Liz Rice, chief open source officer at Isovalent, and Aeris Stewart, community manager at Humanitec.
The latest TNS pancake breakfast was hosted by Alex Williams, The New Stack’s founder and publisher, with Heather Joslyn, TNS features editor, fielding questions from the audience. The event was sponsored by Spectro Cloud.
Alleviating Cognitive Load for Devs
A big pain point in the DevOps structure — the marriage of frontend and backend in cross-functional teams — is that all devs aren’t necessarily willing or able to take on all the additional responsibilities demanded of them.
A lot of organizations have “copy-pasted this one size fits all approach to DevOps,” said Stewart.
“If you look at the tooling landscape, it is rapidly growing not just in terms of the volume of tools, but also the complexity of the tools themselves,” they said. “And developers are in parallel expected to take over an increasing amount of the software delivery process. And all of this, together, is too much cognitive load for them.”
This situation also has an impact on operations engineers, who must help alleviate developers’ burdens. “It’s causing a lot of inefficiencies of these organizations,” they added, “and a lot of the same inefficiencies that DevOps was supposed to get rid of.”
Platform engineering — in which operations engineers provide devs with an internal developer platform that abstracts away some of the complexity — is “a sign of hope,” Stewart said, for organizations for whom DevOps is proving tough to implement.
The concept behind DevOps is “about making teams self-sufficient, so they have full control of their application, right from the idea until it is running in production,” said Farcic.
But, he added, “you cannot expect them to have 17 years of experience in Kubernetes, and AWS and whatnot. And that’s where platforms come in. That’s how other teams, who have certain expertise, provide services so that those … developers and operators can actually do the work that they’re supposed to do, just as operators today are using services from AWS to do their work. So what AWS for Ops is to Ops, to me, that’s what internal developer platforms are to application developers.”
Consistency vs. Innovation
Platform engineering has been a hot topic in DevOps circles (and at KubeCon) but the definition remains a bit fuzzy, the panelists acknowledged. (“In a lot of organizations, ‘platform engineering’ is just a fancy new way of saying ‘Ops,’” said Rice.)
The audience served up questions to the panel about the limits of the DevOps model and how platform engineering fits into that discussion. One audience member asked about balancing the need to provide a consistent platform to an organization’s developers while also allowing devs to customize and innovate.
Malik said that both consistency and innovation are possible in a platform engineering structure. “An organization will decide where they want to be able to provide that abstraction,” he said, adding, “When they think about where they want to be as a whole, they could think about, Hey, when we provide our platform, we’re going to be providing everything from security to CI/CD from GitHub, from repository management, this is what you will get if you use our IDP or platform itself.
But “there are going to be unique use cases,” Malik added, such as developers who are building a new blockchain technology or running WebAssembly.
“I think it’s okay to give those development teams the ability to run their own platform, as long as you tell them, these are the areas that you have to be responsible for,” he said. “You’re responsible for your own security, your own backup, your own retention capabilities.”
One audience member mentioned “Team Topologies,” a 2019 engineering management book by Manuel Pais and Matthew Skelton, and asked the panel if platform engineering is related to DevOps in that it’s more of an approach to engineering management than a destination.
“Platform engineering is in the budding stage of its evolution,” said Stewart. “And right now, it’s really focused on addressing the problems that organizations ran into when they were implementing DevOps.
They added, “I think as we see the community come together more and get more best practices about how to develop a platform, you will see it become more than just a different approach to DevOps and become something more distinct. But I don’t think it’s there quite yet.”
Check out the full panel discussion to hear more from our DevOps “counseling session.”