AWS, Terraform (IaC)

Cloud Native Application

Network Structures and Cloud Computing Course | December 2024

A cloud-native user management application leveraging Node.js, Express.js, and PostgreSQL to support concurrent requests with CRUD operations, health monitoring, and robust backend services. Designed for high availability and fault tolerance with fully automated CI/CD pipeline using GitHub Actions.

Cloud Architecture Diagram

The Challenge

Building enterprise-grade cloud applications requires addressing multiple concerns:

  • Scalability - Handling variable traffic loads without manual intervention
  • High Availability - Ensuring the application remains accessible during failures
  • Infrastructure Management - Consistent, repeatable deployments across environments
  • Security - Protecting sensitive data and enforcing access controls
  • Deployment Automation - Reducing manual steps and human error in releases

Key Features

⚙️

Scalable User Management

Cloud-native RESTful user management application using Node.js, Express.js, and PostgreSQL, supporting concurrent requests, CRUD operations, and health monitoring.

📦

Infrastructure as Code (IaC)

Provisioned AWS infrastructure using Terraform and Packer, deploying VPCs, RDS, Route 53, and SSL certificates for automated and scalable deployments.

📧

Event-Driven Workflows

Integrated AWS SNS and Lambda for event-driven workflows, including automated email verification with SendGrid, ensuring seamless communication.

🔐

Security & Service Management

Secured services using Systemd for process management and enforced network security via AWS security groups.

🚀

Scalability & Auto Scaling

Enhanced performance with EC2 Auto Scaling and Elastic Load Balancing, optimizing traffic distribution and reducing downtime.

🔄

CI/CD Pipeline Automation

Implemented CI/CD pipeline using GitHub Actions, enabling automated testing, AMI creation, and rolling updates for seamless deployment.

Technology Stack

AWSTerraformPackerNode.jsExpress.jsPostgreSQLEC2 Auto ScalingElastic Load BalancingAWS SNSAWS LambdaRoute 53GitHub ActionsSendGridSystemd

Architecture Highlights

  • 1.VPC Configuration - Isolated network environment with public and private subnets
  • 2.RDS PostgreSQL - Managed database with automated backups and failover
  • 3.Custom AMIs - Packer-built Amazon Machine Images for consistent deployments
  • 4.SSL/TLS - Secure communications with AWS Certificate Manager
  • 5.DNS Management - Route 53 for domain routing and health checks

Impact

  • Enterprise Ready - Production-grade infrastructure with high availability
  • Cost Optimized - Auto-scaling ensures you only pay for resources you use
  • DevOps Excellence - Fully automated CI/CD reduces deployment time and errors