
Ask HN: Best alternative to Heroku? - edouard1234567
Are there other viable/hands-off/scalable rails app hosting solutions you'd recommend?<p>What I love about heroku : super easy to deploy and maintain.<p>What I don't love about heroku : poor support, uptime and performance
======
acjohnson55
In my experience Dotcloud has the advantage of giving you more control over
your instances and the ability to SSH into them. But I had issues with the
reliability of deployment there. I used to love the sandbox, but I dropped
Dotcloud as a provider after that was removed without a drop-in replacement.
However, I still use them to serve Redis, and so far, it's way cheaper than
using a dedicated Redis service.

I looked into AppFog, but it was not nearly customizable for my fairly intense
Django app. I found too much of the configuration to be baked in.

On Heroku, I really like the ease of connecting third party services, and the
fact that many of those services have free tiers. I love their New Relic
pricing as well. I like that Foreman/Honcho make for a pretty awesome staging
environment. What I don't like is the inability to directly connect to dynos.

So far, of the products I've tried, Heroku seems the closest to being fully
baked, but it's still a ways away from hitting it out of the park. I'm really
glad this question was brought up, even if it's quite frequently asked. There
are so many players and the scene is so rapidly changing that information is
constantly going out of date. It seems to me that what's really needed is some
sort of ongoing comparison tool/site to track the whole PaaS scene.

~~~
pearkes
> giving you more control over your instances and the ability to SSH into
> them.

FWIW you can do:

    
    
        heroku run bash
    

Which let's you mess around on a new dyno (not an existing one).

~~~
edanm
Didn't know about this. What's the difference between a new dyno and an
existing one? Why would they act differently?

~~~
ncrit
They don't act differently, its just a dyno separate from the web and other
processes.

------
michalkw
The one hosting I'd recommend is of course Shelly Cloud:
<https://shellycloud.com/> I'm a co-founder and I can tell you we have
everything you asked for:

\- Super easy deployment. Just as in Heroku you just do a git push and we take
care of the rest. We also offer integrated setup for databases and file
storage, so deployment of Ruby applications is even more streamlined than on
Heroku.

\- Super easy maintenance. We take care of monitoring, and broken processes
and machines are replaced automatically. You also get logs and backups for
free.

\- Great support. We're Ruby programmers ourselves and we're easily
approachable. Even if you're not our client feel free to visit our Campfire
room at <http://support.shellycloud.com/> . We help with deployment to our
platform and day to day usage problems for free.

\- Highly reliable architecture. We offer components (like mongo replica sets)
that allow you to create applications with very high uptime.

\- Great performance. In our model you get something comparable to an EC2
instance, so even our "small" server gets you much more power (and RAM space)
than a Heroku dyno.

I hope that this at least piqued your interest. Feel free to ask questions,
I'd be glad to answer them.

~~~
rrrodrigo
+1 for that, I've been using Shellycloud for almost a year now and the support
has been great

------
tszming
We are using AWS Elastic Beanstalk for Java and quite satisfied for the ease
of use, and they also support Ruby now:
<http://aws.amazon.com/elasticbeanstalk/>

The best thing about AWS Elastic Beanstalk is you can still login into the
machine in case you need to troubleshoot for some low level stuffs.

~~~
ericcholis
I evaluated Elastic Beanstalk for PHP about a year ago. I was impressed with
the features I had at my finger tips. But, I couldn't get my custom PHP AMI to
work the way I wanted (likely due to my own errors). So, I opted for another
solution.

I'd like to think that Elastic Beanstalk is Amazon's answer to Heroku

------
adambreen
You might try <https://www.engineyard.com/> instead. You might also want to
look at Amazon's Elastic Beanstalk.

Your "not loves" don't ring true for me though- perhaps you'd like to
elaborate there?

I've been running production apps on Heroku for more than 2 years now, and
there has only been one occasion where their uptime impacted the apps'
availability. Even during Hurricane Sandy, my apps were up 24/7, so it's hard
to understand your comment.

Yes, they do have non-critical issues at times (their API goes through brief,
but not infrequent periods of instability)... but this only impacts your
ability to deploy/manage an app, not the app's actual uptime.

~~~
edouard1234567
I guess my experience has been different. I can probably count a dozen serious
incidents since I've been using them (1.5 years). Database corruption,
unexplained network issues, long period of unavailable API (does impact uptime
or performance if you need to push an urgent bug fix or timely data update).
But what convinced to switch or at least to invest time to see if there's
something better out there is the poor customer support. At the beginning I
was a big fan of their support team, super responsive and knowledgeable but in
the last 9 months or so it's been increasingly frustrating interacting with
them. No more support during the week-end, wait 2-3 days between each email
and getting more and more canned responses that don't really address my
problems.

------
nwenzel
OpenShift from Red Hat is often cited as a competitive offering in Heroku vs X
reviews. When I first checked it out they hadn't yet come out of beta.

Uses git just like Heroku. Has a similar "dyno" concept but calls them gears.
Has a free developer version.

Don't know about support today, but the people I talked to from the team were
incredibly helpful.

~~~
petepete
I haven't deployed anything 'real' on OpenShift, but having played and
experimented with it, I'm rather impressed.

------
altharaz
I'd definitely recommend <http://clever-cloud.com/>

It scales automaticaly, analyzing the resource you need on your server, and
you only pay what you use, like electricity.

It supports actually PHP, Scala, Ruby, Java, Node JS, and it's still
upgrading. Also they have deployed PostgreSQL, MySQL, CouchBase and they are
working on MongoDB integration, and ElasticSearch as well.

This company is pretty young, so they have a good support, as they care for
their customer. I don't hesitate to send them an email and then give a call,
or to tweet their account. Usually I get an answer under 2 hours.

Short story: I used to work with Play 2.0 and MongoDB, and had several issues
on Heroku because of a problem on their side with the MongoDB driver. They
didn't help in 3 days. With Clever-Cloud, everything worked perfectly, and
they even helped me to deploy my app the first time. I immediately migrated my
apps from Heroku, no regrets since.

~~~
andyhmltn
I have never heard of this service, but looking at their pricing page, they
seem to have made it as obscure as possible.

~~~
altharaz
> I have never heard of this service

Maybe because it's French eheh. We don't have the same politics to go global!

For their pricing page, you buy Drops, which is like fuel for your car. They
offer a better documentation here: <http://doc.clever-cloud.com/pricing/> It
will go from $600 (classical apps) to $2400 (huge apps) a year.

They designed their offer to be cheaper than AWS with same or better
performances.

~~~
Mekza
I'm running an ecommerce website on clever-cloud (sales revenue: €1.5M/y). It
works perfectly.

------
grrrando
I've had a good time working with Blue Box Group (<https://bluebox.net/>).
I've been using them as a backup for an uptime-critical festival application
that runs on Heroku.

They helped me by setting up a Capistrano script for me that I run alongside
my Heroku pushes. They set up the entire stack according to a specification I
talked them through. And they helped me write a script to keep my backup DB in
line with my production DB (Heroku Postgres). It's not nearly as quick as
provisioning a Heroku app yourself, but if you can spare the week it took to
get all that put together with just a little hands-on work, it's not bad.

Overall good experience, good support, if a little slow to respond, but I
think mainly because they had one engineer working my case for the entire
process, who I'm sure was also working with other customers. But having that
1:1 relationship is good, too. Tradeoffs.

~~~
WillieBKevin
I second the vote for Blue Box. We moved from Heroku 8 months ago and have
been extremely happy.

I agree with grrrando, there were a few instances of slow responses during
setup, but I also agree thats because you're talking to an individual in that
case, rather than a support team.

Two of my favorite things about Blue Box: 1) On the first sales call they had
a knowledgeable engineer that discussed the specifics of our app. 2) With
their online chat I get answers from an engineer within minutes, even on
nights or weekends (they have phone support too, I prefer chat)

------
wisesascha
I don't use services like Heroku (expect for my hubot instance) but I have
researched a couple and I have found dotcloud to be very good. They support a
large amount of different services, and they have open sourced a lot of their
stack

------
themgt
At Pogoapp we're basically building a Heroku-compatible platform (buildpacks +
S3/API-compatible) on our own hardware, with support for storing data on the
local filesystem (to run your own databases, etc).

We're also really happy about Dotcloud open-sourcing hipache and docker, and
it seems like at least some sort of quasi-standardized PaaS-stack is in the
near future, in the same way that you can shop around for LAMP hosts.

<http://www.pogoapp.com/>

------
ryanhandby
I am having a similar problem with heroku at this current point in time as I
have been made aware that they do not provide access to web sockets which is
definitely the direction I am wanting to go with my startup. Do any of these
solutions cater for web sockets?

------
jedc
I've really enjoyed building on Google App Engine. (Disclaimer; I work for
Google, but not in engineering)

You can use the Datastore for NoSQL data, or connect with CloudSQL if you want
to use a traditional MySQL database. It's quite forgiving when it comes to
mistakes; and GAE will automatically spin up new instances as traffic
warrants. (No need to manually add/remove dynos).

I know people have had problems with support, but at the same point I
understand that if you pay the ($500/year?) for Premium support that the team
is really responsive.

For me, as a very novice developer, I had enough on my plate building my app.
It was nice to leave ALL of the sysadmin work to App Engine...

------
opdemand
You should check out OpDemand's EC2-based Ruby on Rails stack. Workflow is
also very similar to Heroku (one click deploys, or `opdemand deploy`) but you
run it off your own AWS account:

[http://www.opdemand.com/docs/ruby-on-rails-quick-start-
guide...](http://www.opdemand.com/docs/ruby-on-rails-quick-start-guide/)

The stack automatically provisions, monitors and maintains an ELB, EC2
Instance(s), RDS and all the networking and key pair infrastructure you need.
Most Heroku apps don't even need to be modified due to OpDemand's use
Procfiles and standard dependency management. Deployment automation is all
open-source Puppet hosted on GitHub.

------
pwim
Engine Yard: Slightly more low level than Heroku, good support, uptime, and
performance.

------
kevink245
Setup a centOS server with rackspace and use badger-rails to deploy with same
workflow at Heroku. badger-rails takes a fresh centOS server and installed all
dependencies for ruby and rails. Low-stress.
<https://github.com/curiousminds/badger-rails>

~~~
futhey
BYOB - Best of all worlds

------
gfodor
Haven't seen AWS OpsWorks mentioned yet. Its lower level but it's been pretty
great so far. (And it's way cheaper)

------
0stanislav
As far as Node.js is concerned, Stackful.io [<http://stackful.io> ] provides
an easy (and low-cost) way to deploy and scale your app on Digital Ocean SSD
servers.

Meteor support is coming next week, and Rails will follow shortly.

(Disclaimer: I do work at Stackful.io)

~~~
sergiotapia
Your 8$/month plan brings a tear to my eye. My ONLY gripe against Heroku is
the lack of a hard drive to save things in, for example user uploads, etc.

Does Stackful offer the hard drive to use as we please? If so, you just got
yourself a customer. (As soon as you support Rails)

~~~
0stanislav
Yep. You have your app running on a Digital Ocean virtual instance and all
resources there are yours.

The $8 plan, for example, offers 20 GB SSD storage, and this includes files
and database.

You can sign up, so we can notify you when Rails support is ready.

------
jaboutboul
Red Hat Openshift has been pretty solid for us for over a year and is
incredible easy to use.

------
schiang
If you want a very simple solution, check out AWS Elastic Beanstalk. It's
really easy to setup and you just need 1 simple command to deploy (git
aws.push). Not sure how big your app is but they give you 1 year free of a
micro instance too.

------
cr4zy
Not really hands-off, but for an open-source alternative, rubber is
interesting. If nothing else, but for the ideas on how to automate a scalable
rails app on ec2.

<https://github.com/rubber/rubber>

------
Ubuntoo
Well, you can try <https://www.cloudcontrol.com>

They also support Heroku's buildpack API and compared to Heroku, they have a
lot of support options.

------
dagw
While on the topic, does anybody know any Heroku alternative that offers
postgis, preferably at a more reasonable price than the 200$/month Heroku
charge.

~~~
craigkerstiens
PostGIS is now available in public beta on all production tier databases
(including the Crane/Kappa plans at $50/$100 a month) -
[https://postgres.heroku.com/blog/past/2013/4/30/building_loc...](https://postgres.heroku.com/blog/past/2013/4/30/building_location_based_apps_with_postgis/)

------
acjohnson55
Does anybody have experience deploying Django to Elastic Beanstalk? I'd love
to hear a comparison between them and Heroku.

~~~
ConceitedCode
When I finally got it to work it worked great, but took me a good few hours to
figure out some stuff that should of been documented at the time, but couldn't
find it. That's just apart of trying something new though. I tried it when it
was first announced so should of improved documentation since then.

------
pbreit
EngineYard, DotCloud, AppFog. But I'd be surprised if you find better support
and uptime. Hard to say about performance.

------
apunic
If on Node Nodejitsu is highly recommended.

------
stephanos2k
I like CloudBees (Java only). It's powerful, has high reliability and auto-
scaling baked in.

~~~
acjohnson55
If I recall correctly, it's not Java-only anymore. I started setting up a
Jenkins server for CI for my Django app. I never finished getting the
configuration right, and I'm not 100% positive you can serve Django from it (I
don't see why you wouldn't be able to though), so I can't give an endorsement
backed by experience, but it's something to look into.

------
ibr9
try cloud66.com with digitalocean

~~~
bobfirestone
I have heard good things about this combination. You buy your on VPS setups to
get redundancy or regional dispersion and cloud66 manages the deploy.

------
michaelrbock
Not for rails, but Google App Engine has been a pleasure for Python and Java
web apps.

------
exiledsorcerer
I lovvvvvvvvvve Appfog.

