← Aricxpoint Labs
Lab project · PayLab · October 2026

We deployed a payment app to AWS in one Saturday

In our PayLab class, students took a five-service payment app from code to production on AWS ECS Fargate, with Terraform and one CI/CD pipeline per service. Here is what we built and how it works.

  • 5microservices
  • ~70AWS resources from one Terraform apply
  • 1pipeline per service
  • ~$0.15per hour to run
PayLab architecture on AWS: users reach a public Application Load Balancer, which routes to five services (web, api-gateway, payment-svc, wallet-svc, notify-svc) on ECS Fargate across three availability zones, with Cloud Map service discovery, RDS PostgreSQL 16 in a private security group, ECR, SSM Parameter Store, IAM and CloudWatch Logs; below, one CodePipeline per service builds with CodeBuild and deploys to ECS.
The architecture we built in class, numbered ①–⑦ to follow one payment. Built with Terraform. Open full size ↗

The services we deployed

web
The payment page: create a wallet, send money to another user, see your history.
api-gateway
The public API. The load balancer sends every /api/* request here.
payment-svc
Records each payment safely, so a retry never charges twice, and asks the wallet to move the money.
wallet-svc
Balances and the ledger. Debits the payer and credits the payee in one database transaction.
notify-svc
Sends the "sent" and "received" receipts.

How a change reaches production

  1. A student pushes code to GitHub.
  2. Only that service's pipeline starts. The other four stay untouched.
  3. CodeBuild builds a Docker image and stores it in Amazon ECR.
  4. ECS rolls out the new version with no downtime.
Chat with us