Kubernetes is a central force in the cloud-native computing universe. It plays a significant role in most major technology trends today, from containerization and microservices architecture to edge computing to AI and machine learning workloads.
Around 5.6 million developers now use Kubernetes, according to research from SlashData. That staggering number equals roughly one-third of all backend developers. Approximately two out of three developers writing applications for the edge are building on top of Kubernetes.
Kubernetes’ reputation for power, however, is matched by its reputation for its complexity—especially when organizations go it alone and build out their own Kubernetes environments in-house. What might start out as a seemingly simple deployment of a single cluster can become a production inhibitor in short order and has been known to drown even an experienced DevOps team in operational overhead.
The breakneck pace of innovation and change in the Kubernetes community—and the broader cloud-native landscape—are actually leading to a counterintuitive outcome: Many companies aren’t achieving the expected product innovation and progress because teams are struggling to keep up with software updates, tools, integrations and more. This is further exacerbated by the acute shortage of ops/DevOps engineers with Kubernetes and cloud-native experience. The problem gets worse with the use of more complex IT systems.
This presents a conundrum for the modern enterprise: How do enterprise IT leaders unlock the power of Kubernetes—and a slew of other technologies that revolve around the orchestration platform—while simultaneously taming its complexity?
This article explores how organizations are forming platform teams to shoulder the responsibilities of Kubernetes, taking advantage of public clouds and delivering infrastructure as code (IaC). Let’s explore several key areas:
- What is a platform team?
- What are its critical areas of focus?
- What are some of the key principles for success?
We’ll also examine some of the guiding principles for creating an enterprise-wide platform team, and the policies that put the platform team on a path to operational success.
What Does A Platform Team Do?
One of the major challenges of the do-it-yourself (DIY) approach to managing Kubernetes and other cloud-native infrastructure is that most of those millions of developers referenced above aren’t usually skilled in its intricacies. Nor should they need to be—their core competencies are in building top-notch products and services for customers. Do you really want them worrying about the kubectl command line, Kubernetes networking internals or how to properly configure cluster-wide RBAC for security?
The platform team builds out the tooling and processes necessary to abstract the operational complexity of Kubernetes away from developers, bringing an operational and optimization mindset to internal tools and workflows so that DevOps can focus on innovation. The advent of Kubernetes-focused platform teams is a natural evolution of what began with DevOps and is a clear message to IT leaders who may be expecting too much from developers. DevOps and platform engineering teams make key capabilities such as automation and standardization first-class citizens.
Key Areas Of Focus For Platform Teams
Across the board, platform teams within the enterprise should focus on the following:
Increasing Innovation: By abstracting away Kubernetes operations—as well as other facets of modern infrastructure management—the platform team liberates developers and other team members from the burden of managing infrastructure. Instead, developers spend their time building and iterating on products and services that customers love, and their workflows accelerate because they’re not worried about provisioning a server or where to find secure container images for their applications.
The “Platform Product” Mindset: Platform teams are taking a product approach to automation and governance. Platform engineers continuously implement and apply reliable, proven practices. By delivering internally consumable, shared services platforms, they enable an organization’s digital backbone and allow developers to do what they do best.
Operational Efficiency And Process Optimizations: Automation and repeatability are foundational principles for a platform team—no one should spend time and resources on work that can be codified or automated. This includes leveraging commercial operations platforms and services wherever possible instead of (re)building everything from scratch.
Self-Service: The platform team gives developers, QA and ops users the tools they need to help themselves—the legacy model of multi-week timelines for environment creation is dead. Developers should be able to reuse workflows and pipelines to provision clusters and create new namespaces with ease. Templatized self-service with complete visibility and control allows developers to focus on building their applications while giving the enterprise the confidence to move fast without breaking things.
Ongoing Training And Development: Platform teams enable and empower the rest of the organization to develop new skills around modern infrastructure operations, providing employees a great growth opportunity. According to Vishnu Vasudevan, head of product engineering and management at Opsera, “The most important thing companies can do is invest in their team through continuing education and upskilling programs so that people not only fill a skills gap but are invested in the future success of the company.”
Key Considerations And Principles For Success
Building out a platform team for Kubernetes isn’t an easy task by any means. If the platform team is investing its bandwidth toward building and maintaining the automation and governance tooling for Kubernetes operations—and not enough time on innovation for the business—that’s an issue.
Crucially, the talent shortfall is real. Platform teams are choosing to invest in tooling that can help them move faster without needing to grow the team size as new projects arise.
In an upcoming article, I’ll discuss in detail the six guiding principles to follow when instituting a platform team. For now, suffice it to say that modern orchestration and infrastructure frameworks—namely, Kubernetes and the cloud-native ecosystem that’s constantly evolving around it—require a modern operations practice. Whether your business is small or large, consider investing in a central operations platform. When empowered by the right tooling for Kubernetes operations, platform teams can accelerate the business while bringing operation complexity to heel.
This article was originally published in Forbes.