Recently, I got a bill from Azure. That's not an unusual thing for many of you, but for me it was a surprise because it said I was late paying. I've had a number of services running, and I thought at first that I had left something running too long, like a VM. As I checked, most of the things were paused, even the expensive ones like a Synapse workspace. Instead, I found that my free credits were not being applied. Fortunately, I had changed credit cards or I might have been billed for a few months before I noticed.
This was a change in how Microsoft managed benefits, which is fine. I opened a support call and someone helped me, but it took several days to get a response. I was slightly worried about the bills, so I decided to audit the things I had running.
It was amazing how many little things had been created or added as I've worked in Azure. Little experiments, even some targeted demos didn't consist of just a database or a website. There were storage accounts, network endpoints, analytics and log services, and more. Quite a few resources had been auto-created when I deployed something else and had auto-generated names and I wasn't sure where they were being used. Even in places where I had tried to group things into resource groups, I wasn't sure of the purpose of each item.
And that's just me. Imagine a team of developers or infrastructure people being asked to create things, spin them up for a purpose or after getting a request, and then having some staff turnover. There would likely be dozens or hundreds of resources, which might be poorly or inconsistently named, tagged, or grouped. After this I can see why organizations often feel they've lost control of the cloud if they allow too many people to create their own resources.
It was a sobering experience for me, someone trying to stay under $150/mo of costs for various projects. The number of experiments and deployed services I no longer needed was astounding. A good late-summer cleaning taught me to be a little more organized with my resource groups, and to ensure I'm auditing what I have running every few months.
Something most organizations should do, but likely struggle to complete effectively in any way.