Infrastructure Sizing
Use the sizing calculator below to determine the right infrastructure for your Datafly Signal deployment. Select your cloud provider, expected monthly event volume, number of destinations, and average event size to get recommended specs and an itemised cost estimate.
For 10M events/month you need Kubernetes with managed services. Switch to AWS, GCP, or Azure above for accurate pricing. The costs shown below are based on VPS pricing and would not provide the required capacity.
Cost Breakdown
| Component | Specification | Monthly Cost | % of Total |
|---|---|---|---|
| Compute Nodes | 2x Hetzner CX22 (2 vCPU, 4 GB) | $9.98 | 100.0% |
| Total Estimated Monthly Cost | $9.98 | 100% | |
Helm Values Snippet
Copy this into your values.yaml as a starting point. See the VPS deployment guide for the complete configuration.
# Datafly Signal — VPS Starter Tier
# 10M events/month, 3 destinations
# ~12 peak events/sec
# Estimated cost: ~$9.98/month
ingestionGateway:
replicas: 1
hpa:
enabled: false
minReplicas: 1
maxReplicas: 4
eventProcessor:
replicas: 1
hpa:
enabled: false
minReplicas: 1
maxReplicas: 4
deliveryWorkers:
vendors:
- name: webhook
enabled: true
replicas: 1
hpa:
enabled: false
minReplicas: 1
maxReplicas: 4
identityHub:
replicas: 1
managementApi:
replicas: 1
managementUi:
replicas: 1Sizing Tiers
Datafly Signal scales across five sizing tiers based on monthly event volume. Each tier specifies Kubernetes node requirements, Kafka broker capacity, Redis and PostgreSQL instance sizes, and estimated monthly cloud costs.
| Tier | Monthly Events | Peak Events/sec | Infrastructure | Estimated Cost |
|---|---|---|---|---|
| Micro | ≤ 5M | ≤ 5 | 1 VM/VPS, Docker Compose | ~$5-35/mo |
| Starter | ≤ 10M | ≤ 10 | 2 K8s nodes, 1 broker | ~$300/mo |
| Small | ≤ 100M | ≤ 50 | 3 K8s nodes, 2 brokers | ~$900/mo |
| Medium | ≤ 1B | ≤ 400 | 3 K8s nodes, 3 brokers | ~$1,800/mo |
| Large | ≤ 10B | ≤ 4,000 | 5 K8s nodes, 5 brokers | ~$4,500/mo |
| XL | ≤ 100B | ≤ 40,000 | 8 K8s nodes, 7 brokers | ~$12,000/mo |
Cost estimates include all infrastructure: Kubernetes nodes, managed Kafka, Redis, PostgreSQL, load balancer, data transfer (ingress and egress), storage, and DNS. Actual costs vary by reserved instance pricing and committed use discounts (30-60% savings typical).
Service Replica Counts by Tier
| Service | Starter | Small | Medium | Large | XL |
|---|---|---|---|---|---|
| Ingestion Gateway | 1 | 2 | 3 | 5 | 8 |
| Event Processor | 1 | 2 | 3 | 5 | 8 |
| Delivery Workers | 1 | 2 | 3 | 5 | 10 |
| Identity Hub | 1 | 1 | 2 | 2 | 3 |
| Management API | 1 | 2 | 2 | 2 | 3 |
| Management UI | 1 | 2 | 2 | 2 | 2 |
Kafka Partition Recommendations
Kafka partition counts should match or exceed the maximum replica count of consumers for each topic to ensure parallel processing:
| Topic | Starter | Small | Medium | Large | XL |
|---|---|---|---|---|---|
events.raw | 3 | 6 | 12 | 24 | 48 |
events.processed | 3 | 6 | 12 | 24 | 48 |
events.delivery.* | 3 | 6 | 12 | 24 | 48 |
events.dlq | 1 | 3 | 6 | 12 | 24 |
Kafka partition counts can be increased but not decreased. Start with the recommended count for your tier and increase as needed.
PostgreSQL Storage
PostgreSQL storage requirements depend on the number of organisations, sources, integrations, and audit log retention:
| Tier | Recommended Storage | IOPS |
|---|---|---|
| Starter | 10 GB | 3,000 |
| Small | 20 GB | 3,000 |
| Medium | 50 GB | 3,000 |
| Large | 100 GB | 6,000 |
| XL | 200 GB | 12,000 |
Horizontal Pod Autoscaling
For production deployments, enable Horizontal Pod Autoscaling (HPA) to automatically scale services based on CPU utilisation:
ingestionGateway:
hpa:
enabled: true
minReplicas: 2
maxReplicas: 10
targetCPUUtilizationPercentage: 70
eventProcessor:
hpa:
enabled: true
minReplicas: 2
maxReplicas: 10
targetCPUUtilizationPercentage: 70The sizing tiers above define minReplicas. HPA will scale up to maxReplicas during traffic spikes and scale back down during quiet periods.
Next Steps
- Choose your cloud provider and follow the deployment guide: AWS, GCP, or Azure
- Review the Kubernetes page for Helm chart details
- Set up Observability for monitoring and alerting