Heroku CI Is Now Generally Available
blog.heroku.com
blog.heroku.com
However, I run a machine learning service which requires ~3GB of RAM, which means I have to pay--at minimum--$500/mo on Heroku to get a single "Performance L" dyno. Google charges me somewhere in the neighborhood of $35/mo. I'm OK paying a little more for Heroku's convenience, but not 15x.
To any Heroku PMs here, are there plans to allow for custom-sized dynos or additional tiers?
Right now I rent a large server to host multiple things because I don't like the limitations of their free tier. There's something very elegant about having all your "apps" isolated and with their own settings but the price must be just right. I really enjoyed using Heroku (for a client) because maintaining my own servers, even for hobby stuff, feels like such a waste of time.
[1]: http://datacol.io
$35 vs. $500 means that when you are in the bootstrap phase you do not use Heroku. Meaning you do not get used to the very nice quality of life features they have for deployment, CI, etc. Then by the time you have income or an investment switching to Heroku makes even less sense because you've already invested into whatever stack you are using.
With the availability of high level tools on AWS and GCE, it does not take that much work to get to a functional system for CI and deployment. My small team of three at my last gig managed to tie Bamboo to a large scale AWS deployment with what amounted to basically a side project worth of effort.
edit: Sorry, I'm stupid.
I work for Heroku, review apps is one of my favorite features we've launched.
I love that testpacks are expected to output TAP, a protocol that more of the testing world should support. http://testanything.org/
In my opinion CircleCI's configuration UX is actually really poor—compared to what it could be, and what Heroku provides.
In CircleCI, you're configuring against a moving target installation of binaries, and whenever CircleCI decides to upgrade Postgres or Redis or whatever, your tests start failing and you don't know why. Then you have to try to figure out how they've configured the services, and what it will take to use Postgres 9.5.3 instead of 9.6.1—big hassle.
Then there's the little UX things—in CircleCI you can't read the config vars you've set previously from the interface, which means you have to go through the super tedious process running a new build, SSH'ing into it, and then reading them from there, just to remember what user your Postgres connection URI uses.
On top of that CircleCI's documentation is much worse than Heroku's, so re-learning how to do all the random configuration things you need to do each time is more difficult than it could be.
I think anything that reduces time spent messing with CI servers is a big plus, because that work is usually the most frustrating work there is. $10/mo is nothing compared to wasting a day dealing with CI configuration every once in a while.
This could be resolved with proper tooling. Depending on what you're doing, Docker, Terraform, Make, build scripts, etc can be used to make every environment as identical as possible.
"n CircleCI, you're configuring against a moving target installation of binaries, and whenever CircleCI decides to upgrade Postgres or Redis or whatever, your tests start failing and you don't know why."
This is a very fair concern and has been voiced in the past. CircleCI 2.0 does not have that issue anymore, as the other commenter pointed out.
"in CircleCI you can't read the config vars you've set previously from the interface"
This is common in webapps and is for security reasons. If the variable value isn't secret, such as the local DB URI, you can set it in `circle.yml` or `.circleci/config.yml` instead. Fully visible and now versioned.
"On top of that CircleCI's documentation is much worse than Heroku's"
This I take very personally as docs are important to me and I work on them constantly. Our docs are open-sourced on GitHub (https://github.com/circleci/circleci-docs) if you'd like to help make them better. If you prefer a conversation, you can always reach out to me on CircleCI Discuss (https://discuss.circleci.com/) or DM me on Twitter (@FelicianoTech). I would LOVE to improve docs.
Your ultimate point of spending less time with CI servers is 100% the goal for SaaS CI. If Heroku, CircleCI, Travis CI, or any others cause you to spend more time in the tool, then they're failing.
disclaimer: Developer Evangelist, CircleCI
Huge.
Imho, given their pricing, there is a lot of room for competitors.
AWS has tried several times, they'll eventually win this one though.
They have tried once, and it's called AWS Elastic Beanstalk.