There are a lot of ways of doing things, and its really easy to make mistakes. my advice would be: Separate your build from your infra. Whilst its nice to have your cloud be spun up with CI, its really not a great use case, and means your CI has loads of power that can be abused. Gitlab with local runners is a good place to start for CI. its relatively simple and your personal runners can be shared between projects (…
> You are unlikely to change cloud providers, so choose one and stick to it. Use their managed features. I am curious about this because I see opposing views expressed by different people. I have never personally been in a position where the decision has been relevant. I work at a cloud provider an I'm told that a big slice of our revenue comes from customers who are already load-balancing across multiple clouds, so…
My sample size is me and my immediate friends. I suspect that if you have a resilient multi-cloud deployment, then you'll use it to hunt for a metric you want to hit (speed/price/latency)
However, the engineering cost to get there is pretty high, and almost negates the point of having the cloud (unless you have a scaling requirement where you need 10x at short notice.)
I worked at a large news company, and it was decided that it was cheaper to just pay for the hosted services than pay for the people to run them (think RDS vs home grown DB) RDS is what 2x the cost of a normal instance, but thats still cheaper than the three engineers + oncall to manage a custom deployment and manage the backups and migrations. (along with conway's law of having DBAs)