Heroku is great for starters and can scale quite a bit. It's close to blocking (most of their add-ons work flawlessly outside of Heroku), and when the time is right, you can just deploy EC2 or even use light intermittence at the same time (just start 20 workers when you expect to get hit hard).
Heroku is located on EC2 in the east, as far as I know, and this is the easiest way to get started.
EC2 is clearly more "reliable", but you are on your own. Heroku is git push for deployment, EC2 is "give me a full OS image."
Engineyard helps you deploy EC2 and provides other nice things, such as alerts and customer support, about 20% higher than EC2 costs.
There are many pieces between me, but I like this route. Get a prototype in Heroku, scale it as much as possible, and when you get too big to just use this format or you need more detailed control, go to EC2 (through a motorized car if you don’t have some DevOps wizards)
ps: The "best" platform is always your own data center. You doubt that you are at this level and do not need such a level of control. So you don't need the most, you probably want the “easiest to use and scale”
source share