Okay, okay, I won’t bait-and-switch you five paragraphs down into the article: Judoscale is a subscription-based autoscaling service and we do make our living from paid subscription models. But before you click away, hear me out — Judoscale is actually free. Both as in the ‘beer’ model and as in the net-cost model. Yes, there are paid tiers of Judoscale, but even when you’re using those, I’m going to prove to you that your net cost will still be less than without our service.
This isn’t a “surprise, we’re making things free!” post, it’s a “umm y’all know we’re already free, right?…” post.
Free-as-in-Beer
So, for starters, Judoscale has offered a completely free-as-in-beer plan for a couple of years now. We call it our “White Belt” plan, and it is indeed a completely free subscription which allows your app to have our fully-featured autoscaling watching your back 24/7. It’s the same level of reactivity, same speed of autoscaling, etc. — it’s the same exact product as our paid plans, the only difference is that we limit the number of actual auto-scales we execute for that application. That is, the number of autoscale events…
…is limited on the free tier. That limit is twenty. The White Belt plan gives you 20 autoscale events per month. That means your application can automatically scale up and down according to your queue times (the only way you should do autoscaling!!!) for free-99. (But not 99, obviously).
We built the free tier this way (a limited number of scale events) instead of degrading the service or adding other guards because we wanted all of our users to experience the same speed and simplicity of autoscaling. We’re biased, but we think Judoscale kicks butt and saves a ton of headaches. We wanted our free users to experience that same peace. With the White Belt plan, they can!
Ultimately what a limited number of scale events gives you is a gentle form of protection against virality. If you’re running an early-stage app or a proof of concept and it suddenly goes viral (yay!), you’re going to need autoscaling… about 5 minutes ago. The single dyno or service that your application was running on for its couple-of-hundred hits a day just won’t be able to handle a large influx of internet traffic. But Judoscale’s White Belt plan has your back! 20 autoscales is more than enough to safely get you through a massive-traffic day and, if nothing else, give you enough time to get your bearings.
The white belt plan can also be super helpful for background job systems that experience an influx of work but still need to be timely. Maybe your app hasn’t suddenly gone internet-viral but it has suddenly experienced a big problem: a third party API your jobs constantly hit has gone down. Now your jobs are failing, your retry queue is blowing up, and other jobs can’t get in line fast enough to run. You’re getting clogged up with failing jobs! Judoscale’s autoscaling, while not the perfect solution to this problem, would scale up your background workers to ensure that your critical jobs do get the runtime they need.
Finally, let me give you three other tidbits about our White Belt plan that make it even better:
We designed the White Belt plan with 20 autoscale events in mind, but honestly, if you hit your limit and need a few more, just send us an email and let us know! Judoscale is an extremely relaxed team of two-and-a-half devs and we’ll help you out!
Our support for White Belt plans is the exact same as our paid tiers. You’ll have first-class support and direct access to us — the very same people that wrote (and continuously improve) the code behind Judoscale and its adapters.
Don’t tell Adam I told you this, but you can increase the number of dynos/services you autoscale by for those 20 events! That means instead of scaling up from 1 dyno to 2, you can jump straight from 1 dyno to 10 and only use up one of your monthly scale events! The White Belt plan can be pretty powerful 😅
We’re extremely committed to supporting a free tier and we love what we’ve built with the White Belt plan. Judoscale will always have a free (as in beer!) plan. We’re never going to be the company that kicks folks off or forces them into paid plans to retain a service they were already receiving.
✅ Tip
If you ask us, there’s no reason that every application on Heroku, Amazon ECS, Render, Fly, or Railway shouldn’t be running Judoscale’s free White Belt autoscaling. It’s like an insurance policy… but with 100% less shady brokers and 100% more free.
Free-as-in-Savings
Okay, now that we’ve got the White Belt plan clearly explained, let me show you how Judoscale is free… even when you’re paying for it!
At a high level, the math is simply that, compared to the cost of running an application without Judoscale, your application hosting cost will likely be cut in half, and, even subtracting the cost of the Judoscale subscription, you will come out very ahead.
Visually, it means that this:
Yields this:
…which is a pretty nice diagram 😎. Case closed!
Not really — let me give you some real numbers and scenarios to actually prove my point here.
For starters, here’s the core vital that we’re illustrating here: on average, Judoscale customers end up with an average scale (dynos, instances, etc.) of only 50% of their previously-static allocation. That’s a mouthful, and averages aren’t perfect, but we’re confident in saying that almost all applications will end up using 40-60% fewer compute resources in any given month when running Judoscale than if they aren’t running Judoscale.
Ultimately, this shouldn’t be too surprising — constantly, dynamically allocating and reallocating your dynos / services to meet the needs of your actual traffic means you get to ride the peaks and valleys. That saves you from alerts, downtime, and capacity problems at the peaks. But it also saves you from overspending for servers that aren’t doing anything at the valleys! Instead, Judoscale simply scales your application down to a reasonable number of dynos for that traffic level.
👀 Note
Curious how we figure out how much to scale an application up by or down by? The math and logic is actually pretty complex. We wrote all about it in “How to Roll Your Own Autoscaling”, which, of course, is always an option too. But a quick hint / tl;dr on that article: you probably don’t want to roll your own autoscaling 👀
The reality is that, while all applications have waves of traffic, schedules of peaks, and important times of needing capacity, your application is probably in some kind of lower-traffic state over 50% of the time, day-to-day. Judoscale’s autoscaling allows you to save the dollars you don’t need to be spending during those times!
So, okay, we have a couple of numbers to work with here. Let’s run a couple of scenarios.
Let’s assume we have a small-to-medium sizes Rails app running on Heroku. We’ll follow some of the previous guidance we’ve written about and say that we’re running Standard-2X dynos for our web process. Let’s also say that we’ve got two background job processes that handle all sorts of jobs for us: a less_than_5_seconds process and a less_than_5_minutes process; both running on Standard-1X dynos.
✅ Tip
We named the background job processes the same as the names of the queues they manage, which in turn is the expected amount of latency acceptable for those queues! We highly recommend this approach and wrote more about it in “An Opinionated Guide to Planning Your Sidekiq Queues”. Check it out!
Let’s say that, without Judoscale, we’d need to set our web dyno count to 5 dynos to safely handle all of our traffic throughout the month. We also set our less_than_5_seconds process to run 3 dynos just to make sure that jobs hitting that queue really do run in less than five seconds. Lastly, we set the less_than_5_minutes process to run 1 dyno because it’s our low-priority place. If jobs take slightly longer than five minutes, that’s okay.
Let’s do the math to determine what our total hosting cost is with this configuration…
Process
Dyno Cost
Number of Instances
Total
web
$50/mo (Std-2X)
5
$250
less_than_5_seconds
$25/mo (Std-1X)
3
$75
less_than_5_minutes
$25/mo (Std-1X)
1
$25
$350
Ouch, that’s a hefty price tag! Okay, hold that thought.
Let’s now figure out how much Judoscale would cost to autoscale our application. Of course, as noted above, the White Belt plan is always an option. That would autoscale our app for free, all features included… but since we have daily traffic swings and background job variability, 20 autoscales per month won’t be enough. We’ll need a proper subscription. But which one?
We have a typical pricing chart on our Pricing page, but we also have a pricing calculator that can tell you exactly what plan fits your needs! Let’s plug in our values:
Turns out, the Orange Belt plan fits our needs! And, if we want to, we can actually set our autoscaling to handle even more dynos than we’d previously had configured while still being within plan limits. Just in case things spike higher than we anticipated. Neat!
So, finally, let’s figure out our potential savings here. If we estimate that we’ll save on the low end of Judoscale’s typical savings numbers, 40%, that means our Heroku hosting bill will drop from $350/mo to $210/mo. Adding in the $40/mo cost of Judoscale itself, we’re left with a net total bill of $250/mo. We just saved $100/mo even after Judoscale’s cost.
But let’s also see what the total is if our app happens to be on the higher end of our typical savings numbers, 60%. In that case, our Heroku hosting bill will drop from $350 to $140! Add in Judoscale’s $40/mo and our net total is now $180/mo — a savings of $170/mo!
Setting up Judoscale is as close to free money as we can think of. Okay, maybe that’s a little dramatic, but we hope it’s clear that Judoscale will save you dollars and pay for itself every month! In fact, we run an email each month to show you just how much you saved by running Judoscale:
Welcome to 2025: Judoscale is Free
Okay, I’ll apologize one more time for the slightly click-bait-feeling title, but I hope you can see now how it actually is true. Judoscale is free. Both as in beer and as in savings. Regardless of which way your team runs Judoscale, you’re not going to end up paying more out of pocket than you were previously! We’re confident in that.
Judoscale’s mission from day one was to help teams to focus on their core product and mission — to help them avoid getting pulled down the infrastructure and cost-management rabbit holes. This remains our goal today and will for the years to come. Here’s to 2025 and to keeping your team agile, efficient, and thriving! 🍻