Heroku is great to get started and can scale quite a bit. There is close to no lock-in (most of their addons work flawlessly outside of Heroku) and when the time is right you can just deploy to EC2 or even use both concurrently to have easy burstability (just spin up 20 workers when you expect to get hit hard).
Heroku hosts on EC2 east as far as I know and is imho the easiest way to get started.
EC2 is obviously more "robust" but you are on your own. Heroku is git push to deploy, EC2 is "give me a full OS image".
Engineyard helps you to deploy to EC2 and provides other nice things as alerts and customer support at roughly 20% ontop of EC2 costs.
There is tons of stuff in between but I like this route. Get the prototype up at Heroku, scale as much as possible there and when you grow too big to just use this format or need more granular control, go to EC2 (via engineyard if you don't have some DevOps wizards)
p.s.: The "best" platform is and will always be your own data-center. Doubtful you are at that level nor need that level of control. So you don't need best, you probably want "easiest to use and scalable"