Den kontinuerlige udrulningsmodel til levering
- 4 minutter
Du har lært om de mange ulemper ved den "episke udrulning" som softwareleveringsmodel, men at vide, hvad ikke fungerer godt, er kun halvdelen af kampen. I dette undermodul lærer du om alternativet til den monolitiske metode, og hvordan den kan fremme dit mål om forbedret pålidelighed.
Hvad er kontinuerlig levering?
Kontinuerlig levering er en metode, som du kan bruge til at gøre softwareændringer tilgængelige til brug på en hurtigere, mindre stressende, mindre risikofyldt og mere reproducerbar måde. I stedet for at gøre hver enkelt softwareinstallation eller opdatere en episk begivenhed bestræber kontinuerlig levering sig på at gøre den til en hurtig, rutinemæssig og forudsigelig oplevelse, der sker efter behov.
udrulningshyppighed: Med en kontinuerlig leveringsmodel sker udrulninger ofte. Dette kan ofte være månedligt, ugentligt, dagligt, endda hver time. Det vigtigste er, at du installerer mindre, mere fokuserede ændringer, oftere.
initieret af kodefastsættelse: I stedet for at blive planlagt langt i forvejen, udføres udrulninger, efterhånden som koden bekræftes. Denne kode kan være software, infrastruktur eller endda ting som softwarekonfigurationer.
Automatiseret test: Du kan ikke kun bruge integreret automatiseret test til at teste koden, men også give hurtig feedback om resultaterne af disse test. Det er denne hurtige feedback, der giver dig mulighed for hurtigt at gentage og gendanne efter mislykkede test.
Når din kode er blevet testet, kan du teste udrulningen fra ende til anden i en række faselagrede miljøer, f.eks. test, kvalitetskontrol osv. Hvis du ruller dine udrulninger gennem disse miljøer, bliver det en integreret del af udrulningsoplevelsen.
historiske poster: Du vil ikke kun have en oversigt over udrulningsaktiviteter, men du vil også kunne afstemme dit produktionsmiljø når som helst. Du vil gerne vide, hvilken udrulning der har oprettet dit aktuelle produktionsmiljø. Med denne viden kan du spore f.eks. konfigurationer, testresultater og selve koden helt tilbage til den individuelle pullanmodning, der udløste udrulningen.
Udrulningsmål
Nu, hvor du ved, hvordan kontinuerlig levering fungerer, kan du overveje de mål, du kan opnå ved hjælp af DevOps-fremgangsmåder som denne til installation af softwareløsninger.
Mål 1: Reducer stressen i forbindelse med udrulning af tjenester, samtidig med at pålideligheden af disse tjenester øges
Dette er en win-win; ikke alene øger du jobtilfredsheden ved at reducere stresset i forbindelse med software- og infrastrukturinstallationer, du øger også både arbejdstilfredshed og slutbrugertilfredshed ved at gøre dine systemer mere pålidelige. På grund af denne positive indvirkning på kundeoplevelsen er dette teknisk set en win-win-win.
Mål 2: Reducer tiden mellem, hvornår du ved, at en ændring er påkrævet, og hvornår ændringen udrulles til produktion
Antag f.eks., at du har identificeret en kodefejl, der påvirker indtægten. Du ved præcis, hvad problemet er, og hvordan du koder rettelsen. Hvor lang tid tager det for dig at få koden i produktion? Hvor mange strenge skal du trække? Hvordan tester du? Med DevOps-praksisser kan du kode bekræftelse, spise frokost og få en meddelelse om, at problemet er blevet løst, før du vender tilbage til dit skrivebord.
Mål 3: Reducer tiden mellem at have en idé og levere brugbar software
Dette svarer meget til det forrige mål, men i stedet for at implementere ændringer taler vi om ren innovation. Hvor lang tid tager det for dig at handle på innovation? Med denne udrulningsmodel kan du integrere et nyt koncept i et produktionssystem og have tillid til, at den ekstra innovation ikke ødelægger det aktuelle system på nogen måde. Med denne tillid kan du derefter hurtigt levere den nye funktion.
Installationsresultater
De mål, der er beskrevet i denne lektion, er ikke kun teoretiske forhåbninger, de er opnåelige. Her er nogle statistikker fra 2019 Accelerate State of DevOps Report af DevOps Research and Assessment (DORA) og Google Cloud DevOps & SRE. I den har de fundet ud af, at "højtydende" DevOps-virksomheder:
- Hav 208 gange antallet af installationer.
- Er 106 gange hurtigere end bekræftelse til installation.
- Har en 7x lavere ændringsfejlrate.
- Hav en 2.604 x hurtigere tid til gendannelse af hændelser.
Alt dette fører til øget omsætning og hurtigere tid til markedet.
Disse tal validerer den idé, at udrulningspraksis betyder noget.