118 comments

[ 0.20 ms ] story [ 216 ms ] thread
Hobbyists rarely pay the bills. Go upmarket or suffer in perpetual purgatory.
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.

Marginal cost. For MailChimp, WP Engine, etc, their code is running regardless. Heroku and other PaaS providers have to commit real resources (RAM, CPU time) that have a much greater cost than running some free work through your existing data pipeline.
It doesn't seem to be a problem for Linode to give me the virtual hardware at a reasonable price. Why would Heroku's software on top of that virtual hardware cost so much more? Is their deployment/management software using that much extra resources?
Linode owns the underlying hardware. Heroku is renting it from AWS. When you own your resources, you have more control over your margins (traditionally).
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.

> 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.

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.

AWS. Elastic Beanstalk has pretty similar easy command line tools, and their free tier gives enough for one instance each of ec2, s3, rds and will mostly autoconfigure like heroku does.
Since I'm not at all confident in my abilities to secure things properly yet, am I at any risk of racking up a massive bill from a hacked account if I go with the AWS free tier? Or is that simply not a possibility?
Enable two factor auth on your AWS account. Chances of fraud quickly approach zero unless your AWS API creds are leaked. You should always be using an IAM account that has only the privileges your application requires.
It's possible. Security on AWS can certainly be tricky. It's safer to use ElasticBeanstalk if you don't feel confident in your security knowledge, since it manages keys and IAM roles for you.
Free tier is only for 12 months, and then it gets very expensive - t2 micro instance is 10 USD a month, so that's 20 USD a month with one ec2 and one rds instance.
> 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/) may be the service you're looking for. I haven't tried it, but it looks nice.

Out of the box OpenShift has a variety of languages and frameworks as well as ProstgreSQL, MySQL, and MongoDB database options (plus custom cartridges). You get three free gears (i.e. containers) so up to 3 small apps.

I've only used it to create a small Python/Flask app http://wwos-bitmason.rhcloud.com/ but there are lots of examples and information on the OpenShift blog.

[Disclaimer: I work for Red Hat.]

I've used OpenShift and it's pretty straightforward to use. I don't feel like it's as easy to use as Heroku, but it got the job done. If I left my app idle (I think for 24 hrs or more), I noticed that it took awhile for it to awake when I tried to access it again.
So is it not in fact up for 24hrs if it has to wake up when you try to access it again?
According to https://www.openshift.com/products/pricing/plan-comparison the free plan idles after 24 hours of inactivity (https://developers.openshift.com/en/managing-idling.html)

However you can work around it by hitting your server with an http request every 24 hours, or upgrade to the Bronze Plan which apparently has $0 base price anyway so I'm not sure what the downside is.

Openshift user here: there is no downside. Bronze truly is $0/mo. It's just that you have to given them a CC number (while you do not need to do that for the "free" plan). Why the CC number? Bronze lets you pay for more features if you want them—but there's no obligation.
Do you know how powerfull the free gears are that one gets with each price plan? I have a fantasy basketball league that a few of my coworkers and I play and a free service would be ideal for that. Can the free gear (as a scaled app) manage a postgres database with around 600 MB, or would that be too much?
Are there any ways to be hit by surprise charges on Bronze? I'm assuming setting up a ping via the New Relic trick people used on Heroku is sufficient.

Also, for a relative novice, how easy is it to get a Rails or Sinatra app up and running?

My concern longer-term is that Openshift would go the same route as Heroku. Is there anything about their business model that might indicate that's not a major risk?

I use OpenShift and I think it's fantastic. You can even install your own SSL cert on the free tier (if you register their "Bronze" level, IIRC) for no additional charge. It's perfect for a hobbyist project and then scaling it up if necessary.
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.

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.
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/

Note that, for some reason, they limit regions that can use their paid tiers. So, you can't use them if you're in third world countries like Australia or New Zealand.
This was making the rounds a while ago as half DIY half managed: http://convox.com
+1 Convox is worth looking at. Fully open source, feature-rich and leverages AWS&Docker instead of reinventing the wheel.
Docker originally came from DotCloud, which was basically the same concept/underlying services as this. It was amazing. I never understood why someone would want to use Heroku instead. I haven't used it since they sold that business, but I'm excited to use Convox.
(comment deleted)
> 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.

Unless you've got a whole lot of them, paying $7 to Heroku is probably still your best bet. Especially if you're already familiar with the ecosystem.

INM Bluemix has a very generous free tier. You can run two or three low memory Sinatra apps for free. It is a cool system. I also line AWS and Microsoft Azure, depending on what I am doing.
Google AppEngine is a good alternative for Python, Go, Java, or PHP web apps.
I disagree - do they still lock you to their db? if they do then you are going to have to do a lot of work if you want to move to a different platform
Absolutely not. You can use Cloud Datastore, or you can connect to any database that can communicate over sockets or http, including Cloud SQL. Of note is that Datastore has a free tier, Cloud SQL does not, and Socket usage can incur (some) cost when communicating with other databases.

I've seen many Python apps that connect to a free MongoDB instance hosted on Mongolab.

(also worth noting that Node.js support for App Engine is currently in beta.)

(disclaimer: I work for Google on Cloud Platform)

cool I didn't know that - thanks for the info!
> also worth noting that Node.js support for App Engine is currently in beta.

Is this public? I have been waiting to hear this for ages! Great News.

I am planning a switch to node simply so I can run the same code on the front and back end. I was not looking forward to learning how to administer a server.

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.
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...

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

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.

> 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.

It used to be pretty terrible for python. You couldn't use third party libraries that had C dependencies (e.g. Pandas). Now with docker images you can at least define your instances.
There are definitely some holes in GAE for Go too, but its not that bad.

Most of the pain points are in other areas. Like for example, the datastore API you have access to for Go doesn't even support geo-spatial data or queries. I had to hack my own solution. It made me pretty mad at the time, because how can you not support geospatial queries in a database in an age where mobile location-based apps are so ubiquitous.

So I can see why you would say the platform is stagnant. And there is probably some truth in what you are saying in terms of GAE not getting the same love as other parts of the Google Cloud.

But having said that, I STILL think there is some merit to building apps on GAE, if your app is a simple web server, or single purpose REST API. I have found that its pretty reliable, and its relatively cheap for what you get.

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

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.)

Great to know, thanks for mentioning it.
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/
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
(comment deleted)
There is a whole lot of "I'm an asshole" conveyed in that statement of yours.
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.

You don't need to give lexcorvus a hard time. Isn't it evident from his/her personality that he/she has enough of those already?
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.

(comment deleted)
Funny, but for run of the mill text written by humans you almost always improve things by running

s/it's/its/

Indeed often true; I've noticed the same. In this case, there was a correct use of "it's", so I had to add an extra word to the substitution.
It's incredible what a complete ass you are.
Everything I wrote is genuine and polite (perhaps even overly so). What you wrote is distinctly impolite. Is the irony lost on you? Think of that the next time you're tempted to call someone a nasty name.
The author's email address is in his HN profile (one click away). If you truely wanted to help the author you could have done it in private. I agree with the other users who replied.
I always prefer to correct in private. Most people don't list email addresses in their profiles, so I didn't think to check. Next time I will.

By the way, despite logic, "truly" doesn't contain the substring "true", so "truely" is a misspelling. Your email address, unfortunately, isn't in your profile (and nor could I find it via opencagedata.com), so I hope (though doubt) you'll forgive a public correction.

Any plans for FreeBSD support?
We largely just orchestrate docker - there is a bit of glue around nginx of course - but I don't see why we couldn't support FreeBSD.

Arguably the biggest blocker is actually getting a running BSD instance - I'm going to say I've never successfully installed FreeBSD, though the last time I tried was 10+ years ago - and then potentially creating a `docker` binary that uses Jails but responds as if it's docker.

As it's open source, I definitely wouldn't mind helping someone investigate FreeBSD support :)

EDIT: Looks like there is already docker on FreeBSD, https://wiki.freebsd.org/Docker . I assume you guys have bash, so this should more or less work...

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

This is definitely true, but I think one of the (unwritten) points of the article is that it wasn't always that way. Heroku has become more of a full-service offering, so it's understanding that they've gone a bit up-market in who they cater to, but it's a bit of a bummer for the down-market folks.

I think you're right that Dokku could be a great replacement for such people (thanks for your work!), but I hadn't seen Convox. Looks interesting, thanks for the pointer.

Convox and Otto are occupying similar spaces (with Empire being vaguely similar). Otto has the immutable infrastructure powers of Terraform to fall back on, (not to mention Consul, Vault and Packer), and at v0.0.1 already supports deploying apps to clouds other than Amazon (and has as lower fixed cost for deploying simple apps, because apps using the simple recipe don't need private registries etc, so the only real non-app fixed cost in the simple case is storage of built AMIs).

However, Convox is built to do something considerably more focused, and doesn't have to worry about eg its infrastructure setup bits being usable as a separate product yet ... and it shows in the sophistication of what they've put together in such a short time, like the Postgresql, Redis and Papertrail services. Likewise, though Otto is slated to integrate with Nomad (for containers as a deployment unit), it doesn't yet, and only supports AMIs.

Who wins? We do! I am very, very happy that there's such active innovation happening in this space.

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/ [1] http://deis.io/ [2] https://flynn.io/

Dokku + a $5 or $10 Digital Ocean droplet is a great combo.
I love Dokku, but DOs performance has tanked so hard, and is slowly becoming a haven for spam and "hackers". So many better alternatives.

Current favorites (in no specific order): OVH (don't judge, their performance is wicked, just don't expect support), RAMNode, BuyVM, Vultr, 6sync, SparkNode.

Since we're listing favorites, I'm a fan of TransIP. Similar prices and plans to DO, but in my experience they offer better performance, plus they have a NAS service which makes it appealing if one needs to handle larger amounts of data (up to 400Tb).

No affiliation, just a happy customer.

I hadn't heard of them until just now, but they look really sweet. I wish more companies would offer a NAS service, or a high-availability NAS service — would be nice for Gitlab instances, for example.
Check out LunaNode too. They're an OpenStack provider in Canada that let you not just spin up VM's, but also have your own virtual network, floating IP addresses, block storage, billing by the hour, and some other neat stuff.

I've started using them over DO & Vultr and I've been really impressed.

Hey Joshmn!

Zach here, Director of Support at DigitalOcean. Thanks for raising a few concerns.

I'm going to shoot you an email to learn more about what's not going right for you.

Best, Zach

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.
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 :)
I'm running it on 2GB but it really depends on your apps how much memory you'll need.

Dokku itself has no running processes, it's just Docker and nginx which are both pretty light on resources.

If only these things supported FreeBSD…
you don't need those things if you have freebsd, because you already have jails and, e.g., https://github.com/iocage/iocage .
Thanks. I've been using ezjail, but will take a look at iocage. What I really want, though, is the Heroku-style push-to-deploy workflow that things like Dokku seems to offer.
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.
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.

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.

Salesforce gotta pay for the tallest building in San Francisco somehow.
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.
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/

Nice! Great suggestion :)
For many kinds of tiny one-off hobbyist projects, why bother with servers or dynos at all?

Couldn't help but wonder if the (valid) cost and performance problems the author has with heroku will end up pushing devs faster to Backend-as-a-Service platforms like Parse, Firebase, or something like Amazon Mobile Hub (Lambda on Rails?).

(Note: not affiliated with any of these platforms, etc. Just a lazy mobile developer with lots of things that never make it to the app store.)

Can confirm - I've been using Hetzner for over 2 years now with no problems. I serve quite a large amount of traffic on an EX40 (it was costing me a fortune when I was with AWS).

Although a company I worked for had a Hetzner server where 3 out 4 of the hard disks failed. So it might be wise to do regular backups off-site.

This was most probably due to shitty Seagate harddrives, the ST3000DM001 which are failing left, right and center...

Quote:

Beginning in January 2012, Backblaze deployed 4,829 Seagate 3TB hard drives, model ST3000DM001, into Backblaze Storage Pods. In our experience, 80% of the hard drives we deploy will function at least 4 years. As of March 31, 2015, just 10% of the Seagate 3TB drives deployed in 2012 are still in service

https://www.backblaze.com/blog/3tb-hard-drive-failure/

Edit: They (Hetzner) have since long stopped putting those drives into servers and if such a HDD shows signs of failure they're replaced by support no questions asked...

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.

I've been using them for 5 years and never heard of this. They did start to offer 2 step auth recently.
Exactly. I found a similar configuration for 26eur a month on their server bidding platform. Besides smaller projects and demo/staging instances for clients I get almost 3Tb of "cloud storage" by running owncloud for the price. Even when I payed double for the same hardware I couldn't understand the appeal of heroku. Setting up a web and database server as well as stuff like redis and message queues is not some arcane art. Plus it's much easier to troubleshoot performance problems when you have full control over the environment.
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.

(comment deleted)
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.
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.

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.

> 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)

So use an opensource PaaS.

I like Cloud Foundry, which I've worked on. All the IP belongs to a legally independent foundation. Some people like OpenShift, which is from Red Hat.

There's no reason to roll your own. Time spent half-building a half-PaaS is time that could be spent on developing stuff with user value.

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?

(comment deleted)
(comment deleted)
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.

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.

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.

Jesus $50 a month? How did you end up finding such a team?
Off-shore, non-dedicated, two pages a month, max 20 billed hours a month. Nothing spectacular. I mostly just need them to lock things down, no insane hadoop setups or anything like that.
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)

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?
(comment deleted)
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.

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.

For 90$/month I can get 32GB 8C Xeon with 200GB SSD on Hetzner.de. Wonder how much Herokusauce I can run on that?
Lowendbox is your friend [0].

[0] http://lowendbox.com/

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.

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.

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.

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.

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.