Tradisjonelle endringsprosesser med manuelle godkjenningsrunder henger ikke med i dagens miljøer med hyppige endringer. Denne artikkelen viser deg hvordan moderne endringshåndtering med CI/CD og smarte utrullingsstrategier gjør det mulig å levere raskt og trygt, uten å gå på kompromiss med stabilitet.
I skybaserte miljøer skjer endringer hyppig. Nye versjoner av applikasjoner, endringer i konfigurasjon og oppdateringer av infrastruktur kan gjennomføres flere ganger daglig. Tradisjonelle endringsprosesser med tunge godkjenningsløp er ofte ikke tilpasset for disse miljøene. Derfor er det viktig å etablere en moderne tilnærming til endringshåndtering som kombinerer automatisering, sporbarhet og kvalitetssikring med høy endringstakt. Målet er å ha tryggere endringer der risiko håndteres gjennom standardiserte prosesser, testing og overvåking fremfor manuelle kontroller.
CI/CD for applikasjoner og infrastruktur
CI/CD står for «Continuous Integration and Continuous Deployment», med andre ord kontinuerlig integrasjon og utrulling. Det handler om å automatisere hele veien fra kodeendring til produksjonssetting, ved å la verktøy og prosesser håndtere bygging, testing og utrulling. Dette reduserer risikoen for menneskelig feil, samtidig som tempoet på utvikling og leveranser øker.
CI innebærer at kode integreres ofte. Det kan være ukentlig eller daglig. Hver endring verifiseres automatisk gjennom bygging og testing, slik at feil oppdages tidlig. CD betyr at applikasjonen til enhver tid er klar for produksjonsmiljø, men at selve utrullingen kan kreve en godkjenning. I CD skjer utrulling til produksjonsmiljø automatisk så lenge alle tester og kontroller er bestått.
En typisk CI/CD-prosess (også kjent som «Pipeline») begynner når en utvikler legger inn kode i versjonskontroll. Dette utløser en automatisert prosess der koden bygges, testes og kvalitetssikres. Deretter kan applikasjonen rulles ut til utviklings- og testmiljøer før den til slutt settes i produksjonsmiljø. I produksjonsfasen benyttes det ofte en gradvis utrulling for å redusere risiko for at det oppstår problemer på grunn av endringer.
Infrastruktur bør behandles på samme måte som applikasjonskode. Med infrastruktur som kode defineres servere, nettverk og andre komponenter for infrastruktur i kode. Denne koden versjoneres og utrulles via egne prosesser.
Moderne utrullingsstrategier
Tradisjonelle utrullinger innebærer ofte at tjenesten stoppes mens ny versjon installeres. Skyplattformer tilbyr bedre alternativer som muliggjør utrulling uten nedetid og med lavere risiko.
Blå-grønn utrulling er en strategi som handler om å drifte to identiske miljøer parallelt. Den eksisterende løsningen kjører i ett miljø, mens ny versjon rulles ut og testes i det andre. Når den nye versjonen er verifisert, flyttes all trafikk over. Skulle det oppstå problemer, kan trafikken raskt flyttes tilbake. Denne metoden gir høy sikkerhet og rask tilbakeføring, men krever midlertidig dobbel infrastruktur og ekstra omtanke rundt ressurser.
Kanariutrulling er en annen strategi som innebærer at en ny versjon eksponeres for en liten andel av brukerne først. Ved å overvåke feil, ytelse og brukeropplevelse kan man avgjøre om utrullingen skal fortsette eller stoppes. Trafikken økes gradvis etter hvert som tilliten for den nye versjonen øker. Denne tilnærmingen begrenser konsekvensene av feil, men forutsetter god overvåking og mer avansert konfigurasjon.