Money is ALWAYS the issue. Whether you can pass along increased cost to your customers or not is entirely dependent on what your business is and the competitive landscape of it. I don't care how "agile" the cloud makes you, if your cost of IT is more expensive than the revenue you bring in, you're bankrupt. It's the running joke around here about people who build autoscaling k8s based infrastructure for a site that could be hosted on a $5/month VPS with even a little bit of tuning and caching. Complexity for the sake of complexity is called stupidity unless you're doing it as part of an educational experience. Going to production with needless complexity is a great way to ruin a good idea.
>Cost is not the same as value.
I guess it's a good thing I didn't state that cost is the same thing as value?
With operating your own DC, you have to hire really great people and hope they don’t fuck up. You have to plan much in advance for capacity changes. It’s very much possible that something goes wrong in your compute infrastructure and simply nobody in your team has the expertise to fix it. Put it another way: can you pay/hire the same kinds of engineers that work at AWS/GCP? If not, cloud is the safer route. Cost does matter, and this is why companies sign multi year contracts to get discounts. But business continuity is critical.
But if you need a server then (in most companies big and small) it's far easier to spin up a VPS in the cloud than deal with internal IT.
> "I didn't state that cost is the same thing as value?"
You're arguing over cost, but the cloud is often much greater value compared to traditional IT. Spending 2x for 5x more value is a valid decision. If it doesn't work in your situation then don't do it, but it's not the same answer for everyone.
I think the goal is that it should be the same amount of engineering time to set up both options, and both should cost $5 per month.
Today, that is broadly untrue. Although a few niches like appengine offer this.
Money is COMPLICATED and THE issue.
Money is complicated because you have income and expenses. Time to market and velocity can help you get more income. This needs to be balanced by expenses.
When you're growing or your needs are uncertain than a hyperscaler can help you get moving quickly. This aids in time to market. But, you do this at a cost. Hyperscalers cost more than running it all yourself.
If your workloads are steady state or changing at a predictable rate than it can be cost effective to run your own infrastructure.
There are other elements to all of this such as global location of hardware compared compared to end users.
Money is the issue because companies are in business to make money. Sometimes companies take a loss now in order to make money later but it's always about the money.