Hosting Tips for Startups – Shared or VPS? What’s the right choice?
[Guest Post by Prateek Dayal, founder of Muziboo - bangalore based startup focusing on music collaboration. What started as an experiment/hobby, turned into serious gold and Muziboo has been able to get users from across the world, to collaborate and create music. In this post, Prateek shares his hosting experiences (and very useful tips) while running (and maintaining) Muziboo servers.]
One of the first lessons I learnt was that $10 hosting is so cool is very misleading. If you do a quick search for cheap hosting will throw up lots of sponsored and unsponsored results. Providers would offer you 100s of GBs of space and terabytes 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 guarantees
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 usingthe 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’s 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
What’s 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
But make sure that you don’t lock yourself into a one year plan or something while trying out shared hosting
Review of VPSFarm
VPSFarm is based out of US and while researching for VPS providers, I found them to be pretty good. I considered slicehost and other popular VPS choices as well as some cheap dedicated boxes from layeredtech.com etc. This is what I did not like about them
- Most VPS providers take some time to setup your VPS. This should be mostly fine but there is a delay nevertheless
- Providers like Slicehost etc have a waiting time before you can get your VPS. I think after signing up, it took a few weeks before I got an email.
- Cheap dedicated boxes have older processors which may be ok for you but I was not so sure about that. Another thing is that they have a regular hard drive and no RAID protection. Even with backups, I think its good to have RAID so that your server does not go down with a drive failure.
- I found the RAM being offered everywhere else to be almost half for the same price.
I did not find many reviews of VPSFarm when I was trying to signup and I already had not so great experience with two providers before so I was a little concerned. However I went through their docs online and finally ordered. Somethings that I really liked about them then were
- Xen based Virtual Private Servers (from my research I found out that xen is the preferred way)
- No setup time or fees or annual contracts (pay every month by paypal)
- Choice of operating systems (I picked debian as ubuntu was and is still missing)
- You can install/reboot/halt VPS using a web based control panel
- Bandwidth is unmetered (speed depends on your plan) and RAM/price ratio is awesome
- RAID 10 for storage
Something that may be of concern to some people are
- Only one IP address assigned. As far as I know, you cannot currently buy more. This is ok in general but not good if you want to host DNS. I however recommend outsourcing DNS and email.
- Its not possible to move to a higher or lower plan without some kind of downtime or manually setting up the new VPS. If you are ok with downtime however, they would help you move.
So far (last 8 months) my experience with VPSFarm has been awesome. Only once my VPS went down for some 20 minutes but I got an email from them immediately and the issue was fixed. There was once a network outage but it was automatically restored in a minute. I started out with XEN 1024 plan and I am currently on XEN 2048 plan.
Do give VPSFarm a try and let us all know your experience too.








Actually, it took only 2 minutes for me to sign up with SliceHost, I would recommend them from personal experience
Forgot to add: Also wanted to mention that for me the community and support is equally important. Was it intentionally not mentioned in the article or do you guys think it is not as big a factor?
This is really useful information. Thanks a lot!
Can you also throw some light on how you determine the server capacity you will need based on your website traffic? For example, if I am expecting 10,000 visitors on my website, then what will be a decent configuration.
@Swaroop
I think slicehost now gives you the VPS instantly. Back in October there was a long waiting time. In fact this issue has been discussed before on the Bangalore Ruby User Group too.
I am going through the community documentation right now for slicehost but in case of a VPS (where you install everything yourself), can you not get the same support from say a debian/ubuntu forum? What I am trying to say is that the community for a VPS procider should have the same issues as community for another VPS provider (unless slicehost preinstalls stuff for you)
@Neel: This is not an easy calculation to do I think. You should see the number of requests per sec you are doing on your dev machine and try to arrive at some number. You can look at your logs and see the worst case request per sec you may need. You can also look at ntop for some numbers.
Regards
Prateek
@Prateek Yes, potentially you can get the same support from an OS forum, but wouldn’t that be more from a troubleshooting angle? Looking from the perspective of best practices and advice, I would much prefer a VPS forum. For example, how to configure the VPS for the first time and the importance of setting a firewall. These are common sense things, but I was happy to get straightforward instructions on how to do the same.
@Swaroop: Ok .. if you feel more comfortable that way .. I think its a personal choice ..
However i did not find any instruction there which is slicehost specific. Lets say you want to setup a debian etch system. You can find tons of resources on the net http://www.google.co.in/search?hl=en&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&hs=YIl&q=set+up+debian+etch+VPS&btnG=Search&meta=
Finding an article on the VPS Provider’s site is good (you can always find it elsewhere too) but paying double the money month after month (esp if you want 1 or 2 GB RAM) is quite high. But again, personal choice
Regards
Prateek
@Prateek
Yes, true, that’s why I asked if it was intentionally left out
I never debated the RAM/cost ratio, so no arguments there!
Well, I agree that Slicehost had a lot of waiting time earlier (usually about 1-2 weeks), but then if you are developing an app, there is a lot of thought and planning going in (ideally). Why would someone just jump into hosting an app instantly (did he not figure this out earlier that the app is going to be on the web !!). Just saying because this is not a point to be used for discrimination.
As for hosting, I suppose the days of VPS are over (with clustering by MT, Mosso and Joyent getting super popular) for big apps, although smaller apps can (and should) use VPS. We use Slicehost for our upcoming app, and so far I’m loving it
Tried a few other shared hosting and VPS (for personal use), but Slicehost has been good and highly recommended by a lot of successful app janta
@Sanjay
“Well, I agree that Slicehost had a lot of waiting time earlier (usually about 1-2 weeks), but then if you are developing an app, there is a lot of thought and planning going in (ideally). Why would someone just jump into hosting an app instantly (did he not figure this out earlier that the app is going to be on the web !!). Just saying because this is not a point to be used for discrimination.”
Take a second guess
Most times you startout on a shared hosting plan and then when you are live and your site goes down every now and then, you look around for a better provider. In that case 2 or 3 weeks of waiting time can be really bad (considering a few people use your app .. if not then its fine).
Regards
Prateek
Well, I am not sure who is starting on a shared server anyways (apart from personal blogging or a project purely for fun – like we are :p ).
And then if you think the app is killer enough to get a million visitors overnight then the person will be better buying a dedicated server rather than a VPS. Plus, aren’t there enough symptoms beforehand that the app is growing; I bet there are unless ofcourse it’s an orkut or facebook app, where everything increases exponentially.
Anyways, you’re right that 2 or 3 weeks is a long enough wait. But, I just think that it’s not a good idea to make a generalized statement just because of few people who start off their app from a shared host. It’s not a hosts problem if the developer is doing something like this
P.S – I think we lost track of the main point of this post :p
@Sanjay
The post starts as saying “What started as an experiment/hobby, turned into serious gold and Muziboo has been able to get users from across the world, to collaborate and create music.”
I guess that explains it …
do you have any take on the “double RAM for same price thing?” ?
Also in general several other people I know did this mistake of starting on the shared hosting. I guess a lot of us don’t come with a lot of experience
Regards
Prateek
Yeah you are right, not a lot of people do come experienced.
Hmm..well…now that you pointed this out, you should change the title of the post as well…
“Hosting Tips for Startups – Shared or VPS? What’s the right choice?”
to something like
“Hosting Tips for Hobbyist / experimental Startups – Shared or VPS? What’s the right choice?”
No offense, but the title is a little misleading.
The memory thing is somewhat tricky. I go to Nehru Place, and I get a RAM for 1500, and the same RAM (this time corsair or kingston) costs me 3000. I’m not sure of what to say. Just that it’s more of your app’s and your decision. If they are both happy with the host, then great, else atleast the app should be happy.
I am working with a small team on a startup right now. Our website is under development and yet to be launched in 1st week of July. I am working on a very limited budget.
I am having very serious thoughts after reading the above comments. Frankly speaking, I have no idea of how much traffic the website is going to get and had always been thinking of starting with shared hosting.
Sanjay, Prateek, any advise for me as I still have time? The website runs on ASP.NET.
And just to clarify, its not experimental
Hi Neel
I can understand .. I too always work in budget constraints .. Don’t go for shared hosting though
Why don’t you pick the basic plan from VpsFarm or Slicehost (you can research more about it… i think both are priced at $20 a month). Pick something with atleast 256 MB RAM. You would know on your development machine how much RAM your app uses. In general the OS would need about 150 MB of RAM (basic stuff). So if your app uses under 100 MB, go for a 256 MB VPS …
You can always upgrade later too
Don’t worry too much about scaling right away … Try reading the “Getting Real” book at
http://gettingreal.37signals.com/
Regards
Prateek
Sanjay
Most of the successful startups have actually been an “experimental/hobbyist” stuff.
I dont think one can plan for mega traffic in the first place..and most of the shared servers’ ads are very misleading (pt. very well justified in this post) – cpacity planning doesn’t happen in the initial days and that’s why its important to keep a backup plan.
Infact, I’d like to see the next version of this post comparing all the vps servers (prateek or anybody else?)
@Rajesh: Well said .. thats why i referred neel to the getting real book
Let ashish decide about the review post .. otherwise in general http://webhostingtalk.com has good reviews .. its good to look there before you decide on anything
Thanks Prateek,
I’ll do more research on this and get in touch with you if need more help. Thanks once again.
@Rajesh
Experiment = Idea and doing it.
I suppose experiment means that you have a great new idea and you go accordingly (some sort of planning does go in that). If that’s not the case, then I’m really not aware of any good/ successful startup.
And you yourself said that there is a backup plan..right ?? That’s what I’m talking about…you have a backup plan…and there are obvious symptoms that your app is indeed growing. So, there is some time to switch hosts. All, I was pointing at was that considering the setup time to be a judging factor for good hosts, is not a very good point. There are tons of them apart from that to be talkin about.
If you are trying to get all the juice out from a shared server and then switch to a VPS when you reach the limit, then that’s always a dangerous option.
@Neel
I would have loved to help, but ASP is not my kind.
Just one thing, the ASP world tends to be a little different than the Open Source world. So, be careful when you choose the host. Make sure about what server you use. Windows OS is best suited for running an ASP app. Slicehost does not have a windows OS. You can check out with the others as well.
Thanks Sanjay.
Which are the good hosting services in India? I am currently dealing with ZNetIndia and they are good but have only shared or dedicated hosting. No VPS option…
A couple of years back I had a terrible experience with Space2Let (now known as InternetWorldWide). Those guys were so bad. Their servers were down most of the time. Finally I ended up losing my domain to them. They just hijacked it (refused to transfer to someone else). Not that that domain name was of any value to others but still I couldn’t do anything. It will be great if someone does a post on protecting domains as well.
However, I am taking all basic precautions for that (based on what I learnt by research and talking to others).
Thanks Pratik for the very informative post and that’s to all others who have been contributing to make it even better.
How important it is to choose a hosting provider close to your target audience? Does network latency really play a devil’s role if the server is in US?
Are there any specifics one must look at before making a choice to host RoR application?
@Neel: Don’t host in US unless the ping time is really important to you .. in other words if Anand’s concerns apply to you
@Anand: Depends on what you are trying to do .. if you are doing VOIP or something, I am sure latency would matter .. for a site like ours, it does not really matter
For rails hosting, RAM matters quite a bit … so watch out for that …
Regards
Prateek
Correction
“Don’t host in US unless the ping time is really important to you .. in other words if Anand’s concerns apply to you
” should be
“Don’t host in India ……
Thanks Pratik.
I was checking Slicehost site for their VPS plans. As mentioned by you, it looks really good and affordable. Support for rails apps too is good.
The only problem I could see is, their VPS doesn’t seem to be a managed VPS. A “not-much-into-it” kind of user like me would prefer managed VPS options so that I can really concentrate on other aspects of the startup without worrying too much about servers.
Any idea if there are any viable VPS providers here in India? My little research wasn’t very promising. Though companies like Reliance (http://www.relianceidc.com/) offer data centers. I think they don’t have a setup like vpsFarm or slicehost.
Good advice, thank you.
If you still want to go for shared hosting though, I would recommend http://www.NearlyFreeSpeech.net from personal experience. Unlike most other shared hosting providers, they are a pay-as-you-go kind of service, so you pay for only what you use (bandwidth, space etc.) For this reason, they also turn out to be much cheaper for less trafficked sites. Moreover, they do not suffer from a lot of the disadvantages of shared hosting mentioned in the post (for example, scalability to some extent is not a problem with them due to their unique architecture.)
> For rails hosting, RAM matters quite a bit … so watch out for that …
Check out Linode Virtual Servers: http://www.linode.com/
We offer more RAM at the same price point as our competitors. We also have three locations to choose from, including a California facility that should offer good throughput and lower latency to India.
Nice article. Thanx for the valueble information. Well.. I wanted to know one thing. If the target audience is INDIAN ppl, which would be preferable? A dedicated hosting in india or a vps from slicehost etc…
PS: I have no experience with VPS or dedicated hosts. I’m still researching about them.