Løbende levering i forhold til løbende udrulning

Sæt fart i leveringen af kode i høj kvalitet til kunderne med disse to automatiseringsprocedurer.

Hvad er løbende levering og løbende udrulning?

Sammen med løbende integration er løbende levering og løbende udvikling metoder, der automatiserer faserne i softwareleveringen. Disse fremgangsmåder gør det muligt for udviklingsteams at udgive nye funktioner, forbedringer og rettelser til deres kunder både hurtigere samt mere præcist og produktivt.

Løbende levering og løbende udrulning har meget til fælles. For at forstå forskellene mellem disse fremgangsmåder – og finde ud af, hvilken en af dem I vil implementere – skal vi identificere de faser af softwareleveringen, vi kan automatisere.

Automatisering af softwareleveringsprocessen

Forbrugerne har behov for øget personlig tilpasning og sikkerhed i forhold til produkter. Hvis I vil imødekomme disse krav og levere software hurtigere og mere pålideligt, kan udviklingsteams anvende en DevOps-kultur.

I en DevOps-kultur fjernes de siloopdelte discipliner, og personer, processer og teknologi samles for at forbedre samarbejdet og koordineringen. Det betyder, at kodeændringerne kommer i produktion – og kunden får adgang til ny værdi – så hurtigt som muligt.

Selvom udviklings-, it-, drifts-, kvalitetssikrings- og sikkerhedsteams arbejder tæt sammen under DevOps, forbliver softwareleveringsprocessen lige så kompleks. DevOps organiserer softwarelevering i fem faser: planlægning, udvikling, levering, udrulning og drift.

Softwarelevering i DevOps

Uden automatisering skal udviklingsteams bygge, teste og installere software manuelt, hvilket omfatter:

  • Kontrol, test og validering af kode.
  • Fletning af kodeændringer i hovedforgreningen.
  • Klargøring af kode til udgivelse.
  • Oprettelse af et artefakt, der skal udrulles.
  • Push af kode til produktion.

Faser til automatisering

Løbende integration, løbende levering og løbende udrulning er alle metoder, der automatiserer aspekter af udviklings- og leveringsfaserne. Fra og med løbende integration tager hver fremgangsmåde automatiseringen et skridt videre.

Forskellen mellem løbende levering og løbende udrulning

Løbende integration

Vi starter med løbende integration til at beskrive løbende levering og løbende udrulning. Under løbende integration er udviklingsfasen – udvikling og test af kode – fuldstændig automatiseret. Hver gang kode bekræftes, valideres ændringerne og flettes til masterforgreningen, og koden pakkes i et buildartefakt.

Løbende levering

Løbende levering automatiserer den næste fase – leveringsfasen. Ved løbende levering placeres artefaktet automatisk i det ønskede miljø og udrulles, hver gang et nyt buildartefakt bliver tilgængeligt.

Løbende integration og levering (CI/CD)

Når teams implementerer både løbende integration og løbende levering (CI/CD), automatiseres udviklings- og leveringsfaserne. Koden forbliver til enhver tid klar til produktion. Det eneste, teams skal gøre, er at udløse overgangen fra udvikling til udrulning manuelt for at gøre det automatiserede buildartefakt tilgængeligt til automatisk udrulning, hvilket kan være lige så enkelt som at trykke på en knap.

Fortsat udvikling

Med løbende udrulning automatiseres hele processen fra bekræftelse af koden til produktionen. Udløseren mellem udviklings- og leveringsfaserne er automatisk, så kodeændringer publiceres, når de valideres og består alle test. Det betyder, at kunderne kan modtage forbedringer, lige så snart de bliver tilgængelige.

Løbende levering i forhold til løbende udrulning: Hvilken fremgangsmåde skal I vælge?

Uanset om I vælger at bruge løbende levering eller løbende udvikling, kan I finde værktøjer, der kan hjælpe jer.

Før I overvejer, hvilke af disse fremgangsmåder der skal implementeres, skal I afgøre, om jeres organisation har en DevOps-kultur, der understøtter fremgangsmåderne. Eftersom DevOps-teams bestræber sig på at automatisere hele softwareleveringsprocessen, er spørgsmålet ikke "hvilken en er bedst?" I stedet skal I spørge "har vi brug for en manuel udløser mellem løbende integration og levering?"

I kan bruge disse spørgsmål som vejledning:

  • Kan I udrulle uden godkendelse fra interessenter?
  • Muliggør jeres system- og gatingkrav automatisering fra slutpunkt-til-slutpunkt?
  • Kan I fremvise produktionsændringerne lidt ad gangen til kunderne?
  • Reagerer jeres organisation hurtigt på fejl i produktionen?

Hvis I har svaret ja til alle, kan det være en god ide at overveje løbende udrulning og automatisere softwareleveringen fuldstændig – fra bekræftelse af koden, til den kommer i produktion.

Hvis I svarede nej til et af dem, kan det være en god ide at starte med løbende udrulning og løbende levering (CI/CD). I kan automatisere oprettelsen af produktionsklar kode, der kun er én manuel godkendelse fra udrulningen. Med tiden kan I arbejde mod løbende udrulning og fuld automatisering af softwareleveringsprocessen.

Uanset hvad I vælger, får I de mest almindelige fordele ved hver enkelt fremgangsmåde:

  • Ændringer udvikles, valideres og testes automatisk.
  • Kode kan altid udrulles – ingen grund til at være nervøs på frigivelsesdagen.
  • Interessenter og kunder kommer med hurtigere feedback til frigivelserne.
  • Udviklere er mere produktive og har færre manuelle og administrative opgaver.
  • Eftersom ændringerne er små og finder sted hyppigt, er der minimalt med ustabilitet og sjældent fejl.

Værktøjer til løbende integration, løbende levering og løbende udrulning

DevOps-teams er afhængige af værktøjskæder – en serie forbundne softwareudviklingsprogrammer – til at automatisere softwareleveringen. De værktøjer, I skal bruge, afhænger af, hvilken automatiseringsmetode I vælger, og hvilke faser der benyttes automatisering i. Her er nogle eksempler.

Begynd DevOps i Azure

Find værktøjer til løbende levering og løbende udvikling – og få samtidig værktøjer til at lette andre DevOps-fremgangsmåder i et cloudmiljø.