Cloud Computing – Hosting Website on AWS EC2 with Auto Scaling

Developed and deployed a Flask-based web application on an AWS EC2 instance with Ubuntu, demonstrating auto-scaling for enhanced reliability and performance in cloud environments.

Technologies Used

FlaskAWS

Overview This academic project focuses on cloud infrastructure management and deployment using AWS services. The goal was to build a simple Python web application using Flask and deploy it on an AWS EC2 instance running Ubuntu Linux. The project demonstrates how auto-scaling can be applied to handle fluctuating traffic and maintain high availability.

Key Features

  • Flask-based website hosted on an EC2 instance

  • Configured Ubuntu environment with Nginx and Gunicorn

  • Set up auto-scaling group with launch template for dynamic instance provisioning

  • Used AWS CloudWatch for monitoring CPU utilization and triggering scale-out/in actions

  • Demonstrated reliability and scalability of cloud-based deployment

Infrastructure & Deployment

  • EC2 instance configured with Flask app and production-ready WSGI setup

  • Auto-scaling group configured to maintain application responsiveness under load

  • Security groups and IAM roles set up for secure deployment

  • Simulated traffic to test scale thresholds and automated recovery

Outcome This project demonstrated practical skills in deploying, configuring, and scaling cloud-based applications. It highlights the importance of elasticity in cloud environments and provides a foundational understanding of AWS infrastructure for hosting production-ready web services.