A brief eulogy for Heroku
This was slated to be an uneventful week for Buttondown, and in most cases it was: I was traveling for a combination of wedding prep and visiting my new nephew, and there wasn’t a lot of bandwidth for work beyond keeping on top of emails & fires.
Instead, I got to spend Tuesday evening hastily swapping over DNS records to try and recover from what ended up clocking in as a seven-hour DNS incident from Heroku. A deep extension of gratitude to Hacker News user rsweeney21 who suggested the approach I and many other folks went with, which was temporarily rerouting to the historical IP addresses via
A records to restore service ahead of time — while mucking around in DNSimple on my friends Ethan and Laura’s roof was not the way I imagined spending my time, I was grateful that there was at least some agency I could exercise. (DNS stuff is scary.)
While the timing was certainly inopportune for me, it wasn’t exactly opportune for the Heroku folks either. Two days later, they announced that they’re getting rid of free plans:
Our product, engineering, and security teams are spending an extraordinary amount of effort to manage fraud and abuse of the Heroku free product plans. In order to focus our resources on delivering mission-critical capabilities for customers, we will be phasing out our free plan for Heroku Dynos, free plan for Heroku Postgres, and free plan for Heroku Data for Redis®, as well as deleting inactive accounts.
I get it, honestly! (I mean, I significantly curtailed free plans for Buttondown earlier this year, and at this point it’s a move I regret not making a year or two earlier.) I — as I’m sure many other developers in my cohort who came into the indie hacking space in the early 2010s — have very fond memories of their first
git push heroku master, and this very reasonably business decision nonetheless feels like a significant step away from that magic with which Heroku has enjoyed a certain level of cachet even as its influence wanes compared to the new rising class of infrastructure providers (Fly, Render, Railway).
That being said, I wrote last month that my plans to migrate off of Heroku were stalled thanks to my ability to significantly cut my Redis costs; I’d probably upgrade that from “stalled” to “slated for sometime early next year.” The writing had been on the wall for a while; it’s now much more visible, to butcher a metaphor.
This week, though, I’m excited to ramp up on work now that I’m back at home and without significant travel or randomization for the next few weeks. My goal is to ship the new writing interface and to fast follow it with some navigational changes; I’ve got a couple operational things I need to keep on top of, but the calendar & backlog is looking good enough that I should be able to make significant headway.