Udforsk DevOps-fremgangsmåder

Fuldført

Indarbejdelse af DevOps i programlivscyklussen omfatter implementering af en række DevOps-fremgangsmåder. Muligheden for at maksimere DevOps-fordelene afhænger i høj grad af, i hvilket omfang denne implementering lykkes. I vores eksempelscenarie skal organisationen introducere betydelige ændringer i sin driftsmodel, startende med at fremme samarbejde og kommunikation mellem udviklings- og driftsteams samt investere i versionsstyring, automatisering, kontinuerlig integration, løbende test, kontinuerlig levering og løbende overvågning. Du skal udforske disse fremgangsmåder i dette undermodul.

diagram, der viser DevOps-praksisser.

Versionsstyring

Versionsstyring er praksis for administration af opdateringer til kode ved at gemme den i udpegede lagre, spore dens ændringer og vedligeholde ændringshistorikken. Dette faciliterer kodegennemgange og muligheden for at genoprette efter programmeringsfejl. Derudover tillader VCS-systemer (Version Control Systems), f.eks. Git, samarbejde om kodeoprettelse blandt flere udviklere via funktioner som lagerkloning, pullanmodninger, kodeændringsfletninger, konfliktløsning og understøttelse af annulleringer. Brugen af versionsstyring er en grundlæggende DevOps-praksis. Versionsstyring er også en forudsætning for f.eks. kontinuerlig integration og infrastruktur som kode.

Kontinuerlig integration (CI) og kontinuerlig test

En af de vigtigste fremgangsmåder i DevOps er automatisering. I dette tilfælde gælder automatisering for processen med at flette kodeændringer, teste dem og bygge resulterende artefakter så tidligt i programlivscyklussen som muligt. Hensigten er at registrere eventuelle problemer i udviklingsfasen, da dette minimerer den indsats og de omkostninger, der er forbundet med at løse dem. Automatiserede test validerer, at kodeændringer ikke har introduceret fejl eller regressionsproblemer.

Fortløbende levering (CD)

Kontinuerlig levering automatiserer processen med at udrulle artefakter, der er bygget som en del af CI, og gør dem tilgængelige for deres forbrugere. CD automatiserer progression af disse artefakter via forskellige miljøer, f.eks. test, midlertidig lagring og produktion. Kontinuerlig integration og kontinuerlig levering (CI/CD) udgør tilsammen en samlet, strømlinet, end-to-end softwareudviklings- og leveringsproces.

Kontinuerlig overvågning

Kontinuerlig overvågning giver automatiseret indsigt i hele programstakkens tilstand og ydeevne i realtid, herunder den underliggende infrastruktur. Dette opnås ved hjælp af samlingen af telemetri, herunder logge og målepunkter og tilpassede beskeder, der leverer meddelelser om uregelmæssigheder i funktionsmåden, hvilket letter hurtig afhjælpningshandlinger.

Kontinuerlig sikkerhed (DevSecOps)

Sikkerhed er en vigtig del af alle faser i den DevOps-baserede programlivscyklus, hvilket er årsagen til at opfundet udtrykket DevSecOps. DevSecOps er en udvidelse af DevOps med fokus på integration af sikkerhedspraksisser i hver fase – fra planlægning, kodning, test og installation til handlinger.

Infrastruktur som kode (IaC)

Infrastruktur som kode er en integreret komponent i moderne softwareudviklings- og driftspraksisser. Det omfatter brug af programmeringsmetoder til at klargøre og administrere infrastrukturtjenester. IaC definerer infrastrukturkomponenter som f.eks. servere, netværksenheder og databaser ved hjælp af kode. Denne kode er typisk placeret i en VCS, som administrerer og sporer ændringer af infrastrukturkonfigurationer. Brugen af kode faciliterer automatiseret klargøring og konfiguration af infrastruktur, hvilket forbedrer effektiviteten, ensartetheden og skalerbarheden. Derudover kan IaC (og er ofte) integreret med CI/CD, og det giver en omfattende strategi for levering af software ved at kombinere klargøring af infrastruktur med programbuild, test og udrulning i én kontinuerlig, fuldt automatiseret sekvens.