Hva er DevOps-utgivelsesstyring (+4 beste fremgangsmåter)

Discover how to deliver better software and systems in rapidly scaling environments. Join our Community

Utgivelsesstyring sikrer smidig levering av programvare ved å effektivisere prosessen for bygging, testing og distribusjon. Denne veiledningen beskriver de viktigste komponentene i utgivelsesstyring og presenterer fire beste fremgangsmåter for å optimalisere programvareutgivelsene dine.

DevOps- og utgivelsesadministrasjonsoperasjoner har et slektskap når det gjelder programvareutviklingslivssyklusen (SDLC), prosjektstyring og IT-infrastrukturbiblioteket (ITIL). DevOps-utgivelsesadministrasjon innebærer å føre tilsyn med utformingen, planleggingen, tidsplanleggingen, testingen og implementeringen av programvareutgivelses- og leveransesyklusen.

Organisasjoner er hovedsakelig avhengige av DevOps-teamstrukturer for å øke effektiviteten i programvareutviklingen, samtidig som de tar i bruk mekanismer for kontinuerlig integrasjon og kontinuerlig levering (CI/CD) for bedre effektivitet. Som prikken over i-en integreres utgivelsesadministrasjon slik at den overordnede prosessen styrkes, og programvare leveres raskt til kundene uten at det går på bekostning av samsvar, kvalitet eller sikkerhet.

I denne artikkelen forklarer jeg betydningen av og essensen i DevOps-utgivelsesadministrasjon, beste praksis og hvordan man blir en effektiv utgivelsesansvarlig.

Hva representerer en utgivelse i programvareutviklingsprosessen?

Før du kan håndtere utgivelsesadministrasjon på en god måte, må du forstå hva som utgjør en programvareutgivelse. Innen programvareutvikling er en utgivelse enten en nyutformet funksjonalitet eller en nylig endret del av programvaren.

En utgivelse omfatter imidlertid også prosessen med å opprette den, og kan variere i omfang fra en ny funksjon til en fullt funksjonell appversjon. En utgivelse representerer også høydepunktet i programvareutviklingsprosessen. 

DevOps-team setter vanligvis opp ulike testmiljøer for å teste en utgivelsesgren. Et testmiljø bidrar til å opprette optimaliserte distribusjoner. Det gjør det mulig for DevOps-team å validere antakelser om utgivelsen gjennom testing og overvåking før den tillates satt i produksjon.

En vanlig DevOps-praksis blant utviklere er å utarbeide en utgivelsesplan som inkluderer testing av alfa- og betaversjoner av programvaren før full lansering.

Det bør imidlertid bemerkes at en utgivelse også kan være et fysisk produkt, en nedlasting fra et nettsted, en overføring til en enhet eller en oppdatering fra en nettapp.

Hva er utgivelsesadministrasjon?

Utgivelsesadministrasjon koordinerer og kontrollerer en programvarebygging gjennom ulike iterasjoner, stadier og miljøer som inngår i prosessen for programvaredistribusjon og -utgivelse. 

Utgivelsesadministrasjon handler om å redusere risikoen og uforutsigbarheten som er knyttet til prosessen for programvareutgivelse. Det er en generell DevOps- og ITIL-prosess for håndtering av programvareleveransesyklusen.

Med ITIL er utgivelsesadministrasjon en del av overgangen til en ny eller endret tjeneste. ITIL håndterer denne overgangen ved å kodifisere livssyklusoppdateringene for tjenesten som den innebærer. DevOps legger på sin side vekt på å fremme synlighet, kommunikasjon og samarbeid gjennom hele aspektet for kontinuerlig levering i utgivelsessyklusen.

Når DevOps-utgivelsesadministrasjon implementeres, kan team imidlertid ofte støte på problemer med distribusjoner og tilbakerullinger. Å ta i bruk effektiv praksis for utgivelsesadministrasjon kan løse disse vanlige utfordringene direkte og effektivisere den overordnede DevOps-arbeidsflyten.

Ulike typer utgivelsesadministrasjon

Utgivelsesadministrasjon er ikke en monolittisk prosess; det finnes ulike tilnærminger som selskaper bruker for å distribuere en utgivelsesgren.

DevOps-utgivelsesadministrasjon

For å redusere kompleksiteten i oppgaven med å bygge og vedlikeholde applikasjoner oppsto rollen som DevOps-ingeniør. Den fokuserer på å redusere flaskehalsene mellom IT-drift og programvareutvikling.

I dette programvareparadigmet er samarbeid og kommunikasjon mellom utviklere og IT-operatører vevd inn fra starten av programvareutviklingsprosessen. DevOps fremmer ansvarlighet blant gruppene som er involvert i prosjektet, for tjenestene de leverer gjennom hele programvareutviklingslivssyklusen.

Dette resulterer i en DevOps-pipeline med raskere og mer pålitelige utgivelser og kortere tilbakemeldingssløyfer.

Utgivelsesadministrasjon drar til syvende og sist nytte av sikkerhetsnett og «skift-venstre»-tilnærmingen i DevOps ved at testing, automatisering og QA-prosedyrer flyttes mye tidligere inn i leveringspipen. Utgivelsesadministrasjon må imidlertid fortsatt overvåke applikasjoner og infrastrukturelementer, i tillegg til å håndtere endringsordrer og tidsplaner.

Fordi DevOps-utgivelsesadministrasjon er nyttig for å fjerne siloer som har isolert teammedlemmer, vokser den frem som den mest populære typen utgivelsesadministrasjon som tas i bruk i dag.

Get Free Access
Get regular tech leadership wisdom for delivering better software and systems.
Get Free Access

Have an account? Log In

Smidig utgivelsesadministrasjon

Den smidige utgivelseshåndteringen bygger på den smidige metodikken. I stedet for å fokusere på store utgivelser, deler derfor smidig utgivelsesplanlegging utgivelsesfasene opp i flere sprinter eller iterasjoner. En sprint er en kort periode, vanligvis en uke, der et team arbeider med å fullføre bestemte oppgaver, i dette tilfellet en bestemt utgivelse av et programvarebygg.

En endringsordre for en utgivelse avgrenses av en sprint. Derfor representerer et nytt produktinkrement slutten på en sprint. Ved å dele opp utgivelser i flere sprinter reduseres kompleksiteten i utgivelsesprosessen.

Hva gjør en utgivelsesansvarlig?

En utgivelsesansvarlig fører tilsyn med utgivelseshåndteringsprosessen. Denne personen bør ha kunnskap om beste praksis for utrulling, prosjektstyring, DevOps-verktøy og automatisering. For å forbedre utgivelsesprosessen bør den utgivelsesansvarlige også vite hvordan endringshåndtering kan brukes, samtidig som fremdriften følges opp.

Denne rollen krever smidig tenkning og inngående kunnskap om utgivelseshåndteringsverktøyene som vil være nyttige for et utviklingsteam under ulike omstendigheter og i forskjellige faser av utgivelsesrørledningen.

Fordeler med utgivelseshåndtering

Kompleksiteten i moderne programvareutvikling har økt kraftig, særlig de siste årene. En del av årsaken er at programvaresystemer ganske enkelt har blitt tatt i bredere bruk som følge av digitaliseringen og alt den innebærer. Med denne økte utbredelsen følger også større granskning, utfordringer knyttet til brukervennlighet, ressursforbruk og hackerangrep.

Den samlede effekten av disse faktorene har gjort programvarebygg og utgivelser mer utsatt for feil. Utgivelseshåndtering innføres derfor for å redusere det samlede kaoset og stanse farene som kan ligge skjult i prosessen. Andre mål som får organisasjoner til å innføre utgivelseshåndtering, kan blant annet være følgende:

  • Å tilby et system for forutsigbar, pålitelig og sikker levering av programvare.
  • Å øke antallet vellykkede utgivelser som en organisasjon produserer, samt hvor raskt de gjennomføres.
  • Å gi organisasjonen innsyn i alle aktiviteter knyttet til programvareutgivelser.
  • Å standardisere og effektivisere prosessene i organisasjonens utgivelsessyklus.
  • Å integrere beste praksis for utgivelsessyklusen i DevOps-teamets DNA.
  • Å optimalisere komponentene i utgivelsesprosessen med automatisering.
  • Å sørge for tett samsvar mellom organisasjonens forretningsprioriteringer og IT-driften.

Utgivelseshåndtering har imidlertid effektivisert prosessen og samtidig gitt utgivelsesansvarlige følgende fordeler:

Bidrar til overholdelse av regelverk

Utgivelseshåndtering bidrar til å legge til rette for overholdelse av regelverk gjennom omfattende innsyn og sporbarhet. Det styrker revisjonssporene ved å identifisere hvor hver enkelt kodeendring oppsto, og hvem som utførte den. Organisasjoner kan dessuten gjøre alt dette uten å gå på bekostning av raske utgivelsessykluser.

Automatiserer prosesser for konfigurasjonsstyring og utrulling

Utgivelseshåndtering gjør det mulig for driftsteam å automatisere utgivelsesplaner ved å innlemme automatisert testing, automatisering av utrulling og DevOps-automatisering.

Automatisering gjør utgivelseshåndtering til en reproduserbar og repeterbar prosess, noe som gjør det langt enklere å håndtere og produsere vellykkede utgivelser.

Reduserer risiko og forkorter tiden det tar å få programvareprodukter ut på markedet

Utgivelseshåndtering forbedrer kommunikasjon, koordinering og produktivitet i prosessen for programvarelevering. Dette skyldes at den gjør det mulig for team å samhandle og dele informasjon, også på tvers av geografiske grenser.

Den omfatter vanligvis beste praksis som kontinuerlig integrasjon, kontinuerlig levering og automatisering av utrulling, som legger til rette for rask produksjon av kvalitetsprogramvare med redusert risiko. Dette gjør i sin tur at selskaper kan reagere langt raskere på markedsendringer og etterspørsel.

Standardisering av utgivelseshåndtering for programvare

Ved å gjøre utgivelseshåndtering til en integrert del av DevOps-praksisen blir utgivelsesprosessen mer effektiv og standardisert. Det skaper en repeterbar prosess som kan dokumenteres i utgivelsesloggen. 

Denne dokumentasjonen brukes deretter til å forstå de grunnleggende årsakene til problemer og iverksette løsninger, særlig i fasene etter utrulling. 

Forbedrer KPI-er for vellykkede utgivelser

DevOps-utgivelsesstyring bidrar til å etablere referanseverdiene som er nødvendige for å bygge bedre programvareutgivelser. Automatisering, versjonskontroll og kvalitetskontroll hjelper utviklingsteam med å forstå måleparameterne som kreves for å generere utgivelser i større volum med lav sannsynlighet for feil, slik at tiden frem til utgivelse kan reduseres.

skjermbilde av Azure DevOps-distribusjon
Azure DevOps-distribusjons- og utgivelsesinfrastruktur

Forskjellen mellom endringsstyring og utgivelsesstyring

IT-tjenestesystemer omfatter både endringsstyring og utgivelsesstyring for å sikre at DevOps-team er rustet til å håndtere hastigheten, volumet og kompleksiteten i programvareutvikling og -leveranser.

Mange blander imidlertid ofte de to. Selv om de er nært knyttet sammen, er ikke utgivelsesstyring og endringsstyring det samme. Den mest grunnleggende forklaringen er at endringsstyring fungerer som en inngående tjeneste til utgivelsesstyring. Utgivelsesstyring leverer deretter det ønskede resultatet i form av en funksjonell programvareartefakt.

Aktiviteter innen endringsstyring beskytter den eksisterende programvareapplikasjonen og -miljøet for å minimere forstyrrelser i IT-tjenestene. Som navnet tilsier, sikrer den at endringene som innføres i systemet, er fordelaktige og har minimale negative bivirkninger. Den balanserer for eksempel behovet for proaktivitet og hastighet mot den tilhørende risikoen som uunngåelig følger med endringer.

Utgivelsesstyring pakker resultatene av endringsforespørsler og samler dem i én enkelt utgivelse.

Utgivelsesstyring dreier seg om installasjonsprosesser, samt kontinuerlig levering og/eller kontinuerlig distribusjon gjennom verktøy for utgivelsesorkestrering. Endringsstyring er på sin side i stor grad opptatt av styring. Endringsstyring påtar seg derfor oppgaven med å håndtere endringsforespørsler i et IT-system, samt å håndtere de tilhørende risikoene ved endringen.

4 beste praksiser for utgivelsesstyring

Dette er noen tommelfingerregler og optimale praksiser du bør utforme utgivelsesstyringsprosessen din etter:

Spesifiser kriteriene for en vellykket utgivelse

Det er viktig at utgivelsesansvarlige etablerer tydelige akseptansekriterier som DevOps-teamet skal følge under utgivelser. Dette sikrer at ingen er i tvil om hvilke betingelser som må være oppfylt for at en utgivelse skal regnes som vellykket.

De mest ideelle akseptansekriteriene utarbeides imidlertid gjennom et samarbeid mellom produkteiere, QA-teamet og utgivelsesansvarlige. I tillegg må utgivelsesansvarlige sørge for fleksibilitet, slik at de ikke begrenser teamets innsats for å finne ut hva som fungerer best for utgivelsesprosessene.

Send utgivelser til et godt utformet testmiljø

Et testmiljø er et miljø for testing og det siste trinnet i distribusjonsprosessen før en utgivelse settes i produksjon. Som testmiljø gjør det det mulig for DevOps-team å implementere akseptansekriterier raskere og grundigere for hver utgivelse. Det gjør det også mulig for utgivelsesansvarlige å sikre at en utgivelsesgren ikke påvirker kundene eller den aktive programvareversjonen negativt.

Et testmiljø bør derfor utformes slik at det ligger så nær den aktive versjonen og produksjonsmiljøet som mulig.

More Articles

La kvalitetssikring få en plass ved bordet

Man sier at for mange kokker ødelegger suppen, men dette ordtaket gjelder ikke når det handler om kvalitet. Jo flere som vurderer et produkt eller en prosess, desto større er sannsynligheten for at svakheter og feil blir identifisert. Sørg derfor for tilstrekkelig samarbeid med og innspill fra kvalitetssikrings- og kvalitetsteknikkteamene dine.

Bruk automatisering der det er mulig

Automatisering er en kraftforsterker og en faktor som endrer spillet. Distribusjonsautomatisering bidrar til å minimere feil, samtidig som raskere utgivelsessykluser blir mulig. Investering i automatisering gir dessuten en organisasjon et godt utgangspunkt for å forbedre kvalitetssikringsprosessene sine. 

Forbedre programvareleveransen med DevOps-utgivelsesstyring

Samlet sett øker utgivelsesstyring lønnsomheten samtidig som den reduserer risiko, DevOps-kostnader og ekstra vedlikehold, ettersom den driver kontinuerlig forbedring av programvareleveransen.

Abonner på The CTO Clubs nyhetsbrev for mer DevOps-innsikt!

Eze Onukwube
Eze has a master's degree in communications with over 10 years of experience as a software engineer. His playground is at the intersection of technology, process improvement, and simplifying IT concepts.

You may also like