Question: Beginner question: I'm working on web application which I will releasing to the world soon. Right now, I'm using AWS free tier to test my application written in Asp.Net Mvc 4. 

I follow HN and Reddit. I have seen many sites crash or become unresponsive when the submission gets on front page of this site and can't handle the huge load that user pour on the site. 

Now I want to be ready for this situation if submit link to my app to these sites and get same huge load. But this load may vary. So I want to know how could I know when to increase/decrease the number of instances. Is there any benchmark/threshold for Asp.net mvc to let me know that I can handle this much requests at the moment and you will need another instance in next few mins or requests? Or is it the case that EC2 automatically creates new instances depending on the load and I just need to enable the settings somewhere? Or there are some third party tools that does all this for me?

Answer: 
You may want to look at some of the options [RightScale](http://rightscale.com) has to offer. They are one of the bigger providers and have a very robust suite of functionality.

If you want to roll up the sleeves and get a little more involved, this isn't hard to do directly via the AWS console using [auto scaling groups](http://aws.amazon.com/autoscaling/) either, it just requires a little more upfront time.

There is also a tool called [Asgard](https://github.com/Netflix/asgard/wiki/Quick-Start-Guide), open sourced form Netflix which you may find helpful.
I'm rather new to scaling on EC2s as well (most experience was with dedicated servers) it really depends on your app and how it's built. For one of my projects the app is relatively simple enough that I've created an image of the server and app, and then spin up new servers as needed. All data is stored in rds with replication so no data is stored on the web servers. I use ylastic.com which is an awesome way to manage your amazon acct. for $50 a month it lets you setup auto scaling based on time of day or CPU utilization really easy. Amazon does provide a GUI for scaling and you will need to use command line tools which was hard to understand (at least for me). With ylastic I setup an auto scaling group in 20 mins whereas if cpu utilization reached 40%, then spin up a new ec2 using a pure built image. You then set the min and max servers for the auto scaling group. When utilization drops, it terminates ec2s. So it also helps you to have compute power when you need it without having servers running 24/7.