I feel this is one of those "easier said than done" statements...
An organization of even medium size? Not a chance.
Sure, paying extra for a dynamically scalable service is inefficient if your resource needs are flat 24/7/365, but is that realistically the case?
(OTOH, one must not forget that there is a cost to engineer systems to take advantage of dynamic scaling to minimize costs while meeting requirements.)
Yes, the vast majority of apps are not 12 factor architectures designed for scaling so nodes can't be brought online and killed at the flip of a switch.
Most tactics in business are money-saving tactics, and cloud is clearly one: dynamic scaling means only spending now for what you need now rather than spending now based on anticipated future need, and someone-else's-server means economies of scale in ops.
This also explains why older tech companies disproportionately use their own hardware, even those that aren't all that big. They all made that decision at a time when it made sense and the switching cost is sufficiently high to prevent them from turning back now.
I doubt there are many rational cases now for newer companies to use anything but the cloud. Even at the scale of Snapchat (>3B$ infrastructure spend over next 5 years) and Netflix, it appears the public cloud is still the rational choice.
So while it may be worthwhile if you're huge enough to get a big discount, that doesn't mean it applies to small or medium size companies
If it requires no or a smaller ops team then it seems like it might be.
Could be solved by more staffing, I suppose...
If you needed a team to manage it before, you still need Ops with "the cloud"
What do you mean by this, because it sounds like a straight up lie?
Amazon and Google are in an ongoing price war and cut costs regularly.
There is no economy of scale with the cloud. As you scale up your service, Amazon/Google happily scale your bill right up with it. When you roll your own datacenter, things get much cheaper per unit (bandwidth, storage, etc) as you get larger.
Obviously if you're growing your costs will grow, but that's basically a tautology. Bare metal costs also rise as you grow.
Except you're gonna need between 10 and 100 people to recreate the service in-house, not just one.
Trying to re-do something from scratch in-house is always more expensive than just buying the product.
while true; do
curl https://rails.app/do/the/thing
sleep 3600
done
The actual version is slightly larger because of error checking etc., but that's the gist. So that's one example of replacing (or rather: avoiding) a distributed system (an asynchronous job queue) with a small shell script.I don't mean to say that shell scripts always can replace more complex systems, but sometimes they're enough.
As soon as you can confidently predict sufficient demand, the economically rational decision is to hire a good ops team and run real hardware. But to do so, you need to either have money or get money - and the costs of cloud service are zooming up, potentially leaving you without the margin to invest.
The question is what that level of sufficient demand is.