Utforsk livssyklusen til DevOps-programmet

Fullført

Selv om DevOps-praksiser har et stort omfang, er deres primære mål å optimalisere behandling av programlivssyklus. I det fiktive firmaeksemplet krever overføring fra en eksisterende app til en ny app med oppdaterte funksjoner at du går tilbake til hver fase av programmets livssyklus. Som sådan kan du lære hvordan DevOps-prinsipper i betydelig grad kan endre hvordan hver fase implementeres, fra planlegging, gjennom utvikling og levering, til operasjoner. I denne enheten går du gjennom en oversikt på høyt nivå over disse implementeringene.

Programlivssyklusfaser

Programlivssyklusfaser inkluderer planlegging, utvikling, levering og operasjoner.

skjermbilde av devOps og programlivssyklus.

Planlegging

Planleggingsfasen innebærer gjennomgang av kundens behov for å skissere og definere funksjoner og funksjoner i programvaren som skal utvikles. Slik programvare kan variere fra individuelle mikrotjenester til porteføljer som består av flere produkter. Resultatet definerer programvarekrav, omfang og milepæler for programmets utvikling og distribusjon. Fra DevOps-perspektivet inkluderer de primære vurderingene i denne fasen smidighet, kundesentrisk fokus, justering og synlighet.

Utvikling

Utviklingsfasen dekker alle aspekter ved utvikling av programkode. Disse aspektene inkluderer programmering, testing og kodevurderinger. For å overholde DevOps praksis, bør koden ligge i et kildekontrollsystem, som forenkler samarbeid og støtter versjonskontroll. En fungerende versjon av koden brukes til å bygge artefakter som passer for etterfølgende levering. Slike artefakter kan ta form av kjørbare binærfiler, programvarebiblioteker, beholderbilder, installasjonspakker, konfigurasjonsfiler, distribusjonsskript eller dokumentasjon.

Endringer i denne fasen bør brukes i små intervaller gjennom automatisert testing og bygg, referert til som kontinuerlig integrasjon (CI), som akselererer utviklingsprosessen og forbedrer smidigheten.

Levering

Levering er prosessen med å distribuere artefaktene som ble bygget under utviklingsfasen i produksjonsmiljøer på en konsekvent og pålitelig måte. Selv om det endelige målet i denne fasen er full automatisering gjennom kontinuerlig levering (CD), kan noen organisasjoner, spesielt i tidlige stadier av devOps-implementeringen, velge å implementere manuelle godkjenninger eller kontroller. Etter hvert som tilliten til DevOps-praksis vokser, er det vanligvis mulig å automatisere disse kontrollene fullt ut. En vellykket, uovervåket bekreftelse av en distribusjon til et oppsamlingsmiljø kan for eksempel fungere som grunnlag for overgang til produksjonsmiljøet. Automatisering bidrar til å gjøre leveringsprosesser skalerbare, repeterbare og mer robuste (ved å minimere muligheten for menneskelig feil). Nøkkelen til en vellykket implementering av en slik tilnærming er å følge DevOps praksis, inkludert riktig testing, bruk av observerbare målinger og kontinuerlig læring.

Levering bør også ta hensyn til klargjøring og konfigurering av målmiljøets infrastruktur gjennom IaC. Behandling av infrastruktur som kode gir en rekke fordeler, inkludert konsistens, reproduserbarhet og smidighet.

Operasjoner

Driftsfasen innebærer vedlikehold, overvåking og feilsøking av programmer i produksjonsmiljøer. Fra DevOps-perspektivet er de primære målene på dette stadiet stabilitet og pålitelighet, rask hendelsesrespons, sikkerhet og samsvar og kundetilfredshet. Til en viss grad er det å nå disse målene avhengig av å ha riktig implementert målbare resultater. Utviklingsprosesser er også avhengige av såkalte tilbakemeldingsløkker som leverer data som gjenspeiler gjeldende tilstand for det distribuerte programmet, for eksempel ytelsesmåledata, respons og generell brukeropplevelse, inkludert forbedret eller redusert funksjonalitet.

I denne fasen er det viktig å sikre maksimalt samarbeid mellom utvikling, operasjoner og sikkerhetsteam. Denne fasen fungerer også som den viktigste kilden til kontinuerlig læring.

Hva er den siste fasen av programmets livssyklus?

Som navnet indikerer og bildet i begynnelsen av denne enheten illustrerer, er programmets livssyklus, etter utforming, en sirkelprosess. Det er en deterministisk begynnelse og slutt på en applikasjons levetid som bestemmes av starten og avviklingshendelsene. Men etter den første distribusjonen (eller ofte, enda tidligere), informerer tilbakemeldinger fra brukere og overvåking av data etterfølgende oppdateringer og utviklingen av programmet.

Notat

Husk at selv om sikkerhet ble nevnt bare noen få ganger i løpet av denne enheten, i henhold til DevSecOps prinsipper, dens rolle gjennomsyrer gjennom hele programmets livssyklus. Effektivt bør sikkerhetsrelaterte hensyn tas hensyn til i hver fase, helt fra begynnelsen av den første planleggingen.