Developer Platforms: The Ice Pack for Kubernetes Headaches
Most organizations turning to Kubernetes come into it with confidence. They recognize it as a proven and ubiquitous choice — the engine behind their cloud native modernization — and they move ahead with no shortage of optimism. From an engineering standpoint, Kubernetes is also a complete platform with a generic (in a good way) design, that’s ready to handle any use case that a business might find a need for. And if everyone’s using it, after all, how difficult can it be to work with?
Well, adopting Kubernetes is a lot like adopting a pet elephant. The care and feeding it requires is enormous, and the bigger it gets, the more it eats.
Developers excited to have more modern application development capabilities at their disposal instead find their productivity and overall experience suffering under the weight of endless required YAML files and upkeep of Kubernetes minutiae, important as it is. In response to the burdensome complexity developers face, organizations are increasingly pursuing developer platforms aimed at abstracting away Kubernetes challenges and time-sucks to improve the developer experience, reclaim productivity lost to YAML files and the like, and accelerate microservices adoption at scale.
Kubernetes Hampers Developer Productivity
It’s a common vision that new Kubernetes adopters expect for their new deployments: Operations and infrastructure teams will fully operate Kubernetes clusters while developers will use those clusters to easily run their services and pods. However, this utopia can be a far cry from reality.
In practice, developers with little Kubernetes expertise are required to wrestle with the technology’s many challenging interfaces and nuances. The increased load placed on developers reduces productivity while increasing stress and frustration. Needless to say, forcing developers out of their element and away from application and feature development isn’t at all what organizations have in mind when opting for Kubernetes. But it’s a side effect that is prevalent enough that it should be listed on the box.
Putting developers in position to innovate and do what they do best has dramatic benefits for organizations. Analysis out of MIT finds that when the average engineer is empowered to focus on both innovation and maintenance activities, they can add an average of $854,000 in market value to their organization. However, saddling that same engineer with only non-innovative tasks eliminates almost $600,000 of that market value.
To get less dire: Organizations are sitting on a tremendous opportunity for improved productivity. In a global survey on software engineering efficiency conducted by Stripe, developers rating the productivity of their engineering teams on a 0-100% scale responded with an average 68.4% rating. The survey made it clear that organizations across industries have a wide potential for productivity growth.
Developer Platforms Unlock Productivity Gains
Developer platforms like what we’ve built at Shipa allow organizations to untether developers from dealing with infrastructural challenges they really don’t need to deal with, while also simplifying operations for DevOps teams. These platforms provide a foundation for self-service APIs, tools and services, as well as automation to support various approaches to cloud native deployment, monitoring and ongoing application management. In doing so, organizations can adopt developer platforms to improve productivity and the experiences of their developers. And with developer talent expensive and often hard to come by, retention is no small concern. They can reduce Kubernetes complexity while still harnessing its full advantages. For a developer platform to deliver this success, it must be able to plug into Kubernetes infrastructure and allow DevOps to operate the platform reliably, predictably and securely in line with all compliance requirements.
Take a typical development team that is straining under Kubernetes-related responsibilities. As an ongoing practice, the team must create and manage YAML files for each service in each development, QA and production environment it maintains. Implemented properly, a developer platform allows that same team to save countless hours of work. Developers can focus on shipping and running code, taking the Kubernetes clusters that enable their services and applications for granted.
Your First Steps Toward Developer Platform Adoption
To begin leveraging developer platforms, first sit down with your development team to understand their current approach to building, deploying, managing and supporting applications at scale. Then, plan how the developer platform will fuel and accelerate those processes, and address any missing elements or pain points within current practices. It is critical to clearly delineate responsibilities within the new developer platform model, so that developers, DevOps and any other teams involved are clear in their purposes. This will also help in the push to advocate for the developer platform within the organization. Mistaken expectations and unclear responsibilities will result in friction among teams; well-defined duties are a key component of successful developer platform adoption.
For both development and operations teams working with Kubernetes, implementing a developer platform offers tremendous opportunities to increase productivity while introducing more defined and efficient practices, controls and governance. Developers in particular will appreciate the quality of experience improvements they stand to gain when Kubernetes itself becomes an afterthought.