AWS
Cloud infrastructure deployment using EC2 instances, S3 storage buckets, RDS databases, and IAM security policies.
1 / Cloud Deployment
AWS infrastructure experience came from deploying Trajectory to production. The architecture used EC2 instances for application hosting, RDS for managed PostgreSQL, and S3 for static asset storage. Nginx served as the reverse proxy handling TLS termination and request routing.
2 / Services Used
The deployment was not complex by cloud standards, but it covered the essential operational concerns: Security Group configuration to prevent database port exposure, IAM policies for least-privilege access, S3 bucket policies for static asset serving, and automated deployment through SSH and GitHub Actions.
3 / SSL and WebSocket Challenges
The most time-consuming debugging involved SSL certificate renewal with Certbot and Nginx proxy configuration for WebSocket upgrade requests. Missing `Upgrade` and `Connection` headers in the Nginx proxy configuration caused WebSocket connections to fail silently after the initial HTTP handshake succeeded — a failure mode that was difficult to diagnose because the connection appeared to establish successfully before dropping.
4 / Retrospective
I would provision cloud infrastructure using Infrastructure-as-Code (Terraform or CloudFormation) for reproducible environment setup in future projects. Manual AWS Console configuration works for a single deployment but becomes error-prone and undocumented as the infrastructure grows.
