
Heroku is no longer the hobbyist's friend - jalada
https://blog.jalada.co.uk/heroku-is-no-longer-the-hobbyists-friend/
======
PascalW
Heroku indeed used to be _very_ generous. I totally get why they are making
these changes, it's hard to sustain this in the long run.

That said; for hobby stuff I've switched to a cheap VPS plus Dokku [0] and
haven't looked back. Works with Heroku buildpacks and even runs custom
Dockerfiles if you need anything fancy. Hardly requires any maintenance.

There's a couple of alternatives like Deis [1] and Flynn [2] that offer more
advanced features, but they're much more complex and way overkill for my pet
projects.

[0] [http://progrium.viewdocs.io/dokku/](http://progrium.viewdocs.io/dokku/)
[1] [http://deis.io/](http://deis.io/) [2]
[https://flynn.io/](https://flynn.io/)

~~~
jamiepenney
How big is the VPS you're running it on? I've got a 1GB Digital Ocean box for
my side projects already, wondering if I should just spin up another one of
those with Dokku instead.

~~~
savant
We normally recommend at least 1GB (and tell users to run swap on smaller
instances). It's really just dependent upon your app's memory usage, and you
can use docker options to limit app resources quite easily :)

------
brandur
Regarding the fifth point on SSL, I agree, but I'd recommend investigating a
combined Heroku and Cloudflare stack as I've described here:

[https://brandur.org/fragments/cloudflare-
ssl](https://brandur.org/fragments/cloudflare-ssl)

You can stay on the free tier of Cloudflare and the hobby tier of Heroku and
get full encryption on your custom domain (and without worrying about getting
certs issued). This is how I run my more important hobby apps.

And regarding the lack of novelty of `git push heroku master` — I'd argue that
it's still surprisingly valuable even in modern times. Sure you can do it
yourself using a dozen different techniques these days, but as a hobbyist I
want to be building apps and not maintaining personal infrastructure.

(Disclaimer: I used to work at Heroku.)

~~~
beeboop
Great to know, thanks for mentioning it.

------
savant
A reasonable option for hobbyists is Dokku[1], a single-server heroku clone.
I'm also pretty excited about Convox[2], and would definitely recommend that
early adopters check it out.

I get that people are frustrated with heroku's pricing, but at the end of the
day I think that if your side project isn't worth the money you spend on it's
hosting, maybe you should look into other side projects? If it's truly not a
money-making project, not needing to scale it or have it up 24/7 seems like a
reasonable trade-off to not paying for it's hosting.

The number of tools and resources Heroku provides is quite significant, and
developing/deploying/maintaining similar solutions is certainly not cheap or
easy. Especially at scale.

Disclaimer: I'm one of the Dokku maintainers.

    
    
      - [1] http://progrium.viewdocs.io/dokku/
      - [2] http://convox.com/

~~~
lexcorvus
Correcting grammar and spelling errors—especially in public—is always a tough
call: upon judging that an error is systematic and not a simple typo, do you
help the writer avoid the error in perpetuity—even if it embarrasses them a
little, and even if you'll probably get downvoted for being pedantic or
offtopic? In this case, I've determined the downsides are worth the
possibility of sparing the author a lifetime of error. So, without further
ado:

    
    
        s/it's hosting/its hosting/g

~~~
cwbrandsma
There is a whole lot of "I'm an asshole" conveyed in that statement of yours.

~~~
lexcorvus
Everything in my statement is genuine. What's more impolite, saying something,
or letting someone continue to make a mistake? Like I said in my comment, it's
a tough call.

Implying someone is an asshole is always impolite. Take that as you will.

~~~
nostrademons
A lot of people know full well the difference between "its" and "it's", but
dash off HN comments because they have something contribute but not a lot of
time. I've been known to forget whole verbs when writing out my comments, for
example. That doesn't mean that they're fated to a lifetime of always getting
it wrong: the parent comment you corrected used "it's" correctly once and
incorrectly twice, and uses "its" correctly in his comment history.

The other commenters are asking you to please consider carelessness rather
incompetence as a motive, and to see the forest for the trees. If everybody
corrected grammar in the comments, we'd quickly see the site switch from
substantive discussion to useless pedantry. Don't be that guy.

------
glogla
The author writes about spinning virtual machine from Linode.

There's one cool alternative I found: Hetzner Online[1] leases dedicated
hardware that their other customers stopped using or ordered but didn't use,
etc. It is in form of reverse auction - unused hardware gets cheaper until
someone rents it.

You can get i7-3770 server with 2x3 TB disks and 16 GB RAM for 32 EUR per
month. That's not much more money than linode, but it is much beefier and just
your (but no SSD). If you pay more you can get something like i7-3770 with 32
GB RAM, 2x3 TB disks and 2x240 GB SSD for 65 EUR a month.

The servers are in Germany, which might be interesting for Europeans who are
wary of US cloud companies.

I'm not affiliated with them in any way, I just find their offer cool.

[1]: [https://robot.your-server.de/order/market/](https://robot.your-
server.de/order/market/)

~~~
BlackMonday
Was Hetzner not the company that stored the customers password in plaintext a
few years back? Since I am not entirely sure on this please correct me if I am
wrong.

But the prices are nice, thanks for posting this. Would love to use dedicated
hardware but suspect that i am too dumb to secure my box good enough and end
up in a botnet or as a spam server.

~~~
ByatchMatch
I've been using them for 5 years and never heard of this. They did start to
offer 2 step auth recently.

------
shostack
While my instinctive reaction to Heroku's shift was "ugh, that sucks, how dare
they," I have to say I get it. It is hard to build a successful business with
that model given their offering.

However to the comment about "git push heroku master," someone that is an
"early" programmer like myself finds that level of simplification helpful when
I'm focusing on things like learning all the other things that could go wrong
with my Rails Tutorial app.

That said, as I now am at the point of starting to work on projects that I
hope to one day be public facing, I'm wondering if there are any
recommendations for "Heroku-like" providers with a free tier that stays up
24/7 for super simple Rails and Sinatra apps, perhaps with a DB.

~~~
eatitraw
> I'm wondering if there are any recommendations for "Heroku-like" providers
> with a free tier that stays up 24/7 for super simple Rails and Sinatra apps,
> perhaps with a DB.

OpenShift([https://www.openshift.com/](https://www.openshift.com/)) may be the
service you're looking for. I haven't tried it, but it looks nice.

~~~
jacques_chester
Cloud Foundry. You can try it through Pivotal Web Services or BlueMix.

It reuses Heroku's code for several buildpacks, particularly Ruby.

I know that it works really well because (disclaimer!) I worked on the Cloud
Foundry Buildpacks team for Pivotal.

~~~
arikrak
How easy is it to migrate your database, app, addons and configuration from
Heroku to Bluemix? I'm going to consider a new host once Heroku ends it's
grandfathered prices on Feb 1, 2016.

~~~
jacques_chester
I'd recommend Pivotal Web Services[0], aka PWS, aka "p-dubs", buuuut that's
only because I work for the company running it :)

If you have a 12-factor app that pulls config from the environment, it should
ideally not be too traumatic. Services are meant to be injected by the
platform.

Apps should be the easiest part. Of the buildpacks: Ruby, Python and Node are
based on Heroku's and are very nearly identical. Go is based on a community
buildpack, PHP is a complete ground-up rewrite and Java is a ground-up rewrite
maintained by the Spring team.

If you signup for PWS and you find things broken or missing, email me:
jchester@pivotal.io, and I will find who can help you.

[0] [http://run.pivotal.io/](http://run.pivotal.io/)

------
holografix
I for one think it's a good thing Heroku is not joining the herd in a race to
the bottom.

$7 dollars a month to run a little app? That's less than I spend on coffee
each day and I'm glad that money is going towards differentiated and valuable
service.

I have a couple of toy apps, a personal blog and a "not such a toy" app on
Heroku and I have used their services for free for AGES - more than fair
enough that they make some money.

~~~
orthoganol
Except it's $14, because I can't remember the last time I built even a trivial
app that didn't incorporate background processes somehow (the extra $7).

Then it's an extra $20/mo if you want SSL. Which you will most likely want.

That $7/mo just became $34/mo.

Bye, bye Heroku.

~~~
joshmn
For something small (assuming it is), you can get away using Unicorn as your
Rails server (assuming Rails), you can spawn a worker inside your dyno using
before_fork and #spawn.

For SSL, you can use CloudFlare as your DNS and take advantage of their SSL
feature.

While not ideal, does it need to be ideal for a trivial, probably-not-super-
high-functioning-hacky-app?

There's always Cloud66 — which I've used to great success. I have two servers
(e3/32GB/4x250gb enterprise SSDs in HW RAID on nice pipes for less than $100 a
month) that I rent, threw vSphere on it, hired a $50/month competent and
trusted off-shore sysadmin team, and loaded up a couple VMs.

It's not completely ideal, and I understand I'm trading stability for a couple
bucks, but in scaling my clients have saved a bunch.

~~~
kasia66
Cloud 66 provides a full stack container management as a service in
production. It gives you the flexibility by offering Heroku-like functionality
on your own server or on any cloud provider (AWS, DigitalOcean, Packet, Azure
and etc). Cloud 66 gives you more control, helps to reduce the cost and to
save time.

go.c66.me/ktheroku

(Disclaimer: I work at Cloud 66)

~~~
joshmn
Did you ever read what I wrote, or did you just set up a Google Alert for
Cloud66 and decide to push your "marketing link" with Cloud66?

------
lolsal
I think it's still pretty friendly to hobbyists (throw up a quick Flask app
for a demo, etc), but it's probably no longer very friendly to 'get everything
for free'ists (like 24/7 compute, >512MB ram, etc).

The benefit to me of using something like Heroku is not because I get more
CPU/RAM than an equivalently priced Linode instance - the value is in not
having to manage a Linode instance at all.

I'd also argue that git-pushing to Heroku is still a lot less friction than
dealing with docker images or chef/puppet scripts.

~~~
danneu
Also, once I started accumulating projects on Heroku, I appreciated the
consistency across maintaining, managing, and deploying those projects.

Meanwhile every time I'd deploy a new project to Linode, I'd use a different
deploy script/strategy as I'd learn slightly better ways of doing it. It's
much more annoying to do maintenance on my Linode projects I haven't touched
in 6+ months, and it turns out I usually don't have the energy to re-
credentialize in the idiosyncrasies of each sideproject, so they languish.

------
ufmace
I can certainly see the point where Heroku comes out wildly overpriced for
certain types of hobby-scale apps. I've seen several people recommend
dedicated servers via Linode or DigitalOcean instead, which has it's own
pluses and minuses - gotta maintain the server, but for a pretty low price,
you get something powerful enough to run a 24/7 server + database + whatever
other odds and ends your app needs, as long as the demands aren't too high.

I'm wondering how AWS compares, though - running a dedicated, manually managed
EC2 instance or ElasticBeanstalk. Seems like you could get your own server,
and still have little barrier to scaling as high as anybody could ever need at
the touch of a button. Anybody have much insight on that?

------
rubyn00bie
Not to be rude, but these complaints, minus the "increase" are standard Heroku
practice. I see no changes-- in fact, what has changed there, anything?

They're finally too expensive for you, or you outgrew them? They aren't cheap,
and never have been, especially for hobbyists.

If you have a hobby, you most likely have more time than money to complete
your hobby, so why, why use something like Heroku? The very nature of your
activity is to spend your time, not your money, Heroku is only giving you the
feeling of savings until you outgrow their nearly worthless free offering. Now
you have to spend your time, moving, configuring, and learning an "entirely
new" system. Had you done this the first time, you'd have saved money/time.

Yeah... "git push" to deploy is easy[1]-- and if you're new to application
development it can be nice, but! It also means you have no idea how to
configure or run your app (i.e. deploy). It means you're more vulnerable to
your vendors quarterly earnings needs (price hikes), it means you're more
vulnerable to vendor technology changes (lock-in), it also means if it ever
hits the fan-- you're gonna have oodles of downtime while you learn how to do
it "right" the first (nth) time.

FWIW, it's actually really easy to run a VPS that's stable once you learn how
to do it properly. Don't fear it, mate. I've always found it nice since none
of my projects ever get substantial traffic, I can usually run some auxiliary
service I need (like Gitlab) on it too. A two for one, eh?

... One last thing, if you're running a business Heroku might be the right
choice (it's up to you to evaluate the risk/reward).

[1] I personally think deploying with Capistrano is a cinch (cap deploy) but
it'll take you a lil' bit of effort to set up the first time.

~~~
nostrademons
Different hobbyists have different reasons for doing their hobby. Some just
want to learn new tech, any tech, and for them, learning how to deploy on a
VPS is a good use of time. But others would rather focus on frontend dev -
it's a hobby, after all, the point is to do what's fun - or solving problems
for their friends, or learning about a market. It makes no sense for these
people to worry about sysadmin stuff or deployment.

~~~
rubyn00bie
Well... More concisely, what I'm trying to say here is that often time we
don't consider all the costs, just the monetary ones, which leave us in
situations like the poster's current one.

He considered the monetary costs, but didn't think through what other costs
are associated (time/stress/performance/etc) and has come out "on bottom."

It does make sense if you do a proper cost benefit analysis, to yourself, in
this situation. Otherwise, he'd pay Heroku what they're "worth" and never have
written this blog post.

~~~
nostrademons
It didn't sound like he has come out "on bottom". Rather, it sounds like he's
evaluated all the costs and decided that Linode fits his needs better.

The blog post, presumably, is because there are still things that he misses
about Heroku, and so even though Linode has come out on top, he wishes that
there were some sort of hybrid solution. That, and there may be other people
in his situation that haven't yet made the cost/benefit analysis themselves
and aren't aware of alternatives.

------
Harkins
Does anyone have screenshots of the database upgrade that the Heroku CLI is
pushing? It gave me some technical-sounding warnings about needing to update
my database, sounding a lot like the infrequent app stack updates (from Bamboo
to Cedar or whatever). It walked me through an upgrade process, bounced app,
everything happy.

Then the bill came, and they'd added a $50/mo db to my $9/db. Support was
shocked, shocked that their tool had told me to install the db. They admitted
the $9 plan sufficed for me, didn't fix or refund the unwanted extra plan, and
to top it off database backups are still broken.

I'd just like to have a screenshot of the misleading sales process they
pulled. If anyone sees this, please drop me a line. Meanwhile, I'm checking
out Dokku and other alternatives for hosting on VPSs - aside from my little
hobby project, I have tens of thousands of dollars of consulting client
hosting to start migrating away.

~~~
pvh
Hi there - can you email me at pvh (at) heroku with a link to the ticket where
you had a bad experience? This sounds like a bad UX bug that we need to fix,
and I will make sure any unintended charges are taken care of.

I've also asked the PM for this project to look into what happened here and
alerted the head of our support team. I hope you'll consider giving us a
chance to make this right for you and a chance to re-earn your trust.

~~~
Harkins
I've now heard from two other people with the same experience: UI pushed a
database upgrade, price was suddenly $50, support gave no help getting back to
previous normal. Thank you for your email address, but no. The support ticket
was a chance to regain my trust.

Any readers: I realize pulling large clients over a single small charge sounds
like an overreaction, but client relationships are the health of a
consultancy. $50 is a rounding error; partnering witha business willing to
mislead for an upsell is an existential risk.

------
toomuchtodo
Hobbyists rarely pay the bills. Go upmarket or suffer in perpetual purgatory.

~~~
smt88
I imagine MailChimp, WP Engine, and some other services would disagree.

It's possible to have a plan that suits hobbyists while still being
profitable. In this case, as a PaaS, Heroku may not have been able to offer
something like that, but it's not universally true that hobbyists are
unprofitable.

~~~
programminggeek
No, they wouldn't. They've run the numbers. What they figured out is the cost
to acquire a paid user is cheaper by having a free account than by buying a
bunch of ads.

Free plans or hobbyist plans are really there to get the marketing and cheap
customer acquisition, not to power the mainline B2B business. The main
business in both cases is likely bolstered by enterprise clients worth 5+
figures a year, but don't likely cost much more than a hobbyist account to
maintain.

If you only had a hobbyist offering, you'd go out of business. As this post
points out, Heroku has a much larger common offering where they should have
plenty of profit at scale.

Meanwhile, they also benefit from hobbyists saying "oh yeah, Heroku is easy,
let's use that!"

Heroku is smart, they know what they are doing.

~~~
smt88
> If you only had a hobbyist offering, you'd go out of business

This just isn't true. To mention WP Engine again, they were hobbyist-only at
first. You had to contact them specifically to require an enterprise-grade
plan.

------
joeevans1000
I just found I was being charged by Heroku for a service I never used for 8
months. I emailed them, and they offered me half off this month's bill, and
nothing in for the past charges. Granted, I should have been more aware, but
I've found Amazon to be extremely forgiving of my mistakes, crediting me for
quite a bit of the charges for the few I've made. Given that I didn't actually
touch my Heroku account, I actually feel they could have been more helpful. I
say this because the big fear of cloud services is that you'll rack up charges
you didn't mean to. I think a forgiving attitude for true mistakes is just
good business. I'm not interested in Heroku from here on, as a result.

------
TheMagicHorsey
Google AppEngine is a good alternative for Python, Go, Java, or PHP web apps.

~~~
m_fayer
As a longstanding gae user I have to disagree. The performance characteristics
are esoteric, they're always a few generations behind wrt language updates and
framework compatibility, and the whole platform is stagnating. At least in
Java-land, and I think Python too.

~~~
jonwayne
If you are a Java user and want to take advantage of Java 8, I really
encourage you to check out managed VMs. We have a runtime available for Java 8
& Jetty 9 on github here: [https://github.com/GoogleCloudPlatform/appengine-
java-vm-run...](https://github.com/GoogleCloudPlatform/appengine-java-vm-
runtime)

(disclaimer: I work for Google on Cloud Platform, but not on anything Java
related)

~~~
m_fayer
I tried to move beyond archaic Java with managed VMs when they were first
announced. Back then it was half-baked and glitchy, it felt like Google was
using its actual users to do their testing, I hope it's gotten better since.

Generally, I think what Google is missing (or doesn't care about) is that
anyone who is using a PAAS provider is willingly exchanging some flexibility,
control, and price-efficiency for the luxury of having devopsy management
tasks taken off their hands in a competent and reliable manner. Managed VMs
seem to be providing so little of that that you might as well move to IAAS.
Or, do as I have, and move to Azure - who do manage to stay pretty current,
and blend PAAS and IAAS in a much more elegant manner.

~~~
jonwayne
> I tried to move beyond archaic Java with managed VMs when they were first
> announced.

Please keep in mind that Managed VMs is still in beta, however, there are
other parts of Google Cloud Platform that are in GA, including Compute Engine
(IaaS), and Container Engine (somewhere between PaaS and IaaS). In fact,
depending on how much control you want, Container Engine can be a better fit
than App Engine.

------
oso2k
Lowendbox is your friend [0].

[0] [http://lowendbox.com/](http://lowendbox.com/)

~~~
jqm
You do have to be careful though. VPS offering is a pretty easy business to
get in, and there are no shortage of people operating out of the proverbial
"parents basement".

I've had some weird stuff from cheap providers including being down for days
with no response, sudden price increases and having them go out of business
all the sudden. Even for hobby projects it sucks having to chase people around
set everything back up. I have found a couple more bucks a month to deal with
a larger company that's it for the long haul to be money well spent.

------
mesozoic
Salesforce gotta pay for the tallest building in San Francisco somehow.

~~~
BradRuderman
Yes, salesforce has no interest in appealing to the hobbiest developer. They
focus purely on enterprise. Even as an SMB customer, I have a terrible
experience with them.

------
smt88
The good news is that, as others have mentioned, there are options for
hobbyists that are inexpensive, sometimes free, and sometimes better than
Heroku itself.

------
Beltiras
For 90$/month I can get 32GB 8C Xeon with 200GB SSD on Hetzner.de. Wonder how
much Herokusauce I can run on that?

------
nacho2sweet
Ummm if your hobby isn't worth $14 a month to you then why is it worth it for
Heroku to support it for nothing? This article is dumb. Remember when domain
names cost $75 for 2 years and bottom tier hosting was $35.

They are a business. They don't owe anyone shit, it is nice they give
anything.

~~~
icebraining
Nobody said they owe hobbyists anything or that it was unethical to charge
whatever they do, just that it makes them unappealing to an hobbyist.

And the "remember when" is irrelevant. Costs have dropped for everyone,
including them.

