Skip to content

feat: multi-cloud deployment — Vultr, DigitalOcean, AWS Terraform + cost comparison#9

Merged
munisp merged 1 commit into
devin/1779302835-typescript-strict-fixesfrom
devin/1781953736-multi-cloud-deploy
Jun 20, 2026
Merged

feat: multi-cloud deployment — Vultr, DigitalOcean, AWS Terraform + cost comparison#9
munisp merged 1 commit into
devin/1779302835-typescript-strict-fixesfrom
devin/1781953736-multi-cloud-deploy

Conversation

@devin-ai-integration

Copy link
Copy Markdown
Contributor

Summary

Adds production-ready Terraform for 3 cloud providers so the team can choose based on cost/compliance tradeoffs, plus documentation comparing them.

Why: AWS costs $4,600-7,600/mo for RemitFlow's multi-region setup. Vultr achieves equivalent compliance (SOC 2, PCI-DSS) with Africa presence (Johannesburg) for $1,029/mo — saving $127-235K over 3 years.

What's included:

ops/deployment/terraform/
├── aws/                    # Existing AWS (EKS, Aurora Global, CloudFront+WAF, Route53 GeoDNS)
├── vultr/                  # NEW: VKE clusters (yto/lhr/jnb), managed PG+Redis, Cloudflare LB
│   └── main.tf            # 3 K8s clusters + financial node pool + GeoDNS via Cloudflare
└── digitalocean/           # NEW: DOKS (tor1/lon1), managed PG+Redis — no Africa DC
    └── main.tf            # Budget option, needs colo partner for NDPR compliance

ops/deployment/docs/
├── cost-comparison.md     # Monthly/annual TCO: AWS $4,621 vs Vultr $1,029 vs DO $793
└── deployment-guide.md    # Provider-agnostic setup, DR failover, migration procedure

All three providers use the same Helm chart (ops/deployment/helm/remitflow/) and the same Docker images — only the infrastructure layer changes. Cloudflare sits in front of all options for CDN + WAF + GeoDNS.

Key design choice: Vultr terraform uses cloudflare_load_balancer with region_pools for continent-based routing (WNAM/ENAM → Toronto, WEU/EEU → London, SAF/WAF/NAF → Johannesburg), replacing AWS Route53 GeoDNS.

Link to Devin session: https://app.devin.ai/sessions/64d054ae77da41e9a2b74d8593fa635c
Requested by: @munisp

…ost comparison

Adds provider-agnostic deployment infrastructure:

Vultr (Recommended — ,029/mo):
- 3-region VKE clusters (Toronto, London, Johannesburg)
- Managed PostgreSQL primary + 2 read replicas
- Managed Redis per region
- Block storage (NVMe) for TigerBeetle + Kafka
- Cloudflare CDN + WAF + GeoDNS + Load Balancer
- Object storage for KYC docs + backups
- Firewall rules (HTTPS-only ingress)

DigitalOcean (Budget — 93/mo, no Africa DC):
- 2-region DOKS clusters (Toronto, London)
- Managed PostgreSQL with HA
- Managed Redis per region
- Spaces for object storage
- Requires colo partner for Africa (Rack Centre/MainOne)

AWS (Existing — ,621-7,621/mo):
- Reorganized into ops/deployment/terraform/aws/
- Full hyperscaler feature set (Shield, GuardDuty, PrivateLink)

Documentation:
- Cost comparison: 3-year TCO analysis (Vultr saves 27-235K vs AWS)
- Deployment guide: provider-agnostic setup, DR procedures, migration path
- Decision matrix: weighted scoring across 6 factors

Co-Authored-By: Patrick Munis <pmunis@gmail.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author
Original prompt from Patrick

https://drive.google.com/file/d/14K-94cZoOVgiYCUA-VympU-4_8IBqv2d/view?usp=sharing
extract the contents of the archive. List all the features of the platform

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@munisp munisp merged commit d0bb199 into devin/1779302835-typescript-strict-fixes Jun 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant