Three Keys to Full Service Ownership on Kubernetes

Services owners code, ship, and run software faster

Richard Li
Ambassador Labs

--

Full service ownership, also known as full lifecycle development, is rapidly emerging as a standard development best practice for cloud-native software organizations. In a full service ownership model, development teams own the entire lifecycle of a service, from development to deployment to production.

In theory, full service ownership increases development agility and scale by better aligning the development team’s incentives with that of the business. The development team’s job isn’t to write code — it’s to actually deliver and run something that represents business value. This is a major change from the norm, where the responsibility for delivering business value in software is diffused across development, QA, release, operations, and other organizations.

So if full service ownership is so great, why doesn’t everyone do it? The reality is that enabling full service ownership is hard.

Three keys to full service ownership

Based on our personal experiences with full service ownership, as well as our experiences working with dozens of other organizations adopting this model, we’ve found that there are three keys to making this model successful. These are:

  1. 📚 Investing in developer education.
  2. 🦾 Building a developer experience / platform engineering team.
  3. 🚀 Adopting a developer control plane.

📚 Developer Education

Full service ownership requires developers to learn and practice brand new skills. Ongoing investments in developer education is critical to ensuring that developers are prepared to be full service owners. The education should not be generic. Instead, the education needs to focus on helping developers understand the best practices in the organization to achieve a specific outcome. For example, a good training topic for Acme Corp developers could cover Acme-specific best practices on how developers safely push updates to production using canary releases. Roadrunner, Inc’s version of this training may not discuss canary releases, and instead focus on rigorous integration testing in staging.

Developer education should come in different forms: while a training meeting is a useful format, other formats should be used. At Ambassador Labs, we hold regular, unannounced game days to practice our incident response. This is a different form of training.

🦾 Building a Developer Experience Team

The best practices that are used by the development team need to be identified and implemented. These best practices evolve over time as the application itself evolves. The developer experience (DevEx)team, or platform engineering team, is responsible for this particular function.

Platform engineering teams treat the developer experience as a product, identifying requirements, implementing solutions, and releasing these solutions on a regular cadence. In addition, these teams also serve as subject matter experts for the application development teams on best practices.

For smaller organizations, a single (or even part-time) engineer may be sufficient for the developer experience team. As the application and organization grows, the team will also need to grow.

🚀 Adopting a developer control plane

A developer control plane enables developers to control and configure the entire cloud development loop, from development to release to production. Developers are faced with a massive amount of tools to manage as they transition to full service ownership. Not only do they need to manage tools for development, but also tools for release and production. Mastery of these tools, even with a DevEx team and education, is impossible. Developers need their own control plane that integrates the various tools used for all aspects of the development lifecycle, enabling them to become full service owners.

Towards Full Service Ownership

While the transition to full service ownership is challenging, more organizations are adopting this model to improve velocity and agility. The widespread adoption of self-service infrastructure such as Kubernetes and workflows such as GitOps are accelerating these trends, making it easier for more organizations to adopt full service ownership. Investing in developer education, developer experience, and a developer control plane are important investments for organizations that want to ship software faster.

--

--

CEO, Amorphous Data. Formerly: Ambassador Labs, Duo Security, Rapid7, Red Hat.