Platform Engineering
Platform Engineering & The Value of Golden Paths in the Light of the 80-20 Rule
Jun 23, 2024
Platform Engineering: The Solution to DevOps Complexity
Enter Platform Engineering, a discipline curated to lighten the developers' load. By crafting efficient abstractions and offering self-service infrastructure, Platform Engineering seeks to consolidate diverse tools, paving the way for a more streamlined developer experience. It's an antidote to the potential cognitive overload that can emerge from a dense DevOps model where shared responsibilities can sometimes blur the boundaries between Development and Operations teams.
Golden Paths: Guided Journeys in Development
Platform Engineering introduces the concept of 'Golden Paths'. As described by the Cloud Native Computing Foundation, Golden Paths are "templated compositions of well-integrated code and capabilities for rapid project development." In essence, it's a pre-defined guide designed for standard tasks. But where does the 80-20 rule fit into this?
The 80-20 rule suggests that 80% of the tools and configurations developers require can be catered to by conventional Golden Paths. This means for the majority of tasks, a Java Spring Boot Golden Path Template or a “React Web Frontend” guide, for instance, would suffice. Such a repository could encompass:
A sequential tutorial.
Preliminary source codes.
Dependency management provisions.
CI/CD pipeline designs.
Cloud infrastructure-as-code outlines.
Kubernetes YAML configurations.
Logging and monitoring tools.
However, it's crucial to note that while these paths serve the 80% need, there remains a 20% niche requirement. For these unique, outside-the-box tasks, developers must have the autonomy to venture outside the Golden Path and formulate custom solutions. Thus, while Golden Paths provide direction, they should not be restrictive. They should be paths, not cages. The flexibility to deviate ensures innovation isn't stifled, catering to both routine and specialized tasks.
Who Stands to Gain from Golden Paths?
Golden Paths' utility stretches across roles:
Application Developers: They benefit from direct, clear guidance, mitigating the intricacies of infrastructure code and refining the onboarding process.
Site Reliability Engineers (SREs): Uniformity across services allows SREs to speed up troubleshooting during system downtimes.
Security Administrators: By using Golden Paths, they can systematically enforce security policies, ensuring protection isn't compromised.
Organization at Large: Resource optimization and overall efficiency are enhanced organization-wide.
Core Principles & Best Practices
Golden Paths, while differing based on an organization's profile, share several universal principles:
Provide clear, opinionated methods to achieve specific tasks, in order to reduce cognitive load.
Integrate effortlessly with existing platforms.
Address most routine (80%) requirements.
Be transparent. The abstraction provided by a Golden Path should not be such that a developer cannot dive into the underlying infrastructure if and when needed.
Be adaptable and non-restrictive, ensuring they don't become golden cages.
Be self-service, so that developers are able to use the golden paths without being delayed by a gatekeeper.
Be optional, so that a developer is not forced to use them if they don’t suit their current needs.
Harnessing External Expertise
Although many companies opt to devise their own Golden Paths, there's substantial merit in seeking external proficiency. Not every organization possesses the resources or specialized knowledge for in-house creation. External experts, with their extensive know-how, can furnish ready-to-use Golden Paths, customized for distinct organizational demands, saving companies the effort of starting from scratch.
Just as you don’t expect every company to build their own CRM system, you shouldn’t expect every company to build their own internal development platform from scratch!
In Conclusion
Golden Paths, developed internally or sourced externally, can be revolutionary in boosting productivity. When done well, following the 80-20 rule, they address the majority's needs without becoming limiting in solving the unique challenges of the few. As organizations plan their road ahead, let Golden Paths, not cages, lead the way, ensuring optimal operations and enriched developer experiences.