Compute Sizing
Self-hosting is only available with Pulumi Business Critical. If you would like to evaluate the self-hosted Pulumi Cloud, sign up for the 30-day trial or contact us.
The API service and console are stateless containers. This page documents recommended container resource allocations and minimum infrastructure requirements.
For component configuration details, see Components.
Recommended container resources
| Service | CPU | Memory | Notes |
|---|---|---|---|
| API | 2048m (2 vCPU) | 4096 Mi (4 GB) | Scale horizontally for HA |
| Console | 512m (0.5 vCPU) | 512 Mi | Static web UI, low resource usage |
| Migrations | 128m | 128 Mi | Runs once per upgrade before service rollout |
For production, 2 vCPU / 4 GB RAM per API instance is a good starting point. Scale horizontally (more instances) rather than vertically for the API service, since it is stateless and benefits from running behind a load balancer across multiple AZs.
The ECS installer exposes
apiTaskCpu and apiTaskMemory Pulumi config options for customizing API service resources. Other installers can adjust resource requests/limits directly in the Kubernetes manifests.Minimum infrastructure requirements
Production (high availability)
| Component | Specification |
|---|---|
| Database | MySQL 8.0.x, multi-AZ, 2+ instances (writer + reader), 20 GB+ SSD |
| Object storage | S3-compatible, 200 GB+ SSD, versioning enabled |
| Compute | 2+ instances/pods across 2+ AZs, 2 vCPU / 4 GB RAM per instance minimum |
| Load balancer | Application load balancer across 2+ AZs |
| Network | VPC with public and private subnets in 2+ AZs |
| DNS | Two A records: api.{domain} and app.{domain} |
| TLS | Certificates for both API and console domains |
Thank you for your feedback!
If you have a question about how to use Pulumi, reach out in Community Slack.
Open an issue on GitHub to report a problem or suggest an improvement.