Cloud-first costs a lot of money. If your startup is doing something compute heavy, like ML or serving a lot of bandwidth, you're going to have to pay boatloads just to even serve low DAU.
I'll give an example:
Imagine you wanted to recreate some video upload/streaming app. Fastly charges $0.12/gb, AWS charges $0.05/gb (and this is me being generous, they only give you this rate after 150tb/month of volume).
1080p video uses about 25mb a minute. That means streaming a 5 minute video will use about 125mb of bandwidth, ~1/10th of a gigabyte, meaning just to stream a 5 minute 1080p video, at the bare minimum you have just spent $0.005. If this video gets 10,000 views, that is a $50 video.
I realize that's a fairly contrived scenario, and I'm going to be bombarded by people telling me X CDN offers Y bandwidth for cheaper or for much better price (spoiler alert: They don't. CDNs like Cloudflare actually don't allow dynamically generated user content or media).
I've rambled on my example enough. Bandwidth costs a lot of money, especially in the cloud world. But I'm sure I could setup some racks in various metros and pay way less than what I would have to on the cloud.
Whenever I see this mentioned on HN, people bring out their pitchforks. "But... Cloud is cheaper!!! Infra is cheap! Engineers are expensive!!" Yeah, I agree, in most scenarios, but there are some cases where cloud costs are just too ravaging to bear.
TLDR: The cloud-first culture is probably prohibiting a lot of startup ideas. I know I personally have not pursued some ideas just cause I know the infra costs would be gnarly. I don't think the next TikTok, YouTube, or whatever could be bootstrapped on the cloud, even with a $500k seed round, if you experience any volume of users that will be eaten away quickly.
If you are funded of course, then investors expect you to hire a team and focus everything on finding product market fit instead of managing infra so using the cloud makes more sense
But then again we don’t host videos. If this is a special case then I guess ignore everything I just said.
In fact, starting out on the cloud gives you leverage.
For a start, it's not the lean/agile way to have a large capital cost for your idea. If the idea dies, so does all that money you've wasted.
Secondly, the example given is quite naive in design. You wouldn't serve directly from s3 because of costs so you would serve via caches/cdn; for instance, using aws cdn would cost 85 cents.
Going back to the first point though, you're putting a lot of money at risk.
As soon as market fit is found and higher performance/$ is required, on prem is waiting for you, I feel.