Utforsk Fremgangsmåter for DevOps
Inkorporering av DevOps i programmets livssyklus innebærer implementering av en rekke Fremgangsmåter for DevOps. Muligheten til å maksimere DevOps-fordelene er svært avhengig av i hvilken grad denne implementeringen er vellykket. I vårt eksempelscenario må organisasjonen innføre betydelige endringer i driftsmodellen, og starte med å fremme samarbeid og kommunikasjon mellom utviklings- og driftsteam, samt investere i versjonskontroll, automatisering, kontinuerlig integrering, kontinuerlig testing, kontinuerlig levering og kontinuerlig overvåking. Du skal utforske disse fremgangsmåtene i denne enheten.
Versjonskontroll
Versjonskontroll er praksisen med å administrere oppdateringer av kode ved å lagre den i angitte repositorier, spore revisjoner og vedlikeholde endringsloggen. Dette forenkler kodegjennomganger og muligheten til å gjenopprette fra programmeringsfeil. I tillegg tillater versjonskontrollsystemer (VCS), for eksempel Git, samarbeid i koderedigering blant flere utviklere gjennom funksjoner som kloning av repositorium, pull-forespørsler, kodeendringsflettinger, konfliktløsning og støtte for tilbakerullinger. Bruk av versjonskontroll er en grunnleggende Fremgangsmåte for DevOps. Versjonskontroll er også en forutsetning for praksiser som kontinuerlig integrering og infrastruktur som kode.
Kontinuerlig integrasjon (CI) og kontinuerlig testing
En av kjernepraksisene til DevOps er automatisering. I dette tilfellet gjelder automatisering for prosessen med å slå sammen kodeendringer, teste dem og bygge resulterende artefakter, så tidlig i programmets livssyklus som mulig. Hensikten er å oppdage potensielle problemer i utviklingsfasen, siden dette minimerer innsatsen og kostnadene som er involvert i å fikse dem. Automatiserte tester bekrefter at kodeendringer ikke har innført feil eller regresjonsproblemer.
Kontinuerlig levering (CD)
Kontinuerlig levering automatiserer prosessen med å distribuere artefakter bygget som en del av CI, noe som gjør dem tilgjengelige for sine forbrukere. CD automatiserer utviklingen av disse artefaktene gjennom ulike miljøer, for eksempel testing, oppsamling og produksjon. Kontinuerlig integrering og kontinuerlig levering (CI/CD) danner sammen en enhetlig, strømlinjeformet, ende-til-ende-programvareutvikling og leveringsprosess.
Kontinuerlig overvåking
Kontinuerlig overvåking gir automatisert sanntidssynlighet i tilstanden og ytelsen til hele programstakken, inkludert den underliggende infrastrukturen. Dette gjøres gjennom samlingen av telemetri, inkludert logger og måledata, og tilpassbar varsling som leverer varsler om uregelmessig atferd, noe som letter raske utbedringshandlinger.
Kontinuerlig sikkerhet (DevSecOps)
Sikkerhet er en viktig del av hver fase av den DevOps-baserte applikasjonslivssyklusen, som er årsaken til å mynte begrepet DevSecOps. DevSecOps er en utvidelse av DevOps, med fokus på å integrere sikkerhetspraksiser i hvert trinn – fra planlegging, til koding, testing og distribusjon, til operasjoner.
Infrastruktur som kode (IaC)
Infrastruktur som kode er en integrert del av moderne praksis for utvikling og drift av programvare. Det innebærer bruk av programmeringsmetoder for å klargjøre og administrere infrastrukturtjenester. IaC definerer infrastrukturkomponenter som servere, nettverksenheter og databaser ved hjelp av kode. Slik kode befinner seg vanligvis i en VCS, som administrerer og sporer endringer i infrastrukturkonfigurasjoner. Bruken av kode forenkler automatisert klargjøring og konfigurasjon av infrastruktur, noe som forbedrer effektiviteten, konsistensen og skalerbarheten. I tillegg kan IaC (og ofte er) integreres med CI/CD, noe som gir en omfattende strategi for programvarelevering ved å kombinere infrastrukturklargjøring, med programbygg, test og distribusjon i én kontinuerlig, helautomatisk sekvens.