I'm starting development of a Django application, on Amazon's Web Services.

I'm looking to build an instance that will serve the Django. I don't have much experience with such things, having only used a shared host before (WebFaction).

So I'm wondering, which AMI should I use as a base? I'm assuming I want an Ubuntu AMI, possibly with certain things like Apache pre-installed?

One minor point: I'm planning to serve several different Django projects from the same instance. I use virtualenv on my dev machine right now to separate the different projects, I'm assuming I'll do the same on EC2.


2 Answers 2


You stated you want to build set of Django applications on an EC2 platform, but I'd like to suggest what you really want to build is a Django application factory. Meaning: You want a set of scripts that will take your Django requirements (apache, postgres, git, sentry, etc.) and build a running web server. Then terminate it. Then build it again.

Here is why you want this:

  • Repeatability
  • Testing
  • Moving to different instance architectures

The last reason answers your original question, but it's not the most important reason to build an application factory as part of building the application itself. You'll then have confidence to run your apps on a minimal platform, knowing you'll be capable of upgrading because you put in the extra effort up front.

If you're considering using Ubuntu as your EC2 server platform, it has some useful support for cloud instance creation:



Sounds like a small instance will do you fine or maybe even a micro instance (although I wouldn't want to risk production sites on a micro instance especially when you will most likely be running a database server on the same instance to start out with).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.