Inzicht in imperatieve versus declaratieve configuratie
Er zijn een aantal verschillende benaderingen die u kunt gebruiken om Infrastructure as Code en Configuration als Code te implementeren.
Twee van de belangrijkste methoden van aanpak zijn:
- Declaratief (functioneel). De declaratieve benadering geeft aan wat de uiteindelijke status moet zijn. Wanneer het script of de definitie wordt uitgevoerd, wordt de computer geïnitialiseerd of geconfigureerd om de voltooide status gedeclareerd te hebben zonder te definiëren hoe die uiteindelijke status moet worden bereikt.
- Imperatief (procedureel). In de imperatieve benadering geeft het script aan hoe de uiteindelijke status van de machine wordt uitgevoerd door de stappen uit te voeren om de voltooide status te bereiken. Het definieert wat de uiteindelijke status moet zijn, maar bevat ook hoe die uiteindelijke status moet worden bereikt. Het kan ook bestaan uit coderingsconcepten, zoals voor, if-then, lussen en matrices.
Aanbevolen procedures
De declaratieve benadering abstraheert de methodologie van hoe een toestand wordt bereikt. Als zodanig kan het gemakkelijker zijn om te lezen en te begrijpen wat er wordt gedaan.
Het maakt het ook eenvoudiger om te schrijven en te definiëren. Declaratieve benaderingen scheiden ook de uiteindelijke gewenste status en de codering die nodig is om die status te bereiken.
Het dwingt u dus niet om een bepaalde benadering te gebruiken, waardoor optimalisatie mogelijk is.
Een declaratieve benadering zou over het algemeen de voorkeursoptie zijn waarbij gebruiksgemak het primaire doel is. Azure Resource Manager-sjabloonbestanden zijn een voorbeeld van een declaratieve automatiseringsbenadering.
Een imperatieve benadering kan enkele voordelen hebben in complexe scenario's waarbij wijzigingen in de omgeving relatief vaak voorkomen, waarvoor rekening moet worden gehouden in uw code.
Er is geen absolute methode waarop de beste manier is om te nemen en afzonderlijke hulpprogramma's kunnen worden gebruikt in declaratieve of imperatieve vormen. De beste aanpak die u moet nemen, is afhankelijk van uw behoeften.