How to host your website or application is fairly straightforward. There are really only three choices: Shared hosting, VPS, or dedicated server. The most important choice is often overlooked however.
Who will support this site should something go wrong?
The hosting company is responsible for keeping your server online, but that's where their service ends. The developer is responsible for the programming of the site, but isn't responsible for the server remaining functional, or bugs that appear after the site launches.