You’ve done it. You’ve successfully created a new application and now you need to find a home for it. There are plenty of hosting options out there. Most at ridiculously low prices. I’ve had great hosting experiences as well as some serious nightmares over the last 10 plus years. Before deploying your ‘new hottest thing to hit the internet’ here are some things to consider and some options.
First and foremost I feel I should fully disclose my position on hosting. I used to own a small hosting company from 2000 –2002. I currently rent several servers at The Planet. I have no financial stake in the hosting companies profiled in this article.
Now that we are clear let’s go through your hosting options. You basically have the choice of the following:
- Host it at your place
- Shared Hosting
- Virtual Hosting
- Dedicated Server
- Cloud Hosting
Hosting it at your place
Basically you setup a machine at your house and host your application. Ideally you have a static IP from your service provider with appropriate bandwidth. Typically this is a business line.
Pros:
It’s at your place! You have ultimate control and can scale just as easy as adding more memory, more machines, etc
Cons:
You only have one connection to the internet. If it goes out your application goes down. Your connection is the single point of failure. Your also the sole provider of security. You have to manage everything. Perhaps the most important variable, Power! A big storm rolls through and knocks out your power, your application goes down. I once had a service provider change my static IP’s with out notification!
Shared Hosting
Shared hosting means that basically you share a small amount of resources with a ton of other people. Some providers have strict guidelines about how many people they’ll pack on one machine. Most don’t. Because the more people they pack onto a machine, the more they make.
Pros:
It’s cheap. I mean really cheap. I’ve seen it everywhere from free to $20+ a month. It’s a great way to start out. Additionally many companies will give you free email, site builders, etc.
Cons:
You’re at the mercy of the hosting company. If another person on your machine writes bad code your application will be impacted. Also there is no root or term serve access. So implementing jobs or security tweaks are tough. Typically you share an IP with all the people on the server. So if you’re attempting to do some things in your code dealing with headers this might be difficult.
Virtual Hosting
Virtual hosting is a virtual server (Think VM Ware). Similar to shared hosting except that they give you root or term server access. You still share a single machines resources.
Pros:
It’s basically your own server. Typically they give you root access (to your virtual machine). This is really great if you want to do more than just host a website or install other software or services (Email, etc).
Cons:
You are still sharing a machine. Many places will guarantee you allocations of memory or processor, but you can still be impacted by other users.
Dedicated Server
Basically you rent a server from The Planet or places like Go Daddy. I’m biased and run enough sites and apps that I always use this option.
Cons:
It’s typically more expensive. Overages on bandwidth can be expensive. Adding additional services such as backups and firewalls can really add to the monthly cost.
Pros:
It’s your server to use as you want.
Cloud Hosting
This is a new offering. Amazon, Microsoft, and a host of other companies are in the space.
Cons:
It’s probably the most expensive of the hosting options. It’s a new offering and portability is an issue. No one has a standard yet.
Pros:
It’s the easiest to scale. You can typically add servers (or resources) by simply tweaking a configuration file.
There are a lot of options out there but as I stated before I’m a huge fan of dedicated hosting. If you run multiple sites or services it’s the best option. You can typically find a good deal if you keep your eye out. I often check The Planets bargain bin for deals.