

Ask HN: When to choose a VPS over shared hosting? - nudge

Does anyone have any advice about how to choose whether to go with shared hosting or a VPS? I don't have any experience using a VPS - I'm happy to learn, but I'm concerned I won't be able to ensure the security of the thing. On the other hand, I've had good experiences with shared hosting, but I'm concerned that what I'm designing (effectively a niche social network, with 'following'-type performance requirements) may stretch the limits of a shared hosting account - although, what are those limits? At what point does it start to make sense to go for a VPS? I'm not concerned about being in control of everything - in fact, I'm sure someone else would be better at running it! - but I don't want to go with shared hosting if it means I'll run into serious performance problems later. Likewise I don't want to go with a VPS if I can never be confident about security. How to proceed? Thanks for your help.
======
lsc
speaking as someone who's only income is selling VPSs, if your application
works under shared hosting, and you can find competent shared hosting
providers for a reasonable cost, you are probably better off with shared
hosting.

Now, personally, I consider hiroku and google app engine to be shared hosting.
very expensive, high end shared hosting. (in fact, carefully consider the
expense... if you have low revenue per compute cycle, or if you plan on
scaling up your usage before scaling up your revenue, they may not be suitable
just on cost.)

Now, the advantage to shared hosting is that it actually has all the upsides
the cloud promises. You actually eliminate your SysAdmin. VPS hosts (or
"cloud" hosts that just give you an *NIX box) only eliminate the need for a
hardware guy, which is the cheapest sysadmin role you can have.

Also, there are some performance and reliability advantages to having one
large box dedicated to, say, running php, etc... vs setting your tiny private
stack up on some 256MiB box. It's extremely difficult and expensive to give
you a live 'hot failover' VPS without your help. It's pretty simple to have
hot failover with a shared hosting setup, hot failover that the customer need
not notice.

Now, the downside of shared hosting is control. While /in theory/ shared
hosting should kick the shit out of a vps for anything shared hosting can do,
here in reality, that's not always or even usually how it works. when you
outsource your sysadmin duties, you are dependent on the people you are
outsourcing to being both competent /and/ caring about your problem.

The thing of it is, if your provider doesn't care about you, then you are
/much/ better off with a xen vps. with a xen vps, the other hosts on the box
aren't going to mess you up nearly as much as on an OpenVZ or a shared hosting
system.

This is why I sell Xen VPSs rather than OpenVZ, FreeBSD jails, or shared
hosting. Yes, running a xen host takes more hardware, but it takes a lot less
sysadmin time from your provider.

The only real solid "do this no matter what" advice I can give you is to have
off site backups, and practice bringing your system up on a new provider every
now and then. All providers, shared and vps, make mistakes. Sometimes those
mistakes wipe out both live data and backups- see the hypervm disaster.

Always be ready to switch providers, and you will always be with a provider
you are satisfied with.

~~~
shantanubala
I agree with most of what you said, except for the Google App Engine part. The
App Engine free quotas are great (Python support and free quotas are basically
the main reasons why I chose App Engine).

The App Engine free quotas allow you to operate at _zero_ cost while still
getting (on an app that accesses the datastore a couple times every page)
about 1-2 million pageviews a month (not as much as the 5 million Google
advertises, but it's still pretty darn good).

Now I don't know how long the free quotas will last, but with the amount of
traffic that support, revenue isn't an issue when starting out.

~~~
lsc
eh, I know at least one small, revenue free startup that is in to app engine
for a grand a month hosting fees. (If you own your own equipment, a grand a
month supports maybe 100Mbps and around 10 sockets. 20 if you find someone who
doesn't rip you on the bandwidth, but that's hard.)

/if/ you could buy app engine compatible service from more than one company,
it would be great; it's just that googles current model with app engine /can/
result in some rather high costs (either re-writing your code to run off of
google, or paying through the nose) once you reach a certain threshold.

Now, for some things, that's fine. It would be perfectly acceptable for my
business model, for instance, for me to do the signup page and account
management stuff on app engine. everyone who sees that stuff is paying me. but
there are many business models for which it's current price structure is not
very good, namely if you plan on being both big and free, it is not suitable.

the real problem, I think, is how difficult it is to move off app engine. If
you are doing something in your own VPS, it's fairly trivial to move to
another provider, or to your own hardware if you need to scale and save some
money. this, I'm given to understand, is /much harder/ if you built for the
app engine platform.

------
bradleyland
I have yet to find a shared host that (eventually) doesn't oversell their
facilities. I've found a few gems, only to be let down a year or two down the
road. You don't want to be in this position.

When I started using VPS hosting, I had zero sysadmin experience outside the
Windows world. In choosing a VPS host, my biggest concern was accessibility to
support that actually knew how to do the things I was doing. In other words,
access to actual sysadmins.

I chose Rimuhosting as my provider almost 5 years ago, and I haven't been
unhappy yet. I can't stress this enough. As a new sysadmin, you're going to
need help. You have two choices:

* You can rely on community, which is great, but you'll have to wait on answers, and you'll likely be told to RTFM on many occasions.

* You can go with a host that offers support, and (very important) also offers sysadmin help at reasonable rates for tasks that are over your head.

This has been the greatest thing about Rimuhosting. Their support is awesome,
and they go the extra mile, but they offer something a lot of other hosts
simply will not do. They offer sysadmin services at a rate of $45/hr, which is
very reasonable. In addition to completing tasks, they'll send you a quick run
down of what they did. Teach a man to fish style! I've learned as much from
them as I have any website.

I cannot say enough good things about Rimuhosting.

~~~
morrissimo
I second your Rimuhosting vote: their support is personal, ridiculously timely
(I've had several support emails get responses in minutes) and just outright
awesome.

------
wwortiz
First off I have a VPS from both prgmr and linode, and recommend both of them,
though linode is probably the more user friendly of the two.

When choosing between shared and vps you really need to figure out how much
control you really need, and then weigh that control with your ability to run
a server (or even learning to run a server as you say someone else would be
better running it).

From what I have heard <http://mediatemple.net/> is pretty good for less
advanced server users, but don't necessarily take my word for it try and find
some comparisons.

As for security on a VPS you'll be better than a good amount of shared hosting
if all you do is be sure to keep everything up to date, use good passwords,
change your ssh port to a high number (disable root access), and use iptables
to restrict your ports. To do those things there are plenty of guides to be
found, and of course remember to backup configuration and all essential files
for your web app/page.

------
ionrock
I chose a VPS b/c I wanted to run Python web apps, which traditionally don't
work with shared hosting environments. Most shared hosts have daemons that
kill long running processes. If you have a python script running for a long
time (even if it is running your site) it would be killed. This seems to be
the biggest reason in my mind for running a VPS over a shared host.

In terms of cost, a VPS usually will cost more as memory usage is something
you'll have manage. For example, I would have liked to run MongoDB on my VPS
but just didn't have anywhere close to enough memory. Not a big deal, but if
you're using it for a business then it is important to understand what you're
getting into in terms of memory usage and what services will need to run. You
have to allocate resources for not only the web server, but any databases,
scripts, etc.

------
westi
In general if you follow the guides available from people like
slicehost/linode etc in how to get your VPS secure it is likely to be more
secure than some shared hosts seem to be.

You do need to keep on top of keeping the VPS up to date but that isn't much
work.

------
macco
I have a virtual server since about one week. It is not that hard to use.
Maybe you need a few hours, but that's it.

On the other hand you can install whatever you want, no problems with new
software that is not installed on you shared hosting.

------
markstahler
Several VPS providers also offer managed VPS accounts. They secure the distro
for you and just give you root to install a few additional items. Most of the
initial setup is done for you already.

------
jwallz
depends on what type of site/app you have and what type of traffic you expect.
your shared hosting acct is on a server with 100 other sites. you can't rely
on dedicated resources or bandwidth. shared accts are good for more static
brochure sites or low traffic blogs.

------
daleharvey
when you start doing anything more than wordpress sites or learning php, then
its pretty definitely time for a vps

