Scaling the cluster
An Faheem Code Enterprise VM deployment starts as a single machine that runs everything: the Faheem Code application, its supporting services, and the sandboxes where conversations execute. Add machines when you need more capacity.
Machine roles
When you add a machine, you choose the role it takes. The role determines what runs on it and cannot be changed afterward.
| Role | Runs |
|---|---|
app | The Faheem Code application and its supporting services. |
sandbox | Sandboxes only. |
Recommended: dedicated sandbox machines
For production, run sandboxes on dedicated sandbox machines.
Sandboxes are the most variable workload in a deployment. When sandboxes share a machine with the Faheem Code application, a burst of conversations competes for the same CPU and memory the application needs to serve requests. Separating them means sandbox demand cannot degrade or take down the application.
Dedicated sandbox machines also give you a dial for conversation capacity.
Before you begin
Add a machine
In the Admin Console, select Cluster Management, then Add node.
Select app or sandbox. The role cannot be changed after the machine is added.
The Admin Console displays download, extraction, and join commands for the role you selected. Connect to the new machine and run them in order.
Return to Cluster Management and wait for the new machine's status to become Ready.
Add sandbox capacity
Add one or more machines with the sandbox role, then confine sandboxes to them.
Follow Add a Machine and select the sandbox role. Wait for its status to become Ready.
Open Config, find Sandbox Configuration, and enable Run sandboxes on dedicated nodes. Save and deploy the change.
Conversations that were already running stay on their original machine and are cleaned up normally as they go idle. Only new conversations move to the sandbox machines, so the transition needs no downtime.
To add more conversation capacity later, add another sandbox machine.
Add application capacity
Add machines with the app role to increase capacity for the Faheem Code application itself.