Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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.

Thanks!

share|improve this question
add comment

2 Answers

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:

https://help.ubuntu.com/community/CloudInit

share|improve this answer
add comment

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).

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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