For project's i mainly end up using Heroku. The main reason I use Heroku is that i can just code and the rest is taken care of, but with say DigitalOcean or AWS I have to maintain the server as well. They all have pros and cons.
What is Heroku?
"Heroku is a cloud platform that lets companies build, deliver, monitor and scale apps — we're the fastest way to go from idea to URL, bypassing all those infrastructure headaches."
Upside to Heroku:
- Easy setup - It's very easy to get a server up and running.
- Huge Time Saver - Maintaining web server is all handled by Heroku which saves me a lot of time.
- Free version - If you want to test out a project they have a free version as well.
- Logs - It's easy to see errors by typing "heroku logs" into the command line.
Downside To Heroku:
- Price - Cost is not to bad if you don't have a lot of traffic, If you have a good bit of traffic to your application it's going to cost quite a bit more than the others such as DigitalOcean.
- Less Control - With Heroku you cannot control the exact configuration of your application such as terms of hardware, firewall, OS.
Overall i'm really happy with Heroku, It's really nice to just be able to code your application and not have to worry much about the server.