Engineering
March 15th, 2024

Introducing the Coder Backstage Plugin

author avatar
Ben Potter
Developer Advocate

SHARE

Today, organizations of all sizes are building their internal developer platforms on top of Backstage.io.

Why? Spotify, the original developers of Backstage.io explain the problem well:

Instead of building and testing code, teams were spending more time looking for the right information just to get started. “Where’s the API for that service we’re all supposed to be using?” “What version of that framework is everyone on?” “This service isn’t responding, who owns it?” “I can’t find documentation for anything!”

However, Backstage can do much more than centralize metadata across different services. Developer productivity teams are building different Backstage plugins, pages, and integrations to save developers time and increase the collective knowledge of their engineering teams. In fact, Expedia reported that 4000 developers spend 20+ minutes a day in Backstage.

Source: Backstage.io documentation

Developer experience starts from the IDE

Our mission at Coder is to keep developers in flow. Because developers spend the majority of their time in their IDE, we started there. Developers at large enterprises often suffer from poor development (IDE) environments. Here are some common traits:

  • Onboarding: Developers take weeks to onboard to new projects, often due to manual steps, outdated wikis, or missing developer tools on their machine
  • Lag/latency: Developers must use a VPN or Virtual Desktop to connect, introducing high typing latency or slow download speeds
  • Inconsistency: Software is difficult to install on Windows/macOS machines. These disparate environments and introduce "it works on my machine" problems when comparing to Linux-based QA or production environments
  • Partial environments: Dependencies (databases, services) are mocked to reduce load on the laptop and reduce local troubleshooting. However, this requires waiting for test or staging environments to fully test your code, resulting in a slow development loop.
  • Slow builds and tests: Developers spend hours per day waiting on slow builds, IDE indexing, or git clones

Coder is an open-source, self-hosted platform for cloud development environments (CDEs), which allows developers to set up a secure remote environment in minutes, not days. Here’s how a developer can start contributing to a project with Coder, starting from Backstage:

Check out the Coder Backstage plugin on GitHub

Don't use Coder? The Dev Containers plugin can detect repos with devcontainer.json and give developers a link set up the repo in local VS Code. Use it to prove the the one-click onboarding experience using local compute.

How it works

The plugin matches Backstage catalog items with a compatible template and sends any parameters (such as git repository) to Coder. Templates can use the Dev Containers specification or a common base image can be used to ensure the proper tools for the projects are pre-installed in the workspace.

Our methodology

Like Backstage, we built Coder to allow developers to continue using the tools they love, while also providing sensible defaults. After all, developers take a lot of pride in configuring and optimizing their IDEs. Coder relies on open standards to give developers the environments they need:

  • IDEs: Any editor with SSH support (VS Code, JetBrains, vim, emacs) or web access (Jupyter, RStudio) is supported

  • Infrastructure: Workspaces are defined with Infrastructure as Code (Terraform) and can be VMs or Kubernetes pods.

  • Dependencies: Define a project’s dependencies (Python 3.11, Java 3.8, Podman 2.1) with a devcontainer.json in the git repository

Next steps

You can check out the Coder Backstage plugin on GitHub. Want a demo? Contact us.

Related Content:

Register for our upcoming webinar Backstage + Coder: The Full Software Development Lifecycle, March 27 at 10 am PST

RELATED ARTICLES

Enjoy what you read?

Subscribe to our newsletter

By signing up, you agree to our Privacy Policy and Terms of service.