Ask HN: Google Container Engine vs. Heroku vs. Beanstalk?

17 points by dvcrn ↗ HN
A lot has changed since the previous comparisons between the services when it was mostly App Engine vs Heroku one command deployments and scaling.

Now with containers being the new kid on the block and more and more providers allowing easy container deployments, what does HN think about these services?

If you were to deploy a application for your new startup or hobby project, which service would you pick and why?

10 comments

[ 4.3 ms ] story [ 34.3 ms ] thread
Depends on the scale, for smaller projects Heroku (free tier is actually pretty solid for simple Flask/node apps), for larger, probably Google. But I'm bias, I tend to stay away from the AWS ecosystem.
Why you tend to stay away from AWS ecosystem?
For ease of use alone and fastest time to market (aka least messing around for a web app) I'd rank them as:

1) Heroku

2) beanstalk*

3) GCE

* Currently working extensively with beanstalk. Containers and instances are still more of a pain than Heroku's basic model but they can be pretty flexible.

I'd go with Dokku, which is an open source version of Heroku and (like Heroku) let's you go with the traditional "buildpack" deployment or more control over the container via a Dockerfile while keep the simple deployment workflow that made Heroku popular.
I use dokku for my sode projects and proofs of concepts.

There is also deis for clustering. [1]

[1] - http://deis.com

Might as well add Redhat's Openshift offering. [1]

And, being open source, you can DIY with Openshift Origin. [2]

[1] - http://openshift.com

[2] - http://openshift.org

Openshift V3 (container based) is in dev preview currently. V2 is not based on containers. Have been using V2 for personal projects and it is good.
I use Google Infrastructure personally. I'm very happy with it.

If I were you I'd look at kubernetes. Not just because it's great, but because it has cross-provider support. Configuring it is fairly easy, and you can then deploy locally on dev environments, to Google, to AWS, to Azure etc.

I favour this over solutions where you are locked in.

If your service is non-trivial, composed of multiple services or a variety of workloads (long and short lived processes), Google Container Engine (aka Kubernetes) hands down. It is the most versatile, solid, cost effective option IMO.

If you just have a simple app with modest scale needs, the simplicity of Heroku is tough to beat.

Lately pushed a (MEAN hobby) web app to pivotal web services - it took minimal setup and app was up and running within a minute or two.

Can somebody using it in production comment on how its compared to others - pros and cons?