Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you run utility services on Heroku?

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?

like image 396
Matt Alcock Avatar asked Jun 14 '12 14:06

Matt Alcock


People also ask

What can you do with Heroku?

Summary. Heroku is a cloud platform that lets companies build, deliver, monitor and scale apps — we're the fastest way to go from idea to URL, bypassing all those infrastructure headaches. Apps are transformative — apps are how customers now engage with companies. Developers are critical to app success.


1 Answers

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.

like image 103
aaronsw Avatar answered Sep 28 '22 04:09

aaronsw