

Ask HN: Is the reseller hosting market worth touching? - starter

I've long wanted to give the managed CMS hosting market a shot. That plus basic file backup services. Is it worth my time? Why or why not?<p>Short plan: Automatic hosting site setup using bargain servers or cloud servers. Users with Wordpress/Joomla/Drupal hosting needs are offered managed hosting for $5-$15 per month.<p>Any drawbacks I should know about?
======
byoung2
Realize that you can't compete on price. There are thousands of bargain
hosting companies that spring up every day offering $3-$10 hosting and
unlimited storage/bandwidth/domains. Of course, many of these go out of
business, or kick out customers who actually get a fair amount of traffic. You
have to approach from a different angle.

Look at wpengine.com. They are targeting the WordPress blogger who has
outgrown shared hosting but doesn't want to get into the server admin
business. For $50/month, they handle caching, scaling, database replication,
backups, CDN, and staging.

Your best bet would be to offer better service and scalability at a higher
price point. There is a big market out there for site owners who are in
between shared hosting and running their own server. Just because I get
100,000-300,000 unique visitors a month doesn't mean I know my way around a
Unix command line. That's also the market that can afford to pay $50 a month
for hosting.

WordPress/Joomla/Drupal are good targets, because if your customers are
running on shared hosting, they are likely putting stress on their overloaded
servers, and seeing outages/slowdown/threatening messages from the hosting
company. You can give them a huge performance boost simply by moving their
database to a separate machine.

The next step is to put a basic cache in front of the app server (Varnish,
Squid, nginx). Watch your server load drop when logged-out, anonymous users
hit the cache instead of an overloaded Apache machine pulling double duty as a
MySQL box.

With Apache on its own machine, look into an opcode cache, and you can also
offload static file serving to a CDN. You can do this easily by giving your
customers a static path to change in their code (e.g.
cdn.yourhostingdomain.com). You can cname this to Amazon CloudFront or MaxCDN,
and then set the origin to a dedicated static file server (running nginx, or
Varnish+Apache). Store the source files on Amazon S3.

You could run this whole setup with a handful of servers on Amazon or
RackSpace, Linode, etc. for a few hundred $'s a month, and handle a few
hundred to a few thousand clients paying $30-50 a month for a nice profit.

...until your cloud provider has a big outage...

~~~
starter
Thanks for the overview! Exactly the kind of research stuff I need to know
about before diving in. I see now that this is one of those things that comes
down to superb quality - which might be difficult to guarantee if using cheap
servers.

Also, thanks for the tip on having a dedicated database server. Makes complete
sense yet I had no clue CMS sites could be so demanding. I'll need to learn
CDNs next.

There's always a catch. =) Thanks for your time.

~~~
byoung2
If you are interested in CDNs, look at Amazon CloudFront or MaxCDN (there are
others, but these are the easiest to use, and they're cheap). Look for a
feature called "origin pull" rather than push. Amazon can be set up in about 5
minutes. Here's how it works.

Lets say you have a basic website at www.domain.com. All of the files are on a
single server, so when I request a page, i get www.domain.com/index.php.
Apache fires up, PHP does its thing, fetches some data from MySQL, and
presents a page. My browser sees that the HTML needs www.domain.com/style.css,
script.js, and a dozen images. So it requests them from that same overloaded
Apache/PHP/MySQL server.

Instead, create an Amazon CloudFront distribution. Go to your DNS setting and
create a CNAME record (e.g. cdn.domain.com) and point it at your distribution
url. Enter the cdn.domain.com in the CNAME field in the distribution detail
screen. Set the origin to custom (DNS), and enter www.domain.com. Wait a few
minutes for the distribution to be set up, and however long it takes the DNS
setting to propogate. Then change all paths for static files (CSS, JS, images,
etc.) to cdn.domain.com instead of www.

Now, in that scenario above, when the page gets served by the browser, all
requests for stylesheets, javascript, and those dozen images hit Amazon's
servers around the world. The user gets routed to the closest one to them. If
Amazon doesn't have your image, they fetch it from your server and cache it.
But after that, future requests get served directly from their servers, not
yours. So if 1000 people from a certain city visit your site, instead of
20,000 requests hitting your server (assuming one page has 20 requests for
images, css, js), you just get 1020 requests (the first one was a cache miss,
the rest were cache hits).

~~~
starter
Got it. Sounds like a beautiful setup compared to what I've got now. All this
seems to comes down to "dedicating" a server for LAMP use to keep server loads
balanced. Correct?

Question: Why wouldn't I just use two of my own servers? One for LAMP + one
for the CDN.

~~~
apsurd
CDN = content delivery network.

If you used one server it would be a static asset server not a CDN.

CDN's have the benefit of being all throughout the world so you get the
benefit that the CDN will serve the asset from the closest physical location
to the user. Also your assets are redundantly stored in separate locations.

Amazon s3 is too easy not to just use it. Even something as huge as dropbox
essentially runs on s3. I'd say use s3 until you can't use s3 anymore.

~~~
starter
Ah, I understand. Thanks for the education, people! Can't wait to put this
into action for my clients and future projects. Now time to check into S3...

------
JonLim
I can think of a few drawbacks:

\- Extremely commoditized, people shop around for hosting providers based on
price and included features, so you better have a good offering

\- Your service must be top notch and you need to be available to fix things
pretty much instantly

\- Reliability when reselling services is not in your control, so... good luck
with that

Best of luck!

~~~
starter
Thanks for your perspective! Right now, my life is pretty calm - not too much
drama & plenty of time for new projects. Maybe I'll dive in for the
fun/experience.

Cheers!

