Paving Golden Paths On Multi-Cluster Kubernetes: Part 1 (The Theory)
When I wasted three years of my life building a platform for a project that failed within a month of launching, I vowed to never make the same mistake again.
Fast flow of value, and fast feedback, reduces risk and waste. A high-performing platform team can pave golden paths to help application teams quickly get their software in production with security and sustainability. Here we examine the theory–why platform teams exist, what platform engineering is, and why we should pave golden paths–before we move on to a worked example. We will use Kratix, the platform as-a-Product framework, to minimise the effort required to build a bespoke platform tailored to the needs of application teams.
Feel free to skip to Part 2 (The Practice) if you’re confident on the theory behind paving golden paths and would like to try this out for yourself.
Team Topologies (TT) provides a vocabulary for organisational design and interaction. Organisations typically have a number of teams tasked with providing value directly to the organisation’s customers; these are “stream-aligned teams” in Team Topologies, often simply described as “application teams”.
In some organisations these application teams provide their own full-stack solutions, a model which has become increasingly popular with “Devops”. Devops has often been misconstrued as “if your team writes a line of code, your team must build their own datacentre and work up from there”. This creates a “platform gap”, which is the chasm each team must cross between the infrastructure and their meaningful work adding product value.
Team Topologies explains how high-performing organisations quickly noticed the inefficiency of every team building their own full stack. Internal platforms and platform teams started to emerge. This trend continues today. These teams provide internal services to application teams. They lower the “cognitive load” (effort) required by the application teams. And the most important knock-on of lowering cognitive load is, of course, getting valuable features into production and out to customers as quickly as possible. Platform teams exist to make life easier for application teams.
The platform team does not lead an organisation back to the world of separate development and operations. The platform team develops and operates the platform, and the application teams develop and operate their applications.
The platform team does not lead an organisation back to the world of separated development and operations. The platform team develops and operates the platform. The application teams develop and operate their applications.
This shift has given rise to a couple of recent trends. First: platform engineering, i.e. how to go about delivering an internal platform in a reliable and sustainable manner. Second: platform as-a-Product, i.e. how to take a customer-centric approach to delivering an internal platform, where the customers of the internal platform are the members of the application teams.
Taking a customer-centric approach to building a platform creates an “infinite game” of learning. The platform team will always be looking for the next most impactful way in which they can lower cognitive load for the application teams. The needs of the application teams will evolve over time, and the platform product must evolve to match those needs.
Platform products often begin with quick wins, such as off-the-shelf/cloud databases, application serving, networking, and so on. Building these services internally would be wasteful, and the range of off-the-shelf/cloud services is continuously improving. Maturing internal platforms begin to incorporate needs that are unique to the organisation, such as security, compliance, governance, and network topologies. This is why platform teams must exist in organisations at scale; only a team with the context of the organisation can build the high-value aspects of the internal platform.
At Syntasso the area where we help most frequently is supporting platform teams to pave “golden paths” for the application teams they serve. A "Golden Path" is the opinionated and supported path to “build something”. Imagine a complete development environment setup, with the networking, integration, security, governance, compliance, and deployment aspects of the software delivery pipeline - all available on-demand. By paving a golden path the platform team makes doing the right thing easy for the application teams.
In our next article, we will explore how to pave a golden path using Kratix.
Want to learn more?
Click below to book time with our team or try out our workshop.
Platform Review A free 1-hour session with experts to review your platform.
Engineering Collaboration A free 1-hour engineering session to build your first Kratix Promise.
Build Your Platform A self-paced workshop that will enhance your platform engineering skills with Kratix.