Skip to content

Commit

Permalink
docs: add scaling section to deployment docs
Browse files Browse the repository at this point in the history
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
  • Loading branch information
Rugvip committed Jul 15, 2022
1 parent a3b9b7f commit b745fa7
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 0 deletions.
24 changes: 24 additions & 0 deletions docs/deployment/scaling.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
id: scaling
title: Scaling Backstage Deployments
sidebar_label: Scaling
description: Scaling Backstage production deployments
---

There are several different methods for scaling Backstage deployments. The most
straight-forward one is to simply deploy multiple identical instances and distributing
incoming requests across them. The one requirement for this to work is that all instances
need to share the same external resources, such as the database, and optional caching or
search services. The Backstage backend plugins will coordinate through the database
to share state and coordinate work.

Another method for scaling Backstage deployments is to break apart the backend
into multiple different services, each running a different set of plugins. This
is a more advanced approach and requires you to be able to route requests to
the appropriate backends based on the plugin ID. Both for ingress, but also
internal traffic between Backstage backends, which is done by creating a custom
implementation of the [PluginEndpointDiscover](../reference/backend-common.pluginendpointdiscovery.md) interface.

Lastly, you can also replicate the Backstage deployments across multiple regions.
This is not a pattern that there is built-in support for and typically only makes
sense to do for individual backend plugins.
1 change: 1 addition & 0 deletions microsite/sidebars.json
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,7 @@
],
"Deployment": [
"deployment/index",
"deployment/scaling",
"deployment/docker",
"deployment/k8s",
"deployment/heroku"
Expand Down
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@ nav:
- Glossary: 'auth/glossary.md'
- Deployment:
- Deploying Backstage: 'deployment/index.md'
- Scaling: 'deployment/scaling.md'
- Docker: 'deployment/docker.md'
- Kubernetes: 'deployment/k8s.md'
- Heroku: 'deployment/heroku.md'
Expand Down

0 comments on commit b745fa7

Please sign in to comment.