Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Infrastruktur som kod (IaC) använder DevOps-metodik och versionshantering med en beskrivande modell för att definiera och distribuera infrastruktur, till exempel nätverk, virtuella datorer, lastbalanserare och anslutningstopologier. Precis som samma källkod alltid genererar samma binärfil genererar en IaC-modell samma miljö varje gång den distribueras.
               
              
            
IaC är en viktig DevOps-metod och en komponent i kontinuerlig leverans. Med IaC kan DevOps-team arbeta tillsammans med en enhetlig uppsättning metoder och verktyg för att leverera program och deras stödjande infrastruktur snabbt och tillförlitligt i stor skala.
Undvik manuell konfiguration för att framtvinga konsekvens
IaC har utvecklats för att lösa problemet med miljöavvikelse i versionspipelines. Utan IaC måste teamen underhålla inställningarna för distributionsmiljön individuellt. Med tiden blir varje miljö en "snowflake", en unik konfiguration som inte kan återskapas automatiskt. Inkonsekvens mellan miljöer kan orsaka distributionsproblem. Infrastrukturadministration och underhåll omfattar manuella processer som är felbenägna och svåra att spåra.
IaC undviker manuell konfiguration och framtvingar konsekvens genom att representera önskade miljötillstånd via väldokumenterad kod i format som JSON. Infrastrukturdistributioner med IaC kan upprepas och förhindra körningsproblem som orsakas av konfigurationsavvikelser eller saknade beroenden. Versionspipelines kör miljöbeskrivningar och versionskonfigurationsmodeller för att konfigurera målmiljöer. För att göra ändringar redigerar teamet källan, inte målet.
Idempotens, möjligheten för en viss åtgärd att alltid producera samma resultat, är en viktig IaC-princip. Ett distributionskommando anger alltid målmiljön i samma konfiguration, oavsett miljöns starttillstånd. Idempotens uppnås genom att antingen automatiskt konfigurera det befintliga målet eller genom att ta bort det befintliga målet och återskapa en ny miljö.
Användbara verktyg
Leverera stabila testmiljöer snabbt i stor skala
IaC hjälper DevOps-team att testa program i produktionsliknande miljöer tidigt i utvecklingscykeln. Teams kan etablera flera testmiljöer på ett tillförlitligt sätt på begäran. Molnet etablerar och river upp miljöer dynamiskt baserat på IaC-definitioner. Själva infrastrukturkoden kan verifieras och testas för att förhindra vanliga distributionsproblem.
Använda deklarativa definitionsfiler
IaC bör om möjligt använda deklarativa definitionsfiler. En definitionsfil beskriver de komponenter och konfigurationer som en miljö kräver, men inte nödvändigtvis hur du ska uppnå den konfigurationen. Filen kan till exempel definiera en nödvändig serverversion och konfiguration, men inte ange serverinstallations- och konfigurationsprocessen. Den här abstraktionen ger större flexibilitet att använda optimerade tekniker som infrastrukturleverantören tillhandahåller. Deklarativa definitioner bidrar också till att minska den tekniska skulden för att upprätthålla imperativ kod, till exempel distributionsskript, som kan ackumuleras över tid.
Det finns ingen standardsyntax för deklarativ IaC. Syntaxen för att beskriva IaC beror vanligtvis på kraven för målplattformen. Olika plattformar stöder filformat som YAML, JSON och XML.
Distribuera IaC på Azure
Azure tillhandahåller internt stöd för IaC via Azure Resource Manager-modellen . Teams kan definiera deklarativa ARM-mallar med hjälp av JSON-syntax eller Bicep för att ange den infrastruktur som krävs för att distribuera lösningar. Lösningar från tredje part som Terraform via specifika Azure-leverantörer är också tillgängliga.