Last Updated: 2021-01-12


When deploying Grouparoo, you will be creating 3 Tiers:

  • Application Tier - The Grouparoo Application itself
  • Data Tier - Storage for the Grouparoo Application
  • Sources & Destinations External data which Grouparoo reads and writes.

Here is what a simple Grouparoo deployment looks like

Grouparoo Topology Simple

The Application tier can be as simple as a single instance of Grouparoo, or you can scale the application horizontally by adding more instances. An "instance" in this case is a single node.js process or docker image which runs the Grouparoo application. In the simplest case, each instance is both processing background jobs (WORKER) and serving the website and API requests (WEB_SERVER). This is configured via environment variables.

Scaling Grouparoo

As your Grouparoo deployment gets larger, you may want to separate your worker instances from your web instances. You can accomplish this by running the same code in the same docker image, but running with different environment variables (WORKERS=0 vs WORKERS=10, for example). This allows different instances of the application to handle different workloads, and be scaled up or down accordingly. For example, if you have a large volume of data to process, but only a small number of users interacting with the site or API, you may want 5 worker instances but only 1 web instance.

Grouparoo Topology Complex

However, for most moderately-sized Grouparoo deployments, you won’t need to make this distinction - the same instance can be set up to run the workers and the website (WORKERs=5, WEB_SERVER=true, etc), as described in the simple case above

Learn More

To learn more about configuring Grouparoo to connect to the services within your topology, visit the Environment page.

To learn more about monitoring each tier, visit the Monitoring Page.