Search code examples
djangoamazon-web-servicesamazon-ec2cloud-hosting

Confused about hosting in amazon web services


I would like to use amazon web services for my website. But I am very confused about aws. My website will enable users to write blogs, share pictures, videos, and music from soundcloud. And I am hoping for 20,000 users (fingers crossed!). These are the things that I am confused about:

  1. What ec2 instance should I start with?

    I was thinking to go with c3.large instance, but I am not sure. Should I go with small instance first?

  2. What storage should I use: Amazon S3 or Amazon EBS?

  3. Could you please explain about Amazon RDS?

  4. Should I use Elastic load balancing from the start?

  5. Lastly, what are the other things I should keep in mind?

If it helps, I am using Django as the backend. Your help will be greatly appreciated. Thank you!


Solution

  • It is very tough to predict the kind of back-end you would need without knowing the inside out of what you are building. Even after knowing all those, you will have to change things on the fly.

    I would suggest you get started, then measure and improve on the fly. I can just give you some guiding points, though:

    1. Try this service called Elastic Beanstalk with m1.small instance to start with. This comes with an ELB and I would suggest use it.
    2. Store large files like video and sound on S3 (EBS is not for such needs)
    3. Database - If you have rich query needs, then use RDS (otherwise consider DynamoDB - Dynamo is easy to manage and it gives infinite scale).

    Another good resource for you is the AWS reference architecture case studies: Architecture Center : http://aws.amazon.com/architecture/