Adam McCrea
adamlogic.com
Adam McCrea
@adamlogic.com
I spend my days building @judoscale.com to help developers optimize their web hosting.

Follow me to hear about...

💎 Ruby on Rails
🚀 Heroku & PaaS
💸 Independent SaaS

Also on LinkedIn: https://www.linkedin.com/in/adamlogic/
Dealing With Heroku Memory Limits and Background Jobs
judoscale.com
November 3, 2025 at 5:26 PM
That looks really cool! (FYI @jeffmorhous.bsky.social)
September 19, 2025 at 1:08 PM
Here's our write-up on the WHY and HOW of this whole goofy experiment.

judoscale.com/blog/rails-...
Rails On-Premise... At RailsConf!
judoscale.com
July 14, 2025 at 5:29 PM
That’s where proactive autoscaling comes in. By targeting, say, 60% utilization, you’re building in 40% headroom for unexpected spikes. You’re trading efficiency (and some cost) for reliability.

🧠 More on the differences and trade-offs: judoscale.com/blog/introd...
Autoscaling: Proactive vs. Reactive
judoscale.com
July 1, 2025 at 5:44 PM
When budget is tight Fly is definitely the way to go! Glad the calculator was helpful!
May 21, 2025 at 12:16 PM
Python task queue pro-tip: Autoscale based on queue latency, not CPU!

Your task queue can back up without CPU spikes, leaving you in the dark.

Check out Jeff's full Celery & RQ comparison here:
judoscale.com/blog/choose...
April 29, 2025 at 4:48 PM
This behavior is confusing at first, but it's actually super cool once you wrangle it.

And with autoscaling in place, we don't really need to worry about it. New machines are being created with fresh burst balances when needed, spreading the load allowing balances to rebuild.
April 22, 2025 at 4:47 PM
But why do they perform so well at first, only to fall apart after a bit?

It's the bursting!

Shared machines have a "burst balance" where they can use 100% CPU. Once the balance is depleted, CPU is throttled to 1/16.
April 22, 2025 at 4:47 PM