
Ask HN: How can I sustainably run a website without charging a fee? - chabeligian
I have (what I think to be) a pretty good idea for a website. I also have a full-time job that I&#x27;m very happy with.<p>I&#x27;m thinking of launching my idea on Heroku, and the monthly fees would run around $300 a month. Mind you, this is with two dynos, two workers, and the &quot;production&quot; level of a few add-ons (Redis, Postgres, etc).<p>My problem is that I have no interest in charging money or providing an additional tier of features for people who would pay money. I want to try launching my idea, see if it&#x27;s useful, then scale the site&#x2F;add-ons to match those needs. I&#x27;d also like to open-source the whole site. But what happens if (a very large, hypothetical if) it does turn out to be more useful than I expected?<p>The only way I can think of breaking even is by asking for donations. Is donationware in the Internet age a viable option? Has anyone done it successfully?
======
meowface
1\. Heroku is expensive. Odds are you can get the exact same virtual/hardware
specs with a cheap VPS from Digital Ocean or Linode or any of various other
providers. It'll require a tiny bit more setup and configuration on your part,
but it'll save you money. You could also consider shopping around
lowendbox.com and lowendtalk.com to find the best current deals.

2\. Optimize your application so that you won't need to scale via upgrading or
adding new hardware for a long time. Be mindful of your database queries,
cache things in the application itself, and use a caching web server like
nginx as well. Only upgrade or scale to multiple servers if you've optimized
everything as best you could at all the software layers and yet you're still
experiencing more traffic load than you can deal with.

I've run medium-traffic sites and applications off of $5 and $10/month VPSs by
following those 2 steps, with consistently good and stable performance and
latency. My guess is that if you order a cheap VPS from the start and do
everything else right, you'll find that it'll scale just fine for years and
you won't ever need to leave it.

3\. Have a donation banner and if it fits okay with your application, place
ads.

~~~
thaumaturgy
This is the approach I would take too, but I'm not sure I would recommend it.

The downside to Linode, Digital Ocean, et al is that you'll have to spend more
of your time doing sysadmin work. If you're not already an experienced
sysadmin, figuring out how to get the pieces playing nice with eachother can
easily take up more than $300/month of your time.

And, once you're done with the setup, you're still not done: you have to stay
on top of log files, watch for abuse, keep software up-to-date.

And and, if you've never done this before, you won't know what you don't know.
(Pop quiz: you've never done sysadmin work before, what's the correct way to
configure sshd? Bonus points: if you use MySQL, what's the first command you
should run right after package installation, that nobody runs?)

I like sysadmin work, I consider it to be an important part of my software
stack. But I'd be reluctant to tell anybody else that they should spend their
time on it, too.

~~~
tempestn
You can get around some of these issues if you use a control panel like
cpanel. (Although as you get further from the old-school LAMP stack the
complexity starts to return.) Regardless, in the early stages, when you're
just trying to determine whether there's a market for your product, there's a
fairly low bar for system administration. As long as it works, it's probably
good enough. Even security (beyond the most blatant things) can probably wait
until you've got some revenue, since it's very unlikely you'll be subjected to
a targeted attack before anyone has even heard of you.

~~~
thaumaturgy
cpanel has a loooooong history of security issues. It's probably the single
most vulnerable part of any hosting company's infrastructure. ISPConfig is
probably better, but it too has had some issues ([http://www.exploit-
db.com/exploits/29322/](http://www.exploit-db.com/exploits/29322/)).

There's a fairly low bar for system administration for "just getting it to
work", but a really long upward curve from there to "properly managed". For
example, backups (which typically require some special handling for Postgres
and MySQL). Also, if you store any user data at all, you're kind of obligated
to make sure it's safe. You kinda want to have automated DB backups and data
safety even if you're using Heroku, but doing your own sysadmin might add to
the effort required to get it all working right.

You're right for the most part that you're not likely to see much in the way
of targeted attacks, but be careful not to discount the number of automated
attack systems that are out there now. Within a minute or two of bringing a
server online, I begin to see hits for spam, ssh, and root password attempts
from around the world. It's sort of amazing really. None of these are likely
to go very far on a default install, but if for example you decide to set up
an MTA so that your application can send you (or your users) email
notifications, it's easy to goof up a sendmail config and end up with an
accidental open relay.

Maybe another way to put this is, Heroku charges that much because they
provide that much value to people who don't want to deal with this stuff. _I_
prefer to deal with this stuff myself, but a lot of other people don't, and I
can't say they're wrong.

------
kephra
$300 per month? You can finance and colocate big server for that price, as one
of my customers does. $300 could also be used to rent 5-10 real servers in
different countries, to run your own cloud with GeoIP and Linux containers. An
other customer is running a shoutcast cluster of 6 hosts, two in US, 1 in
Canada, two in Europe, and one in Korea for half that price. AWS traffic for
such a shoutcast cluster would be several thousand $ per week.

Drop the stupid cloud. It costs to much. Rewrite your site to use only free
software. Get a cheap Xen site. E.g. my own small server cost only €4 per
month, offering 100mbit flat. Unfortunate my provider does no longer offer
this contract, but there are other affordable hosts. Just take care, that you
do not sign at a Virtuozzo/OpenVZ, or some cookie cutter provider who cripples
performance like rackspace.

If unsure what Xen provider is good, get a real iron at Hetzner spot market
for about €20-25, install a minimal Debian on with Linux containers, and run
your site within a container. A real iron will likely provide more processing
power then your site needs. So you can cross finance the host, by running
applications you wrote for customer.

And always unbundle DNS contract from hosting contract, so you can switch
fast, in case your hosting provider sucks.

~~~
cheald
> $300 per month? You can finance and colocate big server for that price

In the immortal words of Han Solo, "Yeah, but who's going to sysadmin it, kid?
You?"

(I agree with you, however.)

~~~
hnha
maybe I have just been lucky but I am running a site on a dedicated Linux
server for 3 years without any significant issues. There have been zero
security issues. The only downtimes were caused by me. It requires maybe 2
hours of maintenance per month. It is also running on bleeding edge packages.
Of course I invested some days into the initial setup but that is fun if it's
your hobby.

~~~
cheald
If you need $300/mo worth of Heroku hosting, chances are good that you aren't
doing something that's going to be terribly hands-off. Systems administration
isn't _hard_ , but it is involved - there's a lot of learning ramp-up that has
to go into it.

------
jestar_jokin
\- Look for a cheaper host for your MVP. Worry about scaling later. OpenShift
has free options.

\- Ads

\- Referral programs (Amazon, eBay)

\- Paid support, rather than extra features

\- Collect statistics/analytics, sell them to other companies (a la bit.ly)

\- Superficial upgrades, like a little badge against their username to show
they're a gold/donating member

------
film42
Checkout AWS's Elastic Beanstalk. Full DevOps built in. I have an app setup to
use a new cheap t2.micro server and skips the load balancer (but I can add one
at any time). Performance is pretty good and best of all, it only runs me
around $13/m.

~~~
wise_young_man
We use AWS Elastic Beanstalk and couldn't be happier. We compared the
performance of quite a few clouds and EB has incredible speeds over the
competition even for paid plans. They just lowered our prices too from their
old t1.micros to t2.micros about 50% and we have 4 EB applications so that
really made a difference and we combine the CloudFront CDN to leverage even
more caching where we can and have a scalable solution for very little cost.
Data reliability is also a very important concern so we use AWS RDS with MySQL
for our primary data store and Elasticache with Redis.

If AWS lowers the pricing of the entry level EC2 instances that Elastic
Beanstalk uses a bit more, I plan on moving all my side projects as it just
doesn't make any sense to manage any servers or pay $20/app when I get more
flexibility with AWS (ssh to find logs, tight integration between AWS
services, etc). The other thing I wish they had was the ability to use a EC2
instance for more than 1 application as we don't really need 4 separate apps,
but it's just mostly for cost reasons as a bootstrapped startup.

One thing we don't use, but want to down the road is using AWS CloudSearch
unfortunately and currently just use a file based search, but if they lower
the entry level pricing (currently more than our entire AWS spend) or we can
afford it we plan on using them to manage search.

~~~
lotyrin
As far as multiple apps per VM, have you taken a look at OpsWorks? It seems to
be aiming to be as automatic as Elastic Beanstalk, but significantly more
flexible (at the expense of up-front configuration effort).

It certainly is unfortunate that CloudSearch doesn't scale down smaller, I had
to skip it for the same reason.

------
ghostbunnies
Hey, if I read that well the guy asks for advice on how he can get some money,
not how he can spend less money. ;)

~~~
hnha
but it seems reasonable to teach him about lowering his costs so he need to
get less money, right?

~~~
thaumaturgy
Nobody has taught anything about lowering costs so far; all of the suggestions
have been for trading more time for money. Since he's already got a full time
job, I doubt this is the advice he was looking for.

------
aaronbrethorst
> But what happens if (a very large, hypothetical if) it does turn out to be
> more useful than I expected?

This is what you might call 'a good problem to have.' Either the site is
sufficiently useful to people that you can charge them money (even if you
don't want to...call it "donations" if it feels better), or it isn't.

The odds of you making donations viable is minimal. You're far more likely to
make the idea breakeven or profitable by charging real money for it
(preferably some amount of money greater than $3/month).

This topic has been worked over repeatedly over the past few years on HN. Try
searching for past threads that involve cperciva, patio11, and tptacek for an
idea.

------
humpt
Have you considered using a
[kimsufi]([http://www.kimsufi.com/uk/](http://www.kimsufi.com/uk/)). It's
basically a cheap dedicated server. You can get a decent configuration for a
less than $10/month.

You will need to admin it yourself but this depends more on the size of your
website, I don't think you should worry about it so early, especially given
the fact that you're not sure if you website is actually going to take off.

------
wmf
Sandstorm (on the front page right now) has an interesting take on this issue:
[https://blog.sandstorm.io/news/2014-07-21-open-source-web-
ap...](https://blog.sandstorm.io/news/2014-07-21-open-source-web-apps-require-
federated-hosting.html) I don't know if their approach would apply to your
idea, though.

------
sideproject
I had a small website - a content aggregation - on which I put Google AdWords
on. This was about 5 years ago and it's still going. It generates anywhere
between 50-100 per month. Not much, but has been enough to support all of my
other side projects.

Do you really need to start with $300/month fee? Can you start small(er)?

------
aercolino
It surprises me how many replies try to solve a side problem instead of what
the OP asks for. The OP doesn't seem a computer illiterate, so no need to
educate him on anything.

IMO, he asks: "How does one scale a free web application, money-wise?". For
example, "How did they scale Tumblr? [1]".

That's a real mystery for me too. I know they were funded by some big names
[2], but that kind of financial support here in Europe is not even a dream.

[1] [http://highscalability.com/blog/2012/2/13/tumblr-
architectur...](http://highscalability.com/blog/2012/2/13/tumblr-
architecture-15-billion-page-views-a-month-and-harder.html) [2]
[http://www.crunchbase.com/organization/tumblr](http://www.crunchbase.com/organization/tumblr)

~~~
meowface
That's because in all likelihood OP was asking the completely wrong question.
He has no application yet and no user base, so it's a waste of time to
consider these kinds of things when you're trying to create your own
application or business.

But of course, if you grow at such a scale where you're getting a lot of users
despite investing little money into the product, odds are many venture
capitalists and incubators will be interested in you.

------
serg_nechaev
Try the cheapest server from Hetzner
([http://www.hetzner.de/en/hosting/produkte_rootserver/ex40](http://www.hetzner.de/en/hosting/produkte_rootserver/ex40))
with their fees even an expensive hobby turns out pretty affordable.

~~~
STRiDEX
I use hetzner for a side project, but I used their server auction. It doesn't
have setup fees like their regular plans. [https://robot.your-
server.de/order/market/sortcol/price/sort...](https://robot.your-
server.de/order/market/sortcol/price/sorttype/down)

So far it has been pain free and I recommend the service for someone looking
for something more powerful and with more ram than the $40 digitalocean
server. DO is the better deal up until around 40-60$ in my opinion.

------
vbrendel
There is no way you can know exactly that two workers and two dynos are right.
Just start off with Heroku. Maybe even pay for a worker or an extra dyno.
Remember you can run multiple instances on a single dyno with eg. unicorn.
Once your idea takes off you can deploy using the other posters' suggestions.
By that time I thoroughly recommend Cloud 66.
[https://www.cloud66.com/](https://www.cloud66.com/)

------
idlewords
As others in this thread have pointed out, $300/month is a ridiculous amount
of money to pay. Get a small Linode or something for a tenth the price.

------
sfmidwest
Don't over optimize too early. Maybe it would be just okay if you run
everything on a $40 linode node.

------
peterwwillis
As to your first question: Advertising.

As to how you can reduce costs: Get VPSs and a free CDN or two, and engineer
your website to be heavily cache reliant, resistant to intense backend load,
and easily horizontally scalable. If you do it right, $50 a month will get you
more than enough performance and most of your bandwidth and load-balancing
will be free (the CDN).

As to donationware: Sure, if people are seriously invested in your product or
community. But that might take time.

Coming from a sysadmin: Don't let people intimidate you out of doing it
yourself. If you can successfully set up Tor, you can set up the
infrastructure for a large website. It's not that much of a learning curve
because there's a billion tutorials out there that'll show you how to set up
different tools to work together.

------
Mz
_The only way I can think of breaking even is by asking for donations. Is
donationware in the Internet age a viable option? Has anyone done it
successfully?_

Dwarf Fortress is supported solely by donations:
[http://en.wikipedia.org/wiki/Dorf_fortress](http://en.wikipedia.org/wiki/Dorf_fortress)

Metafilter, a web community, recently had a funding crisis and has managed to
handily cover it with donations (in a scenario where the owner did not so much
ask for donations as got told "Shut up and take our money").

Though, that's a community, not an app. The principle is the same though: If
enough people want it and value it, yes, it is possible to get donations. But,
first, you need people wanting it.

Best of luck.

------
michaelphipps
If it is the sort of thing that attracts eyeballs, especially eyeballs of a
niche market, then Sponsorship / advertising is probably a good way to cover
costs. I've seen other suggestions for using adsense. You can make some money
from it, but approaching one or two big advertisers directly is way easier.
You will make more money and offering exclusive coverage on your site for the
cost of your servers a month is a true bargain for them.

Also, there's a saying that I think is appropriate to mention here: "If you
aren't paying, then you're probably the product". Facebook is a very good
example of that.

I also agree with other comments that you can probably reduce your server
costs if you hunt around.

------
tdicola
What about a kickstarter for $3000 or so? Enough money to run the site for 10
months and see if there is enough interest to keep it going. Not so much money
that it's impossible to raise from small donations over the course of a month
either.

~~~
boyter
Has that worked for any largeish webapps at all?

I'm especially curious as I would like to do something like this for
searchcode. The costs aren't too high but since it has no revenue stream it
would help keep things going even if my personal costs suddenly went up and
something had to go.

------
craigvn
Sign up for BizSpark and you can get free hosting for 3 years in a cloud
environment.

~~~
nmjohn
You get a $150 monthly credit for microsoft azure a month. While that is not
anything to scoff at - a VM with 1 vCPU core & 1.75 GB ram is $45 / month.

Growing beyond $150 a month would be quite easy, even with a small user base,
and at that point you are paying _a lot_ for what you are getting.

My point is just make you fully evaluate long term consequences of locking
yourself into a closed source ecosystem with very expensive servers (Azure and
AWS are both guilty here.)

------
SamuelKillin
Surprised no one has mentioned App Engine. Their free tier will take you a
long way.

~~~
NicoJuicy
Second that, if i'm not mistaking, there is a guy running his 4000 $ monthly
biz running on the free tier... Can't remember which biz or where i saw it
though.

It was just API calls if i'm not mistaking and he wrote a post where he
slimmed his app so it could fit in the free tier again.

Anyone has an idea?

~~~
heyalexej
I think it was this guy. [http://blog.initlabs.com/post/16359268329/how-i-
reduced-goog...](http://blog.initlabs.com/post/16359268329/how-i-reduced-
google-app-engine-costs-by-75) The project he wrote about seems to have
changed direction though.

~~~
NicoJuicy
Could be, but then he had to alter his theme, because i don't recognize it.

But then again, the post is from 2 years ago :)

------
tejasm
If you host on AWS, I can give you two $100 credit codes to get started with.

~~~
Joeboy
If unclaimed by OP, could I have them, or one of them? I'm just looking into
starting an AWS project, which will similarly cost me money in return for as
yet unknown rewards. The idea is to create ad-hoc render farms from multiple
EC2 instances, so development costs could end up being non-trivial.

~~~
tejasm
For sure. Please drop me at note at tejas83 at gmail dot com. All the best for
your project.

------
jarofgreen
Advertising. But not Googleads or whatever.

Depending on if your audience is niche enough for this, approach people
directly and ask for a block sum. This works especially well for local sites
where you can just walk into local shops and up to local business people at
events and ask directly.

And as others have said, reduce costs, host elsewhere really cheap and only
scale up IF needed. Because you probably need to actually build up an audience
before you can do this.

------
ejr
Have you considered VPS? There are quite a lot of hosts these days that are
reasonably priced - Digital Ocean and Linode come to mind first. Initial setup
is usually all about trying new things and testing and starting small may be
more cost-effective at least in the short term.

Depending on how efficiently you create the site and its functionality, you
may be able to get away with minimal resources.

Edit: Ah, meowface beat me to it! :-)

------
ianamartin
I use vpscheap.net for my side projects. They are very good. They have
unmetered bandwidth plans that start as low as a couple bucks a month. I use
the 10 dollar/month plan, and it's 1gig ram, unmetered on a 50mbit/s link,
quad core, 100 GB ssd. You can do quite a lot with that.

Only thing I don't like is that I can't get a clean install. They seem to have
one Ubuntu image, and it's not really minimal, so I have to do some cleaning
when I start a new instance. Other than that, it's pretty great.

You could run a cluster of 30 of those for your Heroku budget, and I have no
doubt that would be an insane amount of overkill. If you were absolutely sure
you were going to get killed with traffic, I would spin up a small one of
these as a load balancer and put it in front of two web/app servers and do one
more for database. That's still just around 35 bucks a month. And you should
be able to get that from donations.

------
lauradhamilton
Depending on what niche the website is in and how much traffic you get, you
can potentially make decent money with the right affiliate program.

You can also upsell consulting services (again, depending on the niche).

------
rch
How far could you get with the free tier on OpenShift?

------
lazylizard
google appengine free tier, aws free 1yr, nephoscale free 1yr, appfog?

vpsdime?

or if only lamp, perhaps 000webhost.com?

------
antichaos
Have you considered AdSense?

~~~
idlewords
You need traffic in the hundreds of thousands of visitors to earn $300/month
with AdSense.

~~~
nl
You (probably) need traffic in the hundreds of thousands to justify the
$300/month infrastructure spend.

------
fleitz
Honestly, even for funded startups scale is generally the last thing one
should worry about... it's the single best problem to have.

If you're doing it because you love it just do it, wikipedia exists on
donations. Worst comes to worst you decide you can't afford hosting anymore,
and you either limit traffic, or shut it down and paste a link to the code.
It's not like you owe anyone anything for having provided them a free service
for years.

