Most cloud providers do let you run your own software on a managed substrate of infrastructure. But they also let you, nay, encourage you to build on top of their abstractions instead.
I guess you can waste a lot of effort and money on meticulously substituting "batteries included" lock-in features of your cloud provider when the easy path would in fact have been much cheaper (substitute when needed, not prematurely), just as much as you can fall victim to lock-in traps that would have been super cheap and easy to avoid. I imagine that telling one from the other is a form of art in its own right.
Most cloud providers do let you run your own software on a managed substrate of infrastructure. But they also let you, nay, encourage you to build on top of their abstractions instead.