Thursday, July 14, 2011

How to find the Perfect Web Hosting

As a developer, sometimes it is hard to know which hosting companies to trust. We are compelled to read reviews (which might be biased or bought) to try and figure out what people are thinking. It may sometimes only seem helpful to only look at the bad reviews. Obviously this has it's downfalls, so how do you do it?

How do you know which hosting company to trust?

No hosting company can give you 100% up-time guarantee and some hosting companies will have more problems than others. Remember, I'm not a hosting expert, but the following is what I've found over time.

Things to consider:
  1. How much work am I willing / able to do for a web server?
    • You can choose to manage your server yourself or have someone else manage it although if you don't feel comfortable doing so, there is an in between option. VPS is a virtual private server. This means that you physically share the same box (and some resources) as someone else, but that you have full control of your operating system and the programs installed.
  2. Do I need a Dedicated, Collocated, Cloud, or VPS server?
    •  These server types will cost more than shared hosting. In all three cases, you will have to consider security.
      • Collocation [~$40 / month + server cost]: Your required to buy your own server and find a data center to host it. If something goes wrong that you can't fix remotely, you have to gain physical access to the box to service it.
      • Dedicated [~$70 / month starting]: This allows you to put the strain of physical hardware maintenance in someone else's care; for a price. 
      • VPS [~$20 / month starting]: This is similar to dedicated hosting except that you share some resources with other hosting clients. Now days you will be guaranteed a certain amount of RAM, CPU priority, and disk space, but generally you all share the same motherboard. This means if another user is writing/reading files a lot, you could see slow down with your service.
      • Cloud [~$100 / month]: Often used as a buzz word to charge more, this is similar to a VPS. The difference with real cloud hosting is that you generally have redundancy, high availability, and rapid scaling when you need more or less resources. Because of the distribution of redundancy It's also generally able to respond quicker than a single location web site because of the redundancy in different states/counties/etc. Redundancy can be applied in any of the above options with fail overs using load balancers.
    • If your starting out and you don't have big requirements, I strongly suggest you go with Shared Hosting. You can always change over later (and most likely will change no matter where you start). 
    • If your ready to move away from Shared Hosting and you don't need the extra benefits of cloud hosting, I would suggest VPS or Dedicated hosting solutions. This allows you to save on costs now. Remember, if you don't choose to add redundancy and your server has problems, your web site will be down. Dedicated is nice if you want to guarantee 100% of the machine's resources.
  3. Is shared hosting (or reseller hosting) too insecure?
    • Shared hosting provides a good sandbox environment that allows you to have control over your website, email, and domains (if you host your domains here). They generally provide a control panel which is great for those who don't feel comfortable with managing their web server themselves.
Web Hosting I Recommend:
  • Shared Hosting / Development: If your looking for inexpensive with the most options, and OK reliability, I would suggestion DreamHost, they do appear to have more down-time than other companies but they provide quick service, unlimited domains, databases, emails, and you can set up crons as well as have SSH access your web sites. I currently use DreamHost for several websites where 99.9% up time is not critical.
  • Shared Hosting / Production: If your needing near-constant up-time, I suggest HostGator, they have great service, reliable servers and quick staff. I have used them for both Business Hosting (shared hosting) and VPS. They have always been helpful and have been prompt to address issues, they even will help with tasks like auditing security and so on for free depending on the service you purchase. They also offer both dedicated and collocated options at much higher prices.
  • VPS: If your ready to make the move to VPS, I recently moved to Linode servers. They seem to be really reliable and I haven't had any problems yet. I did email support once with a simple question and they responded in about 20 minutes. I'm not sure how this response time would change had I had an emergency, but I assume only time will tell.
  • Dedicated: One of my clients has a need for dedicated hosting with some real power to it. After reviewing many dedicated hosting providers, we have decided to go with Limestone Networks. I don't know enough about them at this point to promote them or give feedback, but I will update this as time goes on.
  • Cloud: Finding a real cloud host is not easy, but one of the most popular is Amazon AWS. They provide rapid scaling, replication, fail over, etc. but you will be charges for every add-on. To give a price comparison, a similar setup to the Dedicated Server with Limestone Networks was a cost difference of about $350. AWS priced in at nearly $600 where Limestone Networks priced in at about $250. Note, because it is dedicated hosting, scaling is not an easy task nor does it have low latency through distributed data centers, but those aren't priorities for us.
Full Disclosure: While my primary concern of this post is to be completely honest about my experiences and educate, some of the links to hosts above have commission tracking codes attached. If you use the links posted above to sign-up with any of these companies, I may benefit from it (and Thank You if you do!)