Infrastruktur som kode
Lær hvordan Infrastructure as Code lar Dem definere skyressurser deklarativt for repeterbar, versjonskontrollert og automatisert klargjøring.
Infrastruktur som kode er en gratis leksjon i Grunnleggende systemdesign for backendutviklere på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Grunnleggende systemdesign for backendutviklere, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Grunnleggende systemdesign for backendutviklere inneholder totalt 4 leksjoner.
Fra klikking til kode
Det er tregt, feilutsatt og umulig å reprodusere å klikke seg manuelt gjennom en sky-konsoll for å opprette servere og nettverk. Infrastructure as Code (IaC) definerer infrastrukturen i filer som kan versjoneres, gjennomgås og kjøres på nytt.
Hvorfor IaC er viktig
IaC bringer disiplin fra programvareutvikling inn i infrastrukturen:
- Versjonskontroll og kodegjennomgang av endringer
- Reproduserbare miljøer (utvikling, staging og produksjon er identiske)
- Automatisk, rask klargjøring og nedrigging
- Infrastruktur som dokumenterer seg selv
Deklarativt kontra imperativt
IaC-verktøy er vanligvis deklarative: De beskriver den ønskede slutt-tilstanden, og verktøyet finner ut hvordan den skal oppnås. Imperative skript lister i stedet opp de nøyaktige trinnene. Deklarativ kode er enklere å forstå og få til å konvergere mot ønsket tilstand.
En deklarativ ressurs
Her er en deklarativ definisjon av en virtuell maskin. De angir hva som skal finnes; verktøyet oppretter eller oppdaterer den slik at den samsvarer.
resource "aws_instance" "web" {
ami = "ami-123456"
instance_type = "t3.micro"
tags = {
Name = "web-server"
}
}Idempotens
En sentral egenskap ved IaC er idempotens: Hvis den samme definisjonen brukes gjentatte ganger, blir resultatet det samme. Hvis ressursen allerede samsvarer, endres ingenting. Dette gjør det trygt å kjøre på nytt.
Tilstand og avvik
Mange verktøy sporer en tilstand for det de administrerer. Når virkeligheten avviker – fordi noen endrer en ressurs manuelt – kalles dette avvik. Verktøyet oppdager avviket og kan bringe infrastrukturen tilbake i samsvar med den deklarerte definisjonen.
Planlegg før bruk
Gode IaC-arbeidsflyter forhåndsviser endringer før de tas i bruk. Et plan-trinn viser nøyaktig hva som skal opprettes, endres eller slettes, slik at De oppdager en destruktiv endring i gjennomgangen i stedet for i produksjon.
$ terraform plan
+ aws_instance.web will be created
~ aws_security_group.sg will be updated
- aws_instance.old will be destroyedKlargjøring kontra konfigurasjon
To beslektede, men ulike oppgaver:
- Klargjøring oppretter infrastruktur (Terraform, CloudFormation, Pulumi)
- Konfigurasjonsstyring setter opp programvare på eksisterende maskiner (Ansible, Chef, Puppet)
Containere og uforanderlige avbildninger gjør skillet mindre tydelig.
Moduler og gjenbruk
Unngå kopiering og innliming ved å pakke infrastrukturen i gjenbrukbare moduler med inndatavariabler. Én godt testet modul kan opprette identiske, parameteriserte miljøer for mange team.
module "web" {
source = "./modules/app"
instance_type = "t3.small"
env = "production"
}IaC og skybasert CI/CD
IaC passer naturlig inn i pipelines: En commit utløser en plan, en gjennomgang godkjenner den, og pipelinen tar den i bruk. Kombinert med containere og Kubernetes-manifester blir hele stakken – nettverk, klynge og apper – reproduserbar fra kode.
Beste praksis
Hold IaC sunn: Lagre tilstanden eksternt og låst, hardkod aldri hemmeligheter, gjennomgå hver plan, hold modulene små, og behandle infrastrukturkode på nøyaktig samme måte som applikasjonskode – med testing og gjennomgang.
Kort kontroll
Test forståelsen Deres av Infrastructure as Code.
Oppsummering
De har lært grunnlaget for Infrastructure as Code:
- Deklarative definisjoner beskriver ønsket tilstand på en idempotent måte
- Tilstandssporing oppdager og korrigerer avvik
- Planlegg før endringer tas i bruk, slik at de kan forhåndsvises trygt
- Moduler muliggjør gjenbruk; IaC integreres i CI/CD-pipelines
Lær deg Grunnleggende systemdesign for backendutviklere med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Infrastruktur som kode» gratis?
Ja – hele teksten i «Infrastruktur som kode» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Grunnleggende systemdesign for backendutviklere-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Grunnleggende systemdesign for backendutviklere inneholder totalt 4 leksjoner.
Hva lærer jeg i «Infrastruktur som kode»?
Lær hvordan Infrastructure as Code lar Dem definere skyressurser deklarativt for repeterbar, versjonskontrollert og automatisert klargjøring. Du øver på Grunnleggende systemdesign for backendutviklere med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Grunnleggende systemdesign for backendutviklere?
Ingen tidligere erfaring er nødvendig. Grunnleggende systemdesign for backendutviklere på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Infrastruktur som kode»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Grunnleggende systemdesign for backendutviklere-leksjonen?
Ja. Alle Grunnleggende systemdesign for backendutviklere-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Serverløse arkitekturer
- Containerisering med Docker og K8s
- Observerbarhet og distribuert sporing
- Infrastruktur som kode