Scaling#
This page discusses horizontal scaling to meet increasing demands.
The page does not cover scaling services such as Kafka, Zookeeper, and PostgreSQL Metrics.
Horizontal Scaling of ESS#
Horizontal scaling of ESS involves adding more worker nodes (VMs) to run additional instances of ESS services; for instance, having 2 instances of Pod Storage service, each running on a separate server, instead of a single Pod Storage service running on one server.
Scale Services Independently#
With ESS, you can scale each service independently of each other. For example, you can have 3 instances of the Pod Storage service and 1 instance of the Solid OIDC Broker Service.
Stateless Services#
All user-facing ESS services (Pod Storage, etc.) are stateless. Using stateless services strongly supports horizontal scaling as a user’s requests to a given service do not need to route to the same instance of that service.
Scale a Deployment#
You can use Kustomize Overlays to scale your deployment.
Example: Scale a Deployment#
Adding more Pod provisioning helps with resiliency. The following
example file sets the number of replicas for ess-pod-provision
deployment to 2
.
Go to your ESS installation directory:
cd ${HOME}/ess
Modify the
kustomization.yaml
(i.e., step 3 of the Applying Your Customizations procedure).Specifically, add the highlighted content to the
kustomization.yaml
file under thereplicas
key:Tip
If
replicas
key does not exist inkustomization.yaml
, add the keyreplicas
as well.# kustomization.yaml in your ESS installation directory # ... Preceding content omitted for brevity # ... replicas: - name: ess-pod-provision count: 2
Continue with the rest of the Applying Your Customizations procedure.