he has some good points but the argument is a bit more nuanced than that. It depends a lot on the types of workloads or better yet on the consistency of your workload - if you have significantly varied load its much harder to be on-prem because you will have to insanely overprovision the infrastructure so capex will kill you initially. It also depends what you do and how costly any potential downtime can be, how complicated the software stack you need to deploy, for example doing blue/green deployments means you by default need at least double the workload.
Also managing complex services that need to be distributed and redundant starts to add up, sure elasticsearch in his example is probably the easiest one as ES is pretty robust, but with the size of the organization things become complex.
In the past i've managed workloads bigger than mentioned in the blog post and the math just wasn't there (the aws bills sure where tho :D)
reply
As a devops you might be interested in this as wel: https://world.hey.com/dhh/introducing-kamal-9330a267
37signals is really making a bold statement with their cloud exit strategy (which I like).
reply