Azure Container Apps
Deploy Nimbus as a serverless container on Microsoft's managed Kubernetes platform. Scale to zero when idle, burst to thousands of replicas under load, and pay only for the vCPU and memory your containers consume — no cluster management required.
Why Azure Container Apps
- ▸KEDA-driven autoscaling — zero to N replicas based on HTTP traffic, queue depth, or custom metrics
- ▸Dapr integration for state stores, pub/sub, and service invocation without SDK lock-in
- ▸Managed TLS termination and revision-based blue/green deployments
- ▸Private VNet injection — keep Nimbus traffic off the public internet
Quick Start
1. Container image
Build and push your Nimbus image to Azure Container Registry. The image must listen on the port defined by the PORT environment variable — ACA injects this automatically.
2. Define the Container App
Set minimum replicas to 0 for scale-to-zero. Configure a scale rule on HTTP requests with a concurrency target of 10. Assign 0.5 vCPU and 1 GiB memory per replica as a starting baseline.
3. Ingress and auth
Enable external ingress on HTTPS only. Pin the ingress to a custom domain and attach a managed certificate. Use the built-in authentication middleware to validate Nimbus license tokens before requests reach your container.
4. Secrets and env vars
Store your Nimbus signing key and KeyAuth secrets in ACA secrets. Reference them as environment variables — never bake secrets into the image. Rotate via revision updates.
Pro tip: Combine scale-to-zero with a 30-second graceful shutdown. Nimbus completes in-flight license validations before the replica terminates, preventing dropped sessions during scale-in events.