
The deployment begins by developing a Django application and setting up static/media storage using AWS S3, and a PostgreSQL production database hosted on AWS RDS. A custom domain is purchased through AWS Route 53, and an SSL certificate is obtained via AWS Certificate Manager, with DNS validation handled through CNAME records in Route 53’s hosted zone. Elastic Beanstalk (EB) is selected for its simplicity, as it abstracts away most of the underlying AWS infrastructure. The awsebcli is installed globally (with pyyaml==5.3.1 to avoid compatibility issues), and the project is initialized as an EB application repository. The environment is then launched and deployed without requiring manual setup of EC2 instances, load balancers, or scaling groups. Within the EB environment, AWS automatically provisions and configures the Application Load Balancer, including security groups, target groups, and listener rules. Sticky sessions are enabled to ensure users maintain consistent session affinity throughout their interaction with the app. This deployment leverages AWS as a PaaS, allowing developers to focus solely on building applications.