This argument essentially reduces to the notion that most Web apps should be free. The marginal cost of a Salesforce/Canva/Outlook/Office/Github/Discord/any scaled SaaS user is a tiny epsilon. If that were not true, there would not be a viable software business there; that epsilon keeps everyone paid who keeps everything running.
> You really gonna charge me 10 cents a month for a row in your database?
Apologies for the analogy, but the 10 cents is not for the storage, but for knowing which row is yours.
It's fine to want to DIY, no shade to that at all. But not every application is a fit for DIY solutions for whatever reason.
You make a valid point. And I understand there is clearly a large amount of hand waving and fallacy in my "for a row in your database" statement. I tend to write pretty flippantly. In reality, life is always more nuanced.
In reality, the crux of my opinion is more about how most of modern SaaS are so overly obsessed with pricing on user-based models, even when they don't actually make sense. There is obviously cost to host/run/maintain any piece of software, but it especially hurts with infrastructure-like companies. It's up for argument, but I think IdPs and MAUs fit in that category.
Building a company that doesn't charge on a per-seat basis with an IdP that does really makes it difficult to maintain a reasonable profit margin. For example, if I'm billing on a usage-based model (that's not user-based) and provide unlimited user access so that there is more usage, I could lose money just by having a 1,000-person company sign up. Even if all they did was sign in once a month to kick the tires. It kind of forces anyone downstream to also be user-based, which feels unfortunate.
My personal opinion is that there is a big emerging market for new companies to do what the big players already do, but charging less on flat-fee models. What's that famous quote? "Your margin is my opportunity" or whatever...
[edit: added more clarity to my pricing example]
It's probably because, like most JVM related things, it fits into the "good enough" bracket. Most things running in the JVM are definitely not on the forefront of either CPU or memory performance.
I haven't done personal estimates, but your 200 mb + 2*x estimate feels in line to what I'd expect when compared to "memory-tight" languages.