pycon logo

PyCon 2011 Atlanta

March 9th–17th

Log in or Sign Up

Deploying web applications to the cloud

log in to bookmark this presentaton

Novice / Tutorial
March 10th 1:20 p.m. – 4:40 p.m.
Python makes it easy to develop great web applications. Amazon Web Services (AWS) makes it easy to deploy scalable, fault tolerant applications. In this tutorial we will focus on taking a provided Django web application and deploying it to AWS through a series of hands on exercises using Amazon's load balancing, auto scaling, content delivery and relational database services.


In this tutorial we will start with a demo Django application that we will use for the rest of the exercises. No previous experience with Django will be required.

Exercise 1: deploy the demo Django application to a single EC2 node using MySQL backed by an EBS (Elastic Bloc Storage) volume.

Exercise 2: move the database to RDS (Relational Database Service) and scale out reads using RDS read replicas.

Exercise 3: add a second node for the web application and place them into ELB (Elastic Load Balancer).

Exercise 4: move the static content into S3 and CloudFront.

Exercise 5: create an Auto Scaling group to automatically adjust the fleet of web servers based on load.

After these exercises the student will be left with a set of automated recipes for provisioning and deploying standard Django applications to AWS in a scalable, fault tolerant manner.

Students will be need to bring their own laptop and have a current AWS account including signing up for the following services: EC2, S3, CloudFront and RDS. Usage of AWS will be billed to the student by Amazon, but it should only be a few dollars for the 3 hour exercise. Students using Windows will need to have Putty installed for SSH access.