Authod: Shujun Xiao (Jennifer)
The objective of this project is to create a basic eCommerce application using Django, Python, and MySQL. Additionally, the project aims to establish the Infrastructure-as-a-Service (IaaS) environment for a three-tier application. This involves configuring the Virtual Private Cloud (VPC), network connections, and security groups for various subnets to ensure a secure network environment. It also includes setting up subnets in different availability zones, Elastic Load Balancer (ELB), and Auto Scaling Group (ASG) to ensure the application's availability and scalability. Finally, the eCommerce app is successfully deployed on the cloud.
- Follow the instruction from the article to set up the IaaS environment in AWS. Link to the article
- Create an EC2 instance in AWS and connect to it use SSH.
- Create virtual environment for the project.
- Install all the necessary packages including Django and poll the project code from github.
- Install and set up Gunicorn and Nginx. Nginx is a reverse proxy which can accept incoming connections. If itβs static file, Nginx serves it, otherwise, it redirects the request to the Gunicorn which is an application server to run python application.
- Install and set up Supervisor to allow make sure the app can up and run in the background.
- Create a MySQL database in AWS RDS and connect it with the above EC2 instance.
- Create AMIs with the above EC2 instance and set up autoscaling group.