Junk drawers are great for kitchens. I get to throw in whatever tools I’ll eventually need into a single drawer and forget they exist until I critically need to find it. Once I remember the hex wrench is in the junk drawer when I do go to look for it, I can’t find it in the disorganized mess of the drawer. Ultimately, I end up buying a new hex wrench of the wrong size, trying to use a screwdriver unsuccessfully, and eventually super glue; only to immediately find the wrench I was looking for after I’ve damaged the screw. Oh well! My new shiny hex wrench goes in the junk drawer, and I’ll repeat the process again later. Fortunately, I maintain a smart group of people around me who suggest things like magnetic bars in my garage I can store small tools on, specific jars for screws, nails, washers, nuts, bolts.
Okay, let us be honest junk drawers are NOT a fantastic idea for kitchens. They are even worse for the cloud. Imagine mixing development, QA, and prod resources all in a single bucket. Sorting through that junk drawer to find the resource you are looking for right when you need it can lead to production outages in critical times. Maintaining permissions when everyone is in your azure junk drawer can be hard as well, and often requires discrete excessive access control at the resource level which can lead to mistakes. Discarded VM’s from decommissioned projects that are spending money for no gain for months potentially years in the back of our Azure junk drawer can cost us hundreds of dollars per month, over years cost overrun impacts revenue that could have been used to fund continued innovation.
Early in my career as a developer an aging part of our software platform suffered a SQL Injection attack. I had the pleasure to watch a trusted and experienced team check databases for what had been accessed, scan machines for vulnerabilities, contact clients to describe the problem, restore databases to a previous state prior to the injection attack and resume full operation within hours. We were not specifically targeted, many other organizations were hit by the same attack, and days later we saw that other organizations were struggling to restore operational integrity. This was all on-premises and we had a strong understanding of our platform assets and what would be susceptible to attack; and how to rectify it. If we did not have strong governance around considerations such as naming, we would have had a more difficult time resolving the issue. An effective governance strategy in Azure has many facets and addressing a compromised resource may involve tearing down a resource group and all its resources entirely and rebuilding within minutes. When everything is in the same drawer, potentially a drawer labeled “DEV,” tearing down an entire resource can represent days of recreation. When that drawer says “PROD,” this could mean lost revenue for days or weeks. When the drawer says “CHAOS” your business is at risk.
From a governance and cloud maturity perspective we can also leverage Azure Blueprints where our infrastructure is also codified and governed within our organization. Blueprints can be iterated on a lot like source code. The easiest junk drawers to sort out are the ones that never existed in the first place!
If you don’t know the answers to these questions you have some degree of Azure Junk Drawer. If you want to learn more about cloud governance, download our Azure Governance Playbook today!