Deploying applications to the cloud is super simple. Build, select a few options, deploy, and BAM! The site is now running, and the world is fantastic. But hidden in that “select a few options” step are a lot of important decisions you need to make to control costs, get the best performance, and actually manage your services. A solid naming convention is key to helping anyone in your team know exactly what/where/why an Azure service is deployed.
When organizations adopt any cloud, it’s important to know what is deployed and what it’s used for. From billing to resiliency, identification of resources is critical to running a stream-lined, cost-effective Azure subscription. It’s for this reason we developed the Azure Naming Tool, a free, open-source utility you can deploy within your network to help define, manage, and utilize your naming convention for all your Azure deployments.
The Azure Naming Tool was developed by an internal team of engineers and developers from across Microsoft at our annual Hackathon. This great event allows developers, advisors, and visionaries from around the globe to collaborate on new and exciting ideas. Often, these projects benefit an under-served aspect of the community, innovate an industry, or (as in our case) address a critical need we see in how companies work with Azure. After years of working with customers, we found that defining and managing a naming convention is a critical component of successful Azure adoption. It’s also one of the most challenging aspects for an organization to start and maintain. To help companies overcome these challenges, the following team members worked together to produce the Azure Naming Tool:
Jason Masten – Co-owner /Original creator. Developed V1, a PowerShell version of the tool and co-authored V2.
Jonathan Core – Co-Owner/Original contributor. Worked with Jason on V1 and defining the requirements of the tool and co-authored V2.
Bryan Soltis – Co-Owner/Developer of V2. Worked with Jason/Jonathan on the tool, architecting the solution.
The Azure Naming Tool is a .NET 6 Blazor application, with a RESTful API. The UI consists of several pages to allow the configuration and generation of Azure Resource names. The API provides a programmatic interface for the functionality. The application contains Docker support, allowing the site to be run as a stand-alone application, or a container.
While the Azure Naming Tool is designed to be a sleek, intuitive web experience, it also includes a fully functional API that exposes every aspect of the functionality. This allows companies to extend the tool’s capability to their internal systems and processes. All API calls are secured with a unique API Key, which is configurable within the Admin utility.
When the tool is first installed (either as a stand-alone application or a container image), an administrator will set the password. After, the administrator will be able to define the naming convention users will use to generate names. This configuration includes selecting the desired components, options within those components, and delimiter value. The selected options will be used when a resource type name is generated. This configuration is stored within JSON files within the site architecture. The Azure Naming Tool keeps a record of all configuration changes and provides the ability to backup & restore component configuration.
When a user accesses the site, they can view the current configuration, see a list of “sample” generated names for every resource type, and generate a name. The user selects the options (as configured by the administrator) and the utility will generate the name based off those parameters. The user can then use this name as part of the creation process of their Azure resource. All generated names are logged, along with the user-selected options.
The Azure Naing Tool provides users with a resource name that aligns to the defined naming convention. This simplifies naming and will help everyone within the organization better understand what is deployed.
OK, hopefully you’re already excited about the Azure Naming Tool! If you want to check it out, it is completely open source and available in the following public GitHub repository:
The Azure Naming Tool is listed in the Cloud Adoption Framework Tools section and is a component of the CAF repo. In the GitHub repository you will find a detailed description of the utility pages, capabilities, and installation instructions.
The Azure Naming Tool was created to help the Azure community easily name their Azure resources. The tool is 100% open-source, and all are invited to contribute. The tool will be regularly updated with new features, so be sure to bookmark the repository for updates. Now, go get the tool and start your Azure Naming Convention off right!