I totally agree with you in the ideal case. Problem is in some ways, AWS is too awesome due to all the add-on services.<p>Systems are more than just compute, and the last 3 companies I&#x27;ve worked for have become increasingly coupled to AWS over time due to use of the add-on services.<p>You build your system and over time you need message queuing, ability to send emails, databases, load balancing...<p>You can run &#x2F; build these yourself but do you want to use up your team&#x27;s bandwidth setting up say, postgresql replication ... or just use RDS?<p>If you use third-party (e.g. out of AWS) services, you lose the ability to do security with say, instance roles and in larger orgs you lose time to the &quot;new vendor due diligence&quot; process and getting the business to sign off on new support contracts etc. Maybe you also need some new automation tooling.<p>Because all that business-ey stuff is already in place with AWS and administering say, event queues, is sure not core business, most project teams will SaaS that capability if they can. Whatever service is already in AWS ends up being the no-brainer answer.<p>So hard to avoid architectural coupling. Then you look at the devops scripts and realise all the usage accounting, security configuration, deployment scripts and so on would need to be rewritten, and you have to go through compliance again if, hypothetically, you were to move on from AWS...