Backstage, an open-source developer portal platform created by Spotify, unifies infrastructure tooling and consistent and centralized technical documentation. Enabling engineering hypergrowth at Spotify since 2016, Backstage is a hub for everything developers need to do their work -- including docs, runbooks, and API specs. Spotify saw engineering onboarding time drop by 55% in the two years after deploying Backstage internally while onboarding hundreds of engineers each year.
Roadie’s SaaS platform handles hosting, upgrades and security, ensuring that developers always have access to the latest Backstage features in a monetized business model.
Roadie’s platform enables developers to:
- Cut onboarding time with discoverability
- Customize Backstage using a drag-and-drop composer
- Customize Backstage to their organizations needs
- Easily make changes to accompany growth
The Roadie challenge
Roadie was lacking a simple yet comprehensive solution for managing customers and environments as well as provisioning new environments for each new customer. Specifically, they faced numerous challenges around maintaining multiple Terraform stacks of the same code, visibility, CICD and scaling.
Roadie needed to create multiple Terraform workspaces for the same codebase to support multiple instances at Backstage. Maintaining a few workspaces was not particularly difficult, but the challenges ahead for a growing company with an increasing number of workspaces was a roadblock just waiting to go up. It was vital for developers to be able to easily discover and see existing workspaces and know what they’re for, particularly to reduce the frequency of which developers need to connect to production. This would also be a key requirement so most operations could be automated.
In addition to discoverability, Roadie wanted to be able to apply Terraform changes to all their workspaces in a consistent way. This would have required implementation into their CICD pipelines, taking extra valuable development time.
Finally, with regard to management of the workspaces, Roadie needed a programmable way to create and destroy workspaces.
The env0 solution
With continued growth of its engineering teams, Roadie chose env0 to improve developer productivity, reduce downtime and enable teams to ship high-quality code quickly. The env0 solution has delivered numerous benefits to Roadie:
- With Github integration, Roadie can easily see the Terraform plan result before merging a Pull Request. Roadie can also be certain that after the PR is merged, the new code will run in production automatically.
- By integrating env0 with Slack, Roadie no longer has to worry about problems in any of the workspaces as they will get any relevant notifications and be able to act on them.
- With a Web UI, Roadie can easily browse all their workspaces and know what state they are in.
- API-driven Terraform stack management allows Roadie to create, list and delete workspaces via an API, reducing weeks of work and effort. As a result, Roadie can build management services and scripts to on-board tenants quickly and easily.
- Roadie benefits from the use of custom workflows for the creation and teardown of stacks. In particular, Env0 allows Roadie to use custom workflows with a Kubernetes provider which does not handle expired tokens in Terraform. Furthermore, when a workspace is created, there are often a handful of tasks that must be completed outside Terraform and these are also handled in custom workflows.
All of this allows developers to focus on innovation and product development instead of getting bogged down with reinventing the wheel around repetitive tasks.
The benefits to Roadie
As a TACoS (Terraform Automation and Collaboration Software) platform, env0 is purpose-built for managing the lifecycle of Infrastructure as Code environments, from deploy to destroy.
Roadie credits the env0 solution for allowing anyone in the company to easily see how many tenants Roadie has, their current employment status and the cost of the AWS resources for each tenant. Developers have gained new confidence in the knowledge that whenever changes are proposed and merged to Roadie’s Terraform repository, they will get tested and there will be notifications of any failures. Finally, Roadie saved a great deal of time by not having to develop a custom solution to run Terraform in multiple workspaces via CICD workflows or custom APIs.