Archived docs. ESS 2.0 has reached end of life.


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.

  1. Go to your ESS installation directory:

    cd ${HOME}/ess
  2. 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 the replicas key:


    If replicas key does not exist in kustomization.yaml, add the key replicas as well.

    # kustomization.yaml in your ESS installation directory
    # ...  Preceding content omitted for brevity 
    # ...
    - name: ess-pod-provision
      count: 2
  3. Continue with the rest of the Applying Your Customizations procedure.