Question

Heroku is fantastic for prototyping ideas and running simple web services, I often use it to run Python web services like Flask and Django and try out ideas. However I've always struggled to understand how you can use the infrastricture to run those amazingly powerful support or utility services every startup needs in its stack. 4 exmaples of services I can't live without and would recommend to any startup.

  • Jenkins
  • Statsd
  • Graphite
  • Graylog

How would you run these on Heroku? Would it be best just getting dedicated boxes (Rackspace, e.t.c) with these support services installed.

Has anyone one run utility deamons (services) on Heroku?

Was it helpful?

Solution

There are two basic options. The first is to find or create a Heroku addon to accomplish the task. For example, there are many hosted logging solutions you can use instead of Graylog; Rails on Fire or Travis can be used instead of Jenkins. If an appropriate addon doesn't exist, you can effectively make your own by just running the service on an AWS EC2 instance.

The other alternative is to push the service into being a 12factor application so that it can run on Heroku as well. For example, you could stub out whisper's filesystem calls so that they store in a backing service instead. This is often pretty painful and brittle, though, unless you can get your changes accepted by the upstream maintainers.

OTHER TIPS

you could also use another free service in conjunction with it. OpenShift has a lot of Java related build services and tools that can be added.

I am using a mix of heroku, openshift, mongolab and my own web hosting. Throw in dropbox and box for some space...

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top