Share your Heroku experience please

Heroku has got a lot of nice features, and I’m curious regarding what it’s like to run Meteor on their service?
What has your experience been like?

I am also very interested in this question as I have always used Heroku and since I cannot make it works with the “officiel buildpacks” https://github.com/jordansissel/heroku-buildpack-meteor.
And I just cannot see the value of a $650 monthly price of galaxy…

Heroku does not seem the best fit as this moment. It does some different things with those dyno’s which makes running Meteor harder compared to simpler solutions like Modulus and DigitalOcean with MupX.

Do you have experience with Heroku, or is this more of a hunch?

Yup tried it and the other ones also except Galaxy. DO with MupX works nice. Modulus is older but proven solution which is very stable. For database experience with Compose which works perfectly fine.

For heroku you might try clustering with @arunoda’s packages. Heroku tries to be smart but it did not feel like a good fit for Meteor because Meteor also tries to be smart.

I’ve had a very good experience using Heroku in production, and a poor experience with Modulus prior to that. Modulus had some nice charts and clearly caters to Meteor deployments, but my site would randomly spike in memory usage and the app would crash. Ultimately, one day a few months ago I ran some meteor updates in development, pushed those to modulus and while the build worked, but the app wouldn’t spin up. So I spent about 30 minutes deploying to Heroku instead, and having looked back.

The only downside I’ve witnessed is the Heroku build time is now in the 5-7 minutes range, whereas it was 1-2 minutes on Modulus. However, my app on Modulus would stall for about 30 seconds while the newly built app was spun up, and my users would get a cryptic “cannot connect to app” message, whereas Heroku spins up the new app, then switches out with production. This is awesome, because it’s just like development in that you can watch the hot code push in action while in production. Other than that, for the same price, the Heroku app is faster than what I was getting over at Modulus, I have access to a bunch of third party addons – like logging and ssl – and I’ve got that easy one-click rollback if necessary.

I’m not particularly sure by what @lucfranken meant here:

Perhaps he/she can elaborate. Heroku now has “sticky sessions,” so multiple dynos is no longer an issue.

@sabativi, make sure your using heroku buildpacks:set https://github.com/maxko87/heroku-buildpack-meteor.git --app yourapp, as the jordansissel buildpack hasn’t updated to Node 10.40 which is needed for Meteor >= 1.2.

(Also note, I’ve not used Modulus in several months, so perhaps many or hopefully all of my issues are now moot.)

1 Like

That was not available or not active when I tested. Sounds good if that’s now fixed, will try it again sometime!

Aha ok, that’s very interesting. Nice to hear that it’s working, and about how they spin up the new app before exchanging the old one :smile: ! Modulus still have this flaw.

I’m using Modulus right now, with Compose and I’m a happy customer, at the moment.
But Heroku has a lot of good features which makes me look at them, like two factor authentication, Pipes, etc. Modulus also offer SSL, but through ExpeditedSSL.

Now I’ll definitely have to take another look at Heroku.

Heroku has been pretty good for me. I switched from Modulus once Heroku announced sticky session support. Modulus was more expensive (especially for small apps) and Heroku has a much better interface IMO. I just use the buildpack with the horse: https://github.com/AdmitHub/meteor-buildpack-horse. Makes it easy to support Spiderable. Builds are slow but that is not really a big factor for me.

I’m still waiting out on a lower Galaxy tier to see if that will provide cost savings.

Tested it.

In my opinion it’s much more complicated but I am used to MupX so that might make a difference. Deploy succeed but the app gives an application error for example. Also SSL seems to be quite some steps to install.

But I am biased since I have a working solution so for now that’s not direct a fair comparisation. Also it’s just a test deployment, not a well tested production release with many users.

Anyone can elaborate how to deploy in heroku. How to set up the mongodb database that I have created in my localhost to move on mongolab? I don’t use addon:mongolab in Heroku I just want to make it manually and set the mongo uri with my MongoLab Database because I don’t have credit card to be verified.
How to build or export my local mongodb to mongolab ? I use this buildpack https://github.com/jordansissel/heroku-buildpack-meteor

I’m evaluating Heroku right now, but so far - it’s been awesome!
Things I like:

  • automatic deploy from git repo
  • two factor authentication
  • really good docs
  • preboot (described earlier in this thread)
  • since I am in the EU, I enjoy being able to run my app on the same datacenter as my DB
  • pipelines for pull request (disposable apps created upon pull requests to allow team mates to test)
  • better logging (machine logs as well)
  • auth trail logging by default, see who’s done what when
  • rollback to previous deploy with the click of a button
  • great resources, such as the http://12factor.net

Things I miss, coming from Modulus:

  • the mobile app

I’ve got two services running on Heroku with my DB on Compose.
We use this buildpack: https://github.com/RocketChat/heroku-buildpack-meteor

1 Like

Can you explain what spiderable packages you are using on heroku. I am using the same buildpack and ongoworks spiderable with phantomjs installed in node modules. but unable to get it working my curl still gives empty body.