In chatting with Nick about hosting, I began to realize how complex the ISP
game can be. These are some thoughts, all provide
starting points for further brainstorming and
discussion.
We’re building our new machine for ourselves, make no
mistake. We took this route because it looked cost
effective for the needs we had for ourselves. However, we
can, in theory, provide services to others as well—as our
server is more than capable of supporting more than just
untyped.
But what services would we offer, and at what cost?
We currently run Apache, Exim/Courier, Postgres and MySQL,
Subversion… in general, a full assortment of services that
users might want to make use of. Through judicious use of
LDAP, we’re hoping to expose some of these services
(email, WWW) without needing to provide full (shell)
accounts on the server. Likewise, we’re planning and
building scripts to automate many of our maintenance tasks
on the machine; we’re stopping short of CPanel, however.
So if we have the means to support other users, why would
I be hesitant? Because we are not an ISP. We are people
who enjoy making software. Our machine is like our
workbench—it provides the essential services we need to
make that software. Therefore, we have no interest in
trying to compete with your run-of-the-mill ISPs… you can
get a $5/month web account anywhere. So what kind of
hosting will we provide?
At the least, I imagine we might offer hosting for “odd”
servers and languages. By “odd”, I mean “anything not
Apache.” For example, we know that there might be some
interest in the PLT Scheme; likewise, I imagine that
allowing servers written in Erlang may be of interest as
well. Beyond that… how much bandwidth can someone expect
to get hosting with us? Do we provide backup services?
What kind of quota does a user’s account come with? What
kind of response time to user requests are we going to try
and make good on?
Bandwidth
We will probably have 50GB of traffic per month in our
colo agreement. We will be charged beyond that as per
Bytemark’s policies. Therefore, I could simply pass on
costs to clients. Really, though, we’re not prepared to
deal with the administrative overhead of billing clients
for bandwidth, etc.; we’ll barely be in a position to
administer billing for basic services. Again, we’re back
to the mantra “we are not an ISP.”
We’ll have bandwidth accounting in place; how you charge
for bandwidth, I don’t know. Just having to administer
this takes time, and time is money (“We are not an ISP…”).
Perhaps there’s a simple way to handle this… perhaps not.
I need to think more on this one; insights are welcome.
Backup
Backup is expensive. It takes careful scripting on the
host, regular movement of data from the server to a remote
site (see “Bandwidth,” above), and it takes time to
archive that to some kind of storage media. I don’t have a
tape jukebox anywhere near the server, nor can I afford
one (“We are not an ISP” ). Therefore, backup is an issue
of me having a second machine that runs a cron job, and
regularly pulls backups off the server. Then, I’ll have to
manually burn DVDs and/or make digital tapes archives of
that data. There are time and media costs involved in this
that are non-trivial.
Backup is something that typically is not offered with a
shell account, period. Taking a look at Mythic Beasts, their shell accounts start at £15 per quarter, they
offer 200MB of disk space, and there is no mention of
backup. I found some backup services while investigating
storage (below), and they charge a lot per month for 1GB
of backup (£25). This says to me that most hosting
facilities assume the following:
- You backup your own data
- If the server dies, you’re on your own
I’m not committed to either route at this point, but it’s
clear that I should charge money for backup services. I’m
willing to spend my time to guarantee my own data’s
safety, but I’m not willing to do that for others, for
free.
Storage
What kind of quotas should we provide users? What can I
get shopping around the internet?
Epinions has more commentary on online storage than I care to
duplicate here. I myself have a 1GB Box.net account, and am quite pleased with it—their pricing is
competitive, and the interface to the site, as well as
features (instant photo albums, passwords, RSS feeds) are
great.
Point being? If I’m going to offer space, I have to charge
at least £1.75/GB; and since we’re not really in this
market space to compete, I’d probably have to charge more
than that (due to the administrative overheads, and
limited resources on our own machine). Furthermore, that’s
assuming it’s a gigabyte of unarchived storage.
It looks like sites that actually offer backup of a
gigabyte of data charge around £25/month for a gigabyte of
content that gets archived monthly. This doesn’t surprise
me in the least—offering security is an expensive
proposition, both in terms of tools and in terms of time.
Again, comparing, Mythic Beasts charge £30 per month for a “developer” account with 1GB
of disk (no backup). The reality is (because we’re not an
ISP), we only have one server, with limited disk space. I
can resell storage from Bytemark, which eases the stress
on my own disks… but as can be seen, having active disk
space that you can serve out to the world costs money.
Administration
All these services take time to administer. Yes, we have
to do it for ourselves… but it’s another thing entirely to
have customers who want guarantees, and support when
things go wrong (regardless of whether it is at our end or
their end). What does administration cost? I can look at
other ISPs and see what they charge for adding a
subdomain, or configuring databases, or any of a host of
things… and I don’t want to get trapped in a situation
where we offer to do these things “for free,” and end up
playing sysadmin to a bunch of customers without any
recompense.
Again, this is a tough one.
In Conclusion… or, something like that
This isn’t necessarily the kind of laundry a small
business should air in public. Typically, this is the kind
of uncertainty that would be kept private, resolved
off-line, and then published to the world as policy.
However, these are probably the kind of questions that
others have wrestled with in their time, and it’s possible
someone who reads untyping may have some insights into
these issues that we don’t have. Given that we only have
one machine (“We are not an ISP”), it may be that we
should avoid hosting altogether. Or perhaps we can come up
with some reasonable terms of service and pricing
structures that reflect the quality and nature of services
we will offer. Who knows? Either way, they’re challenging
questions.