Project Image
Test Application

The project begins with a modular Infrastructure as Code (IaC) design using Terraform. Separate modules were created for EC2 instances, load balancers, target groups, networking configurations, and security groups. Each module was validated independently before being composed into a unified infrastructure, with Terraform state securely stored in an Amazon S3 remote backend.

After infrastructure provisioning, the application was initially deployed manually on an EC2 instance using Nginx as a reverse proxy, ensuring correct runtime behavior and server configuration. The backend connects to Amazon RDS (PostgreSQL) for persistent data storage, while Amazon S3 handles static and media assets. Domain management was configured using Cloudflare DNS, and HTTPS was provisioned via Certbot, enabling secure production access.

Finally, a Jenkins + Terraform CI/CD pipeline was integrated, allowing Git commits to automatically trigger infrastructure provisioning and application deployment. This setup delivers a robust, production-ready system that combines cloud automation, security best practices, and continuous delivery principles.

Back