DevelopmentAzure resources organiseren met tags

Azure resources organiseren met tags

Tags zijn metagegevenselementen die binnen Azure kunnen worden toegepast op resources, resourcegroepen en abonnementen. Het zijn tekstuele kenmerken die helpen de resources te identificeren en te organiseren. Dikwijls levert het een grote zoektocht op als er bij Azure resources geen tags worden gebruikt. Zeker als er ook geen naamconventies zijn aangehouden. Bij wie kun je dan aankloppen als er iets gewijzigd moet worden?

Metadata is belangrijk omdat het helpt bij het vinden van informatie op een efficiënte manier. Het is een krachtige manier van archivering die toekomstbestendig en overzichtelijk is.

Voordelen van tags in Azure

Tags bieden binnen Azure veel voordelen in gebruiksscenario's, bijvoorbeeld:

Kostenbeheer: Tags kunnen helpen kosten te optimaliseren. Ze worden gebruikt om resources te groeperen op kostencategorieën en bestedingspatronen te analyseren. Kosten kunnen worden weergegeven in de kostenanalyse van Cost Management en de factureringsfactuur op basis van tags.

Resourcebeheer: Tags kunnen worden gebruikt om uw resources te filteren en te zoeken in de Azure Portal, Azure CLI, of Azure PowerShell. En om nalevings- en governancebeleid af te dwingen, zoals het beperken van toegang, versleuteling of controle, op basis van de gevoeligheid van de resource, locatie of regelgeving. Ook maken tags duidelijk waar de gekenmerkte resource hoort in het volledige landschap en kunnen ze helpen de operationele efficiëntie en beveiliging te verbeteren en duidelijkheid verschaffen over verantwoordelijkheden voor het beheren en onderhouden van de resources. Waarschuwingen en aanbevelingen kunnen worden gemaakt. Er kan bijvoorbeeld een budget worden ingesteld voor een specifiek project of een specifieke afdeling en meldingen worden verstuurd wanneer de uitgaven een bepaalde drempel overschrijden. Gebruikers kunnen tags ook gebruiken om ongebruikte of onderbenutte bronnen te identificeren en acties te ondernemen om deze te verminderen of te elimineren.

Automatisering: Tags kunnen worden gebruikt om acties of workflows te starten met behulp van Azure Automation, Azure Logic Apps, Azure Functions of Azure Event Grid. Bijvoorbeeld om virtuele machines te starten of te stoppen, een back-up van databases te maken of meldingen te verzenden of schaalvergroting te automatiseren, op basis van het resourcetype, de omgeving of de levenscyclusfase

Rapportage: Tags kunnen worden gebruikt om rapporten of dashboards te genereren met behulp van Azure Monitor, Azure Log Analytics of Power BI. Of om resourcegegevens te exporteren.

Grip houden op tags in Azure

Tags behoeven consistentie en beleid. Het is belangrijk een goede taxonomie en naamgevingsconventie te bepalen en deze vervolgens, geautomatiseerd, toe te passen. Grofweg is hierbij van belang identificatie, locatie, verband en uitgangssituatie in het oog te houden. Deze laatste is voornamelijk om te kunnen bepalen wat het verschil is tussen de huidige situatie en het moment waarop de tags automatisch zijn toegewezen, omdat de resource nadien wellicht is aangepast. Om resources te classificeren kunnen daarom de volgende vragen een rol spelen:

  • Hoe is de resource aangemaakt?
  • Door wie/wat of welk proces is het aangemaakt?
  • Wie is de eigenaar?
  • Wat is het doel van de resource?
  • Welke/wat voor een omgeving betreft het?
  • Heeft het een belangrijke relatie met een andere resource?
  • Is het onderdeel van een groep? (Project, afdeling, kostenplaats)
  • In welke configuratie (tier) is het aangemaakt?

Gebruik bij het definiëren van de taxonomie duidelijke en consistente namen en waarden die gemakkelijk te begrijpen zijn. Vermijd dubbelzinnige of verwarrende termen die kunnen leiden tot fouten of inconsistenties. Gebruik een hiërarchische structuur om gerelateerde tags te groeperen en te filteren. In de strategie kan ook worden meegenomen welke tags verplicht of optioneel zijn.

Sla in de taxonomie vooral niet door in de hoeveelheid tags per resource (tagdrift). Beperk het tot de basisset aan informatie die nodig is om de beoogde doelen te kunnen behalen. Tags zijn niet de enige manier om metagegevens op te slaan. In de Azure logs is ook veel informatie opgeslagen.

Bovendien kan met naamgevingsconventies en de structuur van de resources binnen resourcegroups ook veel van de structuur duidelijk gemaakt worden. Het is een afweging tussen het nut en de hoeveelheid onderhoud.

Tags toepassen in Azure

Zodra er overeenstemming is bereikt over een taxonomie, kunnen de tags toegepast worden. Automatiseer het taggen en dwing Azure-beleid af voor effectief resourcebeheer. Tags kunnen op elk gewenst moment worden toegevoegd, gewijzigd of verwijderd via de Azure Portal, PowerShell, CLI, Azure Resource Manager-sjablonen, Bicep of REST API. Tevens kunnen Azure Automation, Azure Logic Apps, Azure Functions of Azure Event Grid gebruikt worden om het taggingproces te automatiseren op basis van triggers of events. Azure Automation kan bijvoorbeeld een PowerShell-script uitvoeren waarmee alle niet-getagde resources in een abonnement worden getagd. Azure Policy kan ingezet worden om tagregels te definiëren en af te dwingen, zoals het vereisen van bepaalde tags, het beperken van tagwaarden of het toepassen van standaardtags.

Enkele kenmerken van tags om rekening mee te houden:

  • Tags hebben een maximumlengte (naam 512, waarde 256 karakters). Houdt ze consistent, beschrijvend en beknopt. Het gebruik van niet evidente codes wordt afgeraden, tenzij duidelijk omschreven in de taxonomie.
  • Tagnamen zijn niet hoofdlettergevoelig. Dit betekent dat de naam uniek moet zijn, ongeacht het hoofdlettergebruik.
  • Tags worden opgeslagen als platte tekst, dus geen opmaak toepasbaar.
  • Niet alle resourcetypen ondersteunen tags en sommige resourcetypen hebben verschillende taglimieten.
  • Tags worden niet automatisch overgenomen door onderliggende resources.

Azure Portal: Tags van alle resources
 Figuur 1 - Azure Portal: Tags van een resource

Azure Tags
Figuur 2 - Azure Portal: Tags van alle resources

Meer zichtbaarheid, controle en optimalisatie

Kortom, tags zijn een krachtige en flexibele functie van Azure waarmee we resources op een logische manier kunnen categoriseren en organiseren. Daartoe is het nodig een consistente en zinvolle strategie te hanteren die aansluit bij het beoogd gebruik en tools en practices te gebruiken om de tags te implementeren en te onderhouden.

Dan kunnen tags helpen om meer zichtbaarheid, controle en optimalisatie van de Azure resources te bewerkstelligen en om kostenbesparingen, operationele efficiëntie en beveiligingsdoelstellingen te bereiken.

  • Wil jij ook dagelijks Mederne Applicaties bouwen? Bekijk vacatures!