This architecture was designed for a mobile-first application requiring high availability, strong security boundaries, automated deployments, and the ability to scale seamlessly as user traffic grows. The system serves mobile clients built with Expo and distributed via App Store and Google Play.

The backend is fully containerized and runs on AWS Fargate with a managed relational database on Amazon RDS, fronted by Cloudflare and Amazon CloudFront for performance and protection.
The entire infrastructure is provisioned inside an Amazon VPC with strict subnet isolation.
This design was built to achieve:
The request flow:
Mobile App → Cloudflare → CloudFront → ECS Fargate (App) → RDS (Private Subnet)
CI/CD flow:
Developer → GitLab Pipeline → ECR → ECS Fargate rolling deployment
| Component | Purpose |
|---|---|
| Cloudflare | DNS, WAF, DDoS protection at the edge |
| Amazon CloudFront | CDN caching and TLS termination before AWS |
| Amazon S3 | Static assets and media storage |
| Amazon ECR | Docker image registry for deployments |
| AWS Fargate | Runs the containerized backend application |
| RDS | Managed relational database in private subnet |
| Security Groups | Strict traffic control between services |
| GitLab CI/CD | Automated build and deployment pipeline |
The architecture is built inside an Amazon VPC with two subnet tiers:
This ensures the database is never publicly reachable.
Multiple security layers are implemented:
The deployment flow is fully automated:
No manual server access is required.