If I would like to test a hobby project and could still use the Amazon free tier, then I would go for that. It's a good opportunity to get familiar with AWS infrastructure and be ready to use it for bigger projects. If the free tier is not possible and I'm fine with Heroku's Platform as a Service model, then I would go for this solution. Deploying is easy and the free plan is free forever (I sometimes find projects that have not been updated since a long time, but they still run on Heroku).
If you decide to pay some money for the hosting (or you simply can't use any of the free solutions) both DigitalOcean and Linode offer equally great services and you can't go wrong choosing either of them.