The Anti-Cloud Manifesto
The cloud sells real flexibility. That flexibility has to justify its cost. For many steady workloads, the answer may be no.
A default, not a decision
The original offer was compelling: instead of buying servers, rent them. Instead of managing hardware, let someone else manage it. Instead of provisioning for peak load, scale when demand arrives. Those benefits were real, and for many workloads they remain real.
What changed is that “use the cloud” became a default rather than a workload decision. Tooling, frameworks, deployment guides, and hiring pipelines can choose the model before a team compares what it needs.
What you pay for
A managed design may give each capability its own service, availability model, policy, billing meter, and network boundary. The provider is not necessarily overcharging. It offers elasticity, managed failover, support, compliance programs, and a large operating catalog.
The question is whether the workload uses those capabilities or merely pays to keep them available.
Managed databases, caches, queues, and functions can remove operating work. They also add interfaces and place more of the application inside the provider's model. Usage pricing makes traffic part of the marginal cost of success. Splitting an application across services multiplies health checks, logs, and network traffic. The cloud charges for the infrastructure the architecture demands.
Our choice
Dedicated infrastructure fits our current workloads better. It gives us a short operating path and predictable cost without asking us to reproduce a cloud platform inside the product.
37signals has written about leaving the cloud after deciding that owned hardware fit its workloads better. Make the comparison. Do not inherit the default.
Reliability still requires backups, recovery, monitoring, and people who understand the system. The word “server” does not provide those things. Neither does the word “cloud.”
Cloud platforms are strong when demand changes sharply, users need service in many regions, managed compliance removes substantial work, or capacity must appear faster than a team can operate hardware. They are also useful for experiments whose future shape is genuinely unknown. Renting flexibility can be cheaper than building it too early.
Scale changes the answer. It should be measured in the dimensions the product actually has, not borrowed from a reference architecture.
Rent flexibility when you need it. Do not pay for it by default.