This PROJECT demonstrates the deployment of a mobile application backend in the cloud using Terraform for infrastructure as code, Docker for containerization, and GitHub Actions for CI/CD. It includes setting up an AWS ECS cluster, VPC, and ALB, showcasing my skills in cloud computing and DevOps. The project emphasizes best practices in infrastructure provisioning, application deployment, and monitoring.
Data Flow and Operational Context
The diagram illustrates a clear data flow:
Users interact with the mobile application, authenticating via Amazon Cognito to receive JWT tokens.
The mobile app sends API requests to the API Gateway, which validates the token and routes requests using AWS Cloud Map to locate the appropriate ECS service instance.
The ECS service processes the request, interacting with DynamoDB for data storage or retrieval.
Service Auto Scaling adjusts ECS instances based on demand, ensuring performance and cost efficiency.
This flow is highly relevant to your project, as it demonstrates a complete cloud deployment pipeline, from user authentication to service execution, aligning with your DevOps assignment's focus on infrastructure provisioning, containerization, and monitoring.
I served as the primary developer and DevOps engineer, taking full ownership of the project’s technical execution. Key responsibilities included:
- Designing and provisioning cloud infrastructure with Terraform, including a VPC with public and private subnets, an ECS cluster for container orchestration, and an Application Load Balancer (ALB) to handle secure HTTPS traffic.
Containerizing the REST API (implemented in Node.js/Python) using Docker to ensure consistency across development, testing, and production environments.
Configuring automated CI/CD pipelines with GitHub Actions to streamline building, testing, and deployment processes.
Implementing security best practices by integrating AWS Secrets Manager for secure storage and retrieval of sensitive credentials.
Enabling scalability by setting up ECS auto-scaling policies to efficiently manage variable workloads.
Although primarily an independent effort, I benefited from the guidance and feedback of instructors at Lovely Professional University. Informal discussions with peers further refined architectural decisions and implementation strategies.
The project culminated in a successful cloud deployment of the mobile application backend, delivering:
A secure, scalable infrastructure fully provisioned and managed through Terraform.
An automated CI/CD pipeline that enhanced deployment reliability and reduced release times.
A publicly accessible REST API endpoint at https://www.numberpropertyapi.site/number-info?number=3 demonstrating real-world functionality.
Robust security through centralized credential management with AWS Secrets Manager.