Judoscale

Judoscale our new language-agnostic autoscaler add-on in the Heroku marketplace. It is the next evolution of Rails Autoscale. While Rails Autoscale was the best autoscaler for Rails apps, Judoscale is the best autoscaler for every Heroku app.

Judoscale keeps everything that makes Rails Autoscale great, plus…

  • Autoscaling for Heroku apps written in any language or framework.
  • Beautiful, live-updating metrics.
  • Faster autoscaling than ever.
  • Pre-scaling for expected traffic spikes (coming soon).
  • Autoscaling triggered by Heroku memory & timeout errors (coming soon).
  • A public API (coming soon).
  • Bad dyno detection with automatic restarts (coming soon).
  • Extensibility via Zapier (coming soon).

What does this mean for Rails Autoscale?

Judoscale doesn’t yet have all the features of Rails Autoscale, so Rails Autoscale is still the preferred autoscaler for Rails apps. Since Judoscale is built upon the Rails Autoscale codebase, we’ll be integrating as many Judoscale goodies into Rails Autoscale as we can.

When Judoscale has reached feature-parity with Rails Autoscale, we will retire Rails Autoscale from the Heroku marketplace. We will continue to support Rails Autoscale customers forever. Since the two apps share the same codebase, Rails Autoscale will never get “stale”.

Many Rails Autoscale customers will want to migrate to Judoscale, but it’s completely optional. There are some features that can only be offered in Judoscale (see “How is Judoscale different” below). We’re not there yet, but when the time comes it’ll be a smooth, optional migration process.

Why build a brand new add-on?

Unfortunately there’s no way to rename a Heroku add-on, and “Rails Autoscale” doesn’t work well for a framework-agnostic tool.

How is Judoscale different?

Judoscale adds a log drain endpoint for your Heroku apps, so we’re able to measure things like response time and throughput without a language-specific adapter. This also enables monitoring and autoscaling based on Heroku errors or memory consumption—things an adapter library would never see.

Adapter libraries will still be available for the most popular languages in order to measure request queue time on web dynos and job queues on worker dynos. (This is how Rails Autoscale currently works with the rails_autoscale_agent gem.)

What’s the status of Judoscale?

Judoscale is launched and ready to use. Response-time-based autoscaling works for app written in any language, and we have adapter libraries for Ruby, Node, and Python.

Our current focus:

  • Continue to build out our adapter libraries—particularly with support for more job processing libraries.
  • Documentation
  • Feature-parity with Rails Autoscale (scheduled autoscaling, handle long-running jobs, Slack notifications).
  • Bring the new Judoscale UI to Rails Autoscale
  • Add a free/trial plan for Judoscale

Getting help

As mentioned above, the Judoscale documentation site isn’t ready yet. Until then, please refer to the Judoscale docs in the Heroku dev center.

If you have any questions that aren’t answered there, please email us.