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.

You need to have someone to call

We suggest making an arrangement with a developer who is knowledgeable in web hosting and networking.  This developer will need to be prepared with access to your server and background knowledge of how your system works.

Do not prepay!

Be careful not to agree to "managed service."  Prepaid support tempts people to do as little work as possible.  The provider will also have to limit their services to fit within your predetermined budget.  

Instead, arrange an hourly rate for paid support.  If you don't need support, you don't pay for it.  Should something go wrong, you'll be happy to pay for the support you need.

An open-ended agreement like this also allows you to make improvements and changes to your site after it launches.  Relatively small amounts of work needn't require a separate contract, or as much lead time.

Size Matters (but not how you think)

Often customers feel they need to choose the largest hosting company they can find.  We recommend the opposite.  What kind of service can you expect when your business is such a small percentage of their bottom line?

When something goes wrong you need support from someone who is both experienced, and has first hand knowledge of your system.  An emergency isn't the time to wait on hold with level 1 tech support.