Many of the startups I’m involved with today
(including my own) are providing software as a service (SaaS) in a web hosted
model.
There has been lots written about how costs for
infrastructure have gone down dramatically. Servers, storage, bandwidth
and systems software are all cheaper today than ever before. This is
actually true. Things
are
cheaper than when were during the previous Internet “boom” years.
One of the great things about web software companies is that
it is so cheap to get started. If you’re a programmer, you can
likely write most (if not all) of the code yourself host the end solution
(cheaply) somewhere and start getting users/customers pretty quickly. This
is a wonderful thing and I’m a strong advocate of doing exactly this
(i.e. having programmers start software companies and get to market as quickly
as possible).
However, a common “reality distorting”
phenomenon is believing that web hosting is free. Before I get into my “talking
points” on the topic, I’d like to make one thing very clear: I’m
not suggesting to “pre-optimize” the infrastructure and spend lots
of money building a “scalable” environment. As an
entrepreneur, you should be more worried about making no sales (or minimal
sales) than worrying about the ability of your hosting environment to deal with
a big spike in volume. Don’t lose sleep over how you’re going
to deal with user #100,000 – lose sleep over getting user #10 on the
system in the first place.
In any case, here are some of my thoughts on the whole web
hosting for software startups topic:
The Myth Of Almost Free Web Hosting
- Cheaper, But Still Not Free: Though most infrastructure
components (hardware, storage, bandwidth, etc.) are indeed getting cheaper,
they are still not free – and likely never will be. These are
physical things. They cost money to whoever is providing them and
though it’s a “scale” business, this scale is usually
already baked into the low costs we see today. The infrastructure/hosting
industry built out a lot of capacity in the 1990s and there was lots of
consolidation too. This drove prices way down. That means
there are really big players with lots of scale already. The other
cost contributor is that of the components – which are also getting
cheaper. But, they are still not “free”.
- Customers Want More Storage: At the same time that prices
have been dropping, customer expectations for storage are rising. It’s
no longer enough to give 500M of disk storage for common web applications
now. Many companies are providing 1G, 2G or even more to their
users. Though I don’t have “hard data” on whether
customer expectations are rising at the same rate as costs are declining,
I’m going to make the easily defensible argument that the trend in
terms of what you have to give customers is certainly going up.
- Apps Need More Bandwidth: In addition to storage, the same holds true for
bandwidth as well. Back in the good old “Web 1.0” days,
it was enough to have a nice, efficient web application with a focus
primarily on capabilities. Now, it’s all about the “experience”
which often includes much more richness (which generally equates to
bandwidth). More images, more audio/video, and more Javascript/AJAX/Flash/whatever
mean more bandwidth consumption. If you think bandwidth is free, think
again (and check with your hosting provider).
- Horizontal Scaling Adds Complexity and Cost: One thing we’ve learned
is that it’s better to scale “horizontally” (i.e. have a
higher number of small machines instead of one big, bad-ass machine). This
allows us to scale “linearly” simply by adding more pizza-box
servers as traffic and usage grows. This is a great thing.
However, from a startup’s perspective, what people don’t
realize is that the cost of adding server #2 is not the same as that of server #1. More on this
in my example below.
- The Disaster Lottery Ticket: Most web startup companies that
are saving money on hosting costs are basically living on borrowed time. If
you want to make startup founders lose sleep, ask them one simple question:
If all of a sudden, your server died
taking all data that was on it with it, how long before you could start serving
customers again? (hint: Many bootstrap startups are not worried all
that much about reliable backups). For added fear, add the fact that your
hosting provider does not respond to your email or phone calls within the first
24 hours.
Personal Example: I’m working on a web software
startup now (beta launch coming up in June) and am dealing with all of the
above issues. When I first started the business (April, 2005), I did what
all good entrepreneurs should do. I bootstrapped and spent as little
money as possible. I found a nice, cheap but reliable hosting service to
host my web application and started bringing on users. Since then, here
are the primary “discontinuities in cost” that I’ve
experienced as the company evolved. I don’t think I’m
atypical here. Though your timing will vary, you’ll go through more
or less the same things.
Discontinuity 1:
Moving
from shared to dedicated hosting. If you’re doing
anything remotely serious on the web, you’re going to need a dedicated
server at some point. A shared hosting environment presents too much risk
and too little control. It’s going to happen to you someday.
You’ll need to move to dedicated hosting.
Discontinuity 2:
Discount
hosting to “managed” hosting. As you start
bringing on customers, chances are, you’re going to need more support
than just “automated rebooting”. Though you may not move to a
fully managed service (where there are carbon-based life forms in addition to
an IP address at the other end of the hosting relationship), you’ll
probably outgrow the discount hosting service. This generally happens the
first time things go very badly and you need help getting your server and/or
application working again. Trust me, that day will come.
Discontinuity 3:
More
than one application server. You would think that if one
server costs you $200/month (let’s say), than two should cost you
$400/month, right? Not so fast. Once you move to a server farm
environment, things change. Now you need to worry about hardware/software
load balancing. You have to worry about shared storage across servers (maybe
even a NAS device). You have to worry about state management across
servers. At this point, you’ve likely also outgrown your “discount
hosting” service as many of them are not positioned to meet these types
of “advanced” needs. Pop quiz: How much will your
existing hosting provider charge you to increase your current disk space
available by 10X (i.e. from 80G to 800G?).
Discontinuity 4:
Disaster
Planning. Once you have real customers and need to provide a “service
level agreement” (implicit or explicit), you have to start planning for
disasters. Components need to be redundant so there is no single point of
failure. You need a way to “recover” should that very, very
bad day come. And, if your startup is successful enough to survive a
couple of years, you’ll see that day.
So, across the various discontinuities, I’ve now gone
from spending about $25/month on hosting back when the company started, to spending
over $2,000/month. Realize also that this is my own money (I haven’t
raised outside capital), so I’m not looking for ways to spend VC money.
Summary Of My Point: Web hosting is not free. Much
of your costs also depends on your proclivity for ulcers and how much money
your customers are paying you (and what they can expect for that). If you’ve
got 100,000 “free” users, maybe you can get away with
$100-$200/month. But, even then, not for long. So, the big message
here is this: Are you being realistic when planning out your business
model? Can you really afford to grow to a million “free”
users in the hopes of making money some day? Maybe you can. But
then again, maybe you can’t.
Note: I’ve tried to stay away from quoting “hard”
numbers here. So, please don’t spam me with why Hosting Company X
can do it so much cheaper than what I am paying now. Or that I’m foolish
for spending that much money on web hosting. I may be foolish, but I am
not incented to overspend on this stuff (being self-funded, my interests
are aligned with myself).