Why shared hosting is bad for your startup
One of the first lessons I learnt was that $10 hosting is so cool is very misleading. If you do a quick google search for cheap hosting will throw up lots of sponsored and unsponsored results. Providers would offer you 100s of GBs of space and terrabytes of data transfer and you would do a real quick calculation and figure out that you can support thousands of users on that. You can’t be more wrong and nothing would cause you more pain than realizing it when you site is live and serving some real traffic.
Why is shared hosting so bad
Now let me write some of the reasons why shared hosting is a bad idea. Please feel free to add more reasons or debate the ones listed here.
No performance guarentees
Shared hosting is bad because you simply have no performance guarantees. I am not talking of the 99.99% uptime SLAs here because they are mostly useless anyway. The maximum they would do for you if things go wrong is to refund you a few dollars (thats if you can really win with them). How does that sound for an hour of outage everynow and then leaving your users hanging? One of the most common reasons for your site going down on a shared host is someone else hogging all the resources on the system. This could happen everytime anybody has a traffic surge on the system or there is a mysql restoration going on for another account or probably any other CPU/disk IO intensive stuff.
Think of CPU and RAM
Probably even more important than getting a lot of hard disk space and bandwidth is to get a decent share of CPU and memory. You will not need the 250GB space offered to you anytime soon but you are going to need a lot of CPU cycles as your traffic goes up. You will need more and more RAM if you are hosting using frameworks like ruby on rails.
No long running processes
This is something most newbies have no idea about. Long running processes are used for doing stuff in the background. This could be something like zipping a file in the background after an upload or clearing out old sessions from database every 30 mins or something like that. Mostly they are run using cron and will be needed for almost any big site. Most shared hosts don’t allow this as such processes eat a lot of CPU cycles and RAM. You may not need this as soon as you start your site but you will need them sooner than you think (especially if you are using ruby on rails as it blocks on long requests and you almost always want to move them to the background).
Limit on Emails
Most of the shared hosts have a limit on the number of emails that you can send per hour. So if you have an application that needs to send out lots of emails, make sure you check this with your host. I am talking only of outbound email. For incoming emails, you should try using something like google apps. You can read more about google apps and other helpful webservices here
How do I know if its the system load when my site is slow
If you are on a linux hosting (which you should be), try using the commands vmstat (for disk IO usage) and uptime (for CPU usage). This should give you a good idea of whats going wrong. You can also try talking to your service provider but I doubt if it would be helpful.
What the solution then
The solution most often is to use a Virtual Private Server (VPS). A dedicated box may be too expensive (specially when you want something with a RAID etc) and you may not need it anytime soon. A VPS offers a good tradeoff between performance and price. A VPS is like a dedicated box but in reality its one system partitioned into many systems. Partitioning include memory, RAM etc so you know there is no overloading there. You always get the resources promised to you. Several features of a VPS are
- A guaranteed performance (even in terms of CPU. Only exception is Disk IO, but blocking there is not very common)
- You know how much RAM you need
- No limits on sending emails etc. Its like your dedicated box and you decide how you wanna use it
- You can run long running processes or whatever you want on it if you have taken one with enough RAM
Whats good about shared hosting
Before I get flamed for talking only bad things about shared hosting, let me talk about whats good. Here are some reasons why you would wanna start out with shared hosting and then get onto a VPS before public launch (yes, even beta)
- Very easy to get started as no system administration skills required
- You can learn a lot when things don’t work :)
- You can focus on building the app and let someone else worry about hosting it initially
- You can use it for backups etc as they give you a lot of disk space and bandwidth
- You can use it to host your blogs etc (why?)
But make sure that you don’t lock yourself into a one year plan or something while trying out shared hosting
So I hope this post helps you decide what kind of hosting is good for you, specially if you are new to this whole web business like I was about one year back. Please do comment and if you like this post, subscribe to my RSS feeds. I mostly write about stuff relevant to bootstrappers.
Blogged with the Flock Browser
Tags: dedicatedhosting, shared hosting, virtual private server, vps, hosting comparison, shared hosting sucks
Popularity: 14% [?]
find this blog feedworthy. Click on the number to subscribe!
Related Posts
How to outsource on small budget
Comments
While we’re on the topic of hosting, you may want to check Morph eXchange for hosting and more for the Rails apps.
Thanks, Prateek.
Best.
alain
[…] had written sometime back about why shared hosting is bad for your startup and recommended VPS hosting for any serious web venture. Today, as promised in […]
[…] posts : here and here] Related Articles:the baby had a mild feverBootstrapping a startup in India with zero […]

Another good post Prateek. Definitely VPS is the way to go for startups or for that matter anyone planning to host a business on net.
It would be great if you could also share some of the good VPS providers in one of your next posts.
Keep blogging.
Cheers
Vaibhav