The demands of today’s digital business can be overwhelming. A Golden Path defines and simplifies the software development process, letting developers focus on writing code instead of configuring and managing tools and infrastructure, reducing time to production.
What is a Golden Path?
A Golden Path (sometimes referred to as a paved road or a paved path) is an opinionated, well-defined, task-specific, and supported path for creating software. If a team can stay on the Golden Path, it allows the development process to proceed more smoothly. Golden Paths enable organizations to build better software and deliver it to production faster, with higher quality and greater control. Different teams within an organization often use a wide array of tools, frameworks, and languages. Developers often spend too much time searching for the right technology—and learning how to use it—and not enough time making great software.
This approach leads to a fragmented ecosystem of tools, frameworks and documentation, increased cognitive load, and an inconsistent level of expertise and knowledge. A Golden Path offers a supported approach with well-defined tooling, processes, and approaches for building and deploying software. It typically incorporates cloud native technologies including Kubernetes, CI/CD, DevOps, and DevSecOps. Sticking to defined tools and processes and building “golden path software” can boost developer productivity and decrease time to value.
By carefully defining and supporting frameworks, tooling, best practices and more, a Golden Path can:
- Improve expertise. Provide a developer-centric view of the end-to-end software development process. Providing the right tools ensures developers aren't constantly searching for something they can adapt to get the job done.
- Reduce developer toil. Lower cognitive load by abstracting away the complexity of infrastructure, tooling, terminology, processes, and people.
Golden Path development offers value through:
- Discovery and learning. Clearly delineated goals and step-by-step tutorials with best practices baked in help with onboarding new team members and learning about available and preferred tools and services.
- Creating and iterating. Build applications using shareable templates and accelerators that help developers navigate through chaos. Easily discoverable and reusable services and documentation is foundational for a Golden Path to establish consistency and transparency.
- Integrating and deploying. Enable automation and self-service using tools such as CI/CD pipelines, API management, or containers.
- Improved operations. Gain visibility and expanded depth through monitoring and observability. Manage an application's behavior before it reaches production with features like metrics, traces, and logs.
Golden Paths and Paved Roads
The concept of a Golden Path in software development was originally developed by Spotify to help their engineers navigate the growing complexity of cloud native infrastructure and to quell what they referred to as “rumor-driven development”. A Spotify Golden Path offers options for tooling and services, as well as a roadmap for IT teams containing tutorials, documentation, and best practices. (For sci-fi fans, the term “Golden Path” was derived from Frank Herbert’s classic, Children of Dune.) A Netflix Paved Road is a similar approach that incorporates a combination of culture and tooling to standardize development practices.
How to design a Golden Path
Following a Golden Path consolidates best practices and reduces decision-making. Every business that builds and deploys software—telecommunications, transportation, healthcare, or manufacturing—can benefit from defining Golden Paths. What you include in your Golden Path, however, can vary depending on your business and objectives.
Designing a Golden Path consists of the following steps:
- Step 1: Define your goals
- Step 2: Identify your target audience
- Step 3: Research the best practices
- Step 4: Choose your tools
- Step 5: Create a prototype
- Step 6: Document everything
- Step 7: Get feedback and iterate
Each Golden Path is a living artifact that responds to user feedback and changes as technology evolves. Even though Golden Paths eliminate complexity, they should still offer some freedom to deviate within the path or allow for extensibility, letting developers use a favored tool or approach for situations that demand it.
What to keep in mind when considering Golden Paths
A Golden Path enables organizations to consolidate knowledge and best practices, facilitate onboarding of new team members, and increase sharing and discovery between teams. This leads to increased automation and innovation, faster, more secure software production, and an improved developer experience (DevX).
Standard components of a Golden Path
Golden Paths are a catalyst to cooperation between teams, from sharing and discovering documentation and internal APIs to applying tooling and security. They help you standardize best practices and orient teams in the right direction. Components of a Golden Path include:
Documentation repository. Developers can create an initial application from an automatically-configured template, jumpstarting the development process. New microservices can be spun up from templates that have been built by operations teams utilizing your organization’s own best practices.
Software catalog. Developers have some latitude to choose their preferred tools and services—Serverless vs Kubernetes? Google Cloud Platform vs Amazon Web Services? CircleCI vs Jenkins? By making services easily discoverable and available, you encourage re-use of the same services rather than having developers choose—or even invent—new ones.
Scaffolding/frameworks. Build your own templates to allow teams to quickly create projects, while ensuring compliance with technical standards and specifications. This enables software teams to deliver software without getting bogged down by complexity.
Software supply chain. Many Golden Paths incorporate open source projects, such as Backstage as a developer portal or Tekton for CI/CD pipelines. Combined with customizable plugins and embedded best practices, these tools accelerate the supply chain, streamline the software development lifecycle, and provide Golden Paths to production.
Self-service developer portals
In software development, a developer portal is designed to collect tools, knowledge, training, and other technologies with the aim of reducing complexity and cognitive load. By gathering everything necessary for a Golden Path and making it accessible in one place, a developer portal enables internal self-service and can serve as the foundation for a Golden Path, allowing teams to discover resources, create projects, integrate components and tools, and deploy and operate software all from a single pane of glass.
By 2025, 75% of organizations with platform teams will provide self-service developer portals to improve DevX and accelerate product innovation. A big decision that organizations looking to build a developer portal face is whether to build it from scratch or utilize an existing open source project such as Backstage.
Backstage is an open source developer portal that centralizes infrastructure tooling, software components, data, and documentation behind a single pane of glass. It was developed by Spotify and is now under the auspices of the Cloud Native Computing Foundation (CNCF). A customizable plugin library encourages collaboration and reuse and speeds up onboarding.
Backstage enables developers to:
Create new software in seconds, aligned to your organization’s best practices
Manage software in one centralized location
Explore and utilize an ecosystem of extensible plugins
Collaborate more easily across your organization
Golden Paths at VMware
VMware Tanzu is committed to help organizations accelerate the pace of software development, improve quality, and reduce toil. We offer a range of products and services that will help you better leverage existing Golden Paths or create new ones.
VMware Tanzu Application Platform is a single, end-to-end, integrated solution that enables companies to build and deploy more software, more quickly and securely, through a rich set of developer tooling and pre-paved Golden Paths to production. Tanzu Application Platform utilizes Backstage to improve developer experience.
VMware Tanzu Labs can help teams turbocharge their application modernization efforts and provide advice on defining Golden Paths that will serve the needs of your software teams and your business.
VMware Aria Operations for Applications (formerly VMware Tanzu Observability) offers customized and out-of-the-box dashboards for applications that bring together metrics, traces, and log management, simplifying full-stack visibility for multi-cloud environments.
Developing Golden Paths for Spring applications
VMware and Microsoft have partnered to make Azure Spring Apps a Golden Path for deploying and scaling Spring applications in the cloud. With Azure Spring Apps, you can deploy event-driven Spring applications to the cloud and get them up and running in no time. It is a Golden Path to production that simplifies the deployment process and optimizes resource usage.
Frequently Asked Questions
What is a Golden Path in software development?
A Golden Path is a supported approach and defined set of components for building and deploying software using cloud native technologies and methods. A Golden Path centralizes tools, frameworks, and documentation into an opinionated process that reduces cognitive load, boosts developer productivity, and simplifies the software development process.
What is a Spotify Golden Path?
The concept of Golden Path in software development was originally developed by Spotify to help engineers navigate the growing complexity of the cloud native ecosystem. A Golden Path is similar to a Netflix Paved Road approach that considers a combination of culture and tooling in its development practices.
What is a developer portal?
A developer portal collects tools, knowledge, training, and other technologies with the aim of reducing complexity and cognitive load. Internal self-service developer portals are often the foundation upon which Golden Paths are built.
What is Backstage?
Backstage is an open source developer portal that centralizes infrastructure tooling, software components, data, and documentation behind a single pane of glass. Tanzu Application Platform utilizes Backstage to power its developer portal.