docs: add scaling section to deployment docs

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2022-07-15 14:09:34 +02:00
parent a3b9b7f012
commit b745fa726c
3 changed files with 26 additions and 0 deletions
+24
View File
@@ -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.