All scaling options can be found in the following files:
API:
Frontend:
- infra/frontend/app-config/dev.tf
- infra/frontend/app-config/staging.tf
- infra/frontend/app-config/prod.tf
Scaling is handled by configuring the following values:
- instance desired instance count
- instance scaling minimum capacity
- instance scaling maximum capacity
- instance CPU
- instance memory
Our ECS instances auto scale based on both memory and CPU. You can view the autoscaling configuration here: infra/modules/service/autoscaling.tf
Scaling is handled by configuring the following values:
- Database minimum capacity
- Database maximum capacity
- Database instance count
In prod, the database maximum capacity is as high as it goes. Further scaling past the point will require scaling out the instance count. Effectively using the instance count scaling might require changes to our application layer.
- Search master instance type
- Search data instance type
- Search data volume size
- Search data instance count
- Search availability zone count
When scaling openSearch, consider which attribute changes will trigger blue/green deploys, versus which attributes can be edited in place. You can find that information here. Requiring blue/green changes for the average configuration change is a notable constraint of OpenSearch, relative to ECS and the Database.