Re: Cloud is not really about learning lessons though, is it?
This I agree 100% I jumped from enterprise IT engineer to a small startup developer/dba/cloud admin and the difference is really clear.
For my old employer cloud didn't make financial sense or wasn't technically viable idea outside of the web presence (web/mobile apps) and some things like CRM, email, and VOIP provided as SaaS solutions.
Environment consisted mostly old enterprise stack where even if the software would scale as services licensing definitely wouldn't. Plus existing DC + staff made running own apps rather cheap, especially where old servers could be refurbished to new use.
Looking at working at a startup first there:
1. There is no DC & staff to run it cost even setting up colocation side would be substantial.
2. You likely have no idea of the real scale of the workload you end up running even within a 3-month timeframe.
3. There is no legacy. This means you can really think everything as a service engineering systems that really run well in the cloud taking the full advance scaling per demand, PaaS services etc.
4. Building and running bought software & hardware wouldn't be financially sane. Startup/new company is always heavily CapEx limited. Most don't care what something costs in 3 years timeframe as there is no knowledge if the company is even going to exist in 3 years. Most important is to fix cash flow now. Meaning not tying capital upfront on anything if not absolutely required.
This said even for old enterprise cloud will make sense for innovation projects like industrial company expanding to IoT space or traditional marketing company expanding to data analytics and digital content delivery.
It's just that cloud journey should never start by migrating ERP to cloud in order to save cost. First, because cost savings are unlikely to materialize secondly project has a pretty good chance of failing.
And the final thing the fact that cloud providers limit your configuration, protocols and local storage is actually a good thing. Fact that you simply cannot use some nasty hacks used in enterprise space and call them "integrations" actually leads to more reliable more maintainable systems.