At our company we host our web app stack and services in a cloud provider, but we don’t use managed services other than Kubernetes. Then everything on top is open source services and apps we host. It’s a big overhead to setup and maintain but I feel once the learning cost is absorbed one time we have high degree of flexibility and also resiliency against random resources getting added behind the scenes and costing us money. The critical part is to stay on top of config & updates since a lot of the apps won’t update themselves or even report an update is needed, and ending up with a vulnerable dependency may be orders of magnitude worse than 1-5K incidental expense.