Scalable User Management Application on GCP using Terraform
Developed and deployed a Python Flask RESTful application for user management, supporting full CRUD operations and health checks.
Utilized Google Cloud Platform (GCP) infrastructure, leveraging Terraform for Infrastructure as Code (IaC) and HashiCorp Packer for creating custom virtual machine images. The architecture includes Virtual Private Clouds (VPCs), CloudSQL databases, Cloud DNS, SSL certificates, and customer-managed encryption keys (CMEK) for enhanced security and reliability.
Integrated Google Pub/Sub and Cloud Functions to handle event-driven operations such as sending email verifications using Mailgun. Additionally, Systemd was configured to manage API service initialization, ensuring seamless service operations.
Enabled scalability and high availability by using managed instance groups with automatic load balancing and autoscaling based on CPU utilization. Firewalls were configured for robust network security.
Implemented a Continuous Integration/Continuous Deployment (CI/CD) pipeline using GitHub Actions for automated testing, virtual machine image building, and rolling updates, enhancing deployment efficiency and consistency across environments.