In my professional work all of this is someone else's job, but I've experimented with Google Cloud Platform, Amazon Web Services, and Digital Ocean, and only with Digital Ocean did I feel confident I wasn't going to make some kind of costly mistake.
Every time I have to update something on GCP App Engine, I end up creating a billing account so I can use Cloud Build for a Node.js app, then blow the billing account away after the app is deployed. It scares me to create a way to be billed when everything I'm doing is at the free-tier level.
On AWS I discarded my account entirely after I got a bill for a few cents when I wasn't (knowingly) using anything at all.