Hva er DevOps, og hvordan fungerer det i praksis?

DevOps bidrar til mer effektive samarbeidsmåter for utviklinger, systemadministrasjon, kvalitetssikring og sikkerhet. Les hvordan det fungerer i praksis.

DevOps er en felles tilnærming til innovasjonskultur og utviklingsløp, fra idé til drift og videreutvikling. Kulturen erstatter den såkalte fossefallsmetoden og skaper konkrete forandringer i mange organisasjoner. Én slik forandring er innføring av utviklingsverktøy som støtter DevOps i praksis for hybride skymiljøer og sikkerhet.

Bakteppet for DevOps er etterhvert velkjent. Før ble applikasjoner utviklet etter fossefallsmetoden. Det betydde lansering fiks ferdig til bruk – ofte med funksjonalitet som skulle dekke alle tenkelige behov hos brukerne og mer til.

Oppdateringer og feilrettinger kom typisk 2–3 ganger i året. Det var ikke alltid noen smal sak å implementere ny kode fra utviklerne. Selv små forskjeller i teknisk oppsett hos utviklingsmiljøer, testmiljøer og driftsmiljøer kunne gi utfordringer ved hver eneste handover mellom miljøene.

Nå blir systemene levert før de er komplette og til brukere som er helt fornøyde med dette. Systemene blir lansert med bare litt funksjonalitet og løfter om mer, avhengig av brukernes tilbakemeldinger. Distribusjonen er verdensdekkende gjennom skytjenester. Oppdateringer og feilrettinger kan skje mange ganger daglig.

Denne nye metoden utgjør en helt ny og smidig, eller «agil», tilnærming og måte å jobbe på. Endring i organisasjonskulturen er et viktig stikkord. Imidlertid – siden vi snakker om digital innovasjon – er bruk av verktøy som støtter DevOps gjennom hele verdikjeden, en forutsetning for å gjennomføre slike kulturendringer.

“Keep C.A.L.M.S. and carry on”

Hva innebærer endringene i organisasjonskultur i praksis? Ved å bruke standardiserte prosesser og verktøy på tvers av ulike deler av organisasjonen – og ved å vurdere utfordringer på samme måte – bidrar DevOps til mer effektive og hensiktsmessige samarbeidsmåter for utvikling, systemadministrasjon og kvalitetssikring, inkludert sikkerhet.

Nå er det dessuten blitt stadig vanligere å etablere kulturer hvor bidragsytere fra ulike deler av organisasjonen deltar i utviklingsarbeidet. Applikasjonsutvikling er ikke noe som bare IT-folk har behov for.

Utvikling av nye IT-systemer handler ofte om innovasjon. Dette involverer alt fra virksomhetens forretningsstrategiske ledelse til alle med eierskap til prosess og produksjon. Det inkluderer de som representerer brukernes perspektiver, kanskje de som skal drive support, iallfall de som skal sørge for at inntektene eller fortjenesten kommer, kanskje spesialister på integrasjon med andre applikasjoner, herunder ERP-systemer, og kanskje økonomimedarbeidere, reklamebyråer og mange flere.

Det tar tid å endre en organisasjonskultur, og de som får det til, kan være stolte. Et skifte til denne nye tankemåten fører til betydelige og varige fordeler.

Ifølge DevOps-pioner John Willis er etablering av en slik kultur avhengig av fem prinsipper, basert på mottoet “Keep C.A.L.M.S and carry on”:

  • Culture (kultur) beskriver etableringen av et trygt miljø for innovasjon og produktivitet. For å skape et slikt miljø må selskapet bryte grensene mellom de ulike avdelingene i bedriften. Tiden er omme for en hverdag hvor utviklere (dev) på den ene siden og driftsfolk (ops) på den andre siden fulgte sine egne mål.
  • Automation (automasjon) refererer til tanken om at automatisering bidrar til optimalisering. Automatiseringsprosesser skaper konsistens, sparer tid og forhindrer feil.
  • Lean (slank) betyr å nå ønskede resultat uten unødig tidsbruk. Prosessoptimalisering må ses helhetlig, og gjennomsiktighet er viktig for å få til dette.
  • Measurement (måling) refererer til de konsekvente vurderingskriteriene som et selskap må sette opp. Slike kriterier gjør det mulig for bedrifter å kontinuerlig forbedre sine prosesser.
  • Sharing (deling) er grunnlaget for toveis kommunikasjon. Det handler om å dele kunnskap, lære av hverandre og proaktivt dele informasjon.

Verktoy for DevOps

Containerplattformer er viktige verktøy i DevOps-sammenheng. Et eksempel er Basefarm OpenShift, som er en komplett, integrert og hybrid plattform (PaaS) for utvikling, drifting og skalering av applikasjoner i skybaserte miljøer.

Plattformen er basert på Docker-containere og containerstyrings- og utrullingssystemet Kubernetes i én integrert og effektiv løsning. OpenShift håndterer både tradisjonelle applikasjoner og neste generasjons mobile og skybaserte mikrotjenester.

En stor fordel for slike DevOps-verktøy er at den teknologiske plattformen er lik gjennom hele verdikjeden. Det betyr at utvikling, test og drift jobber med samme oppsett. Dermed unngår man de kjente utfordringene ved vanlige handovers. Da medfører forskjeller i oppsett for eksempel at koden fra utviklerne ikke fungerer under testing, selv om den fungerte perfekt hos utviklerne. Det betyr igjen at koden må i retur og utviklerne må utsette nye oppgaver og bruke tiden på å rette feil i noe de egentlig var ferdig med.

Til glede for sikkerhetssjefen

Hvorfor lar også sikkerhetsansvarlige seg begeistre over dette? Med én felles plattform og produksjon i én kultur som går på tvers av hele verdikjeden, kan sikkerheten bli etablert på én måte.

Da blir det enklere å ivareta informasjonssikkerheten som helhet og IT-sikkerheten. Ikke minst blir det enklere å patche/vedlikeholde plattformen. Mangelfull patching i en uoversiktlig systemverden har gitt hackere en enkel jobb.

Docker og kubernetes

Tjenesten er bygd på et fundament av Docker-containere og Kubernetes-styring av dataklynger. I sum utgjør dette en komplett containerplattform. Løsningen gjør det mulig å distribuere ny kode raskere og sikrere i et effektivt, selvforsynt system.

Microservices

Containerplattformer er bygd både for tradisjonelle applikasjoner og neste generasjons systemer som er født i skyen. Microservices-arkitekturen styrker utvikling og vedlikehold av applikasjoner ved å dele dem opp i mindre komponenter. Dette gjør det for eksempel mulig å jobbe parallelt med å forbedre brukeropplevelsen, styrke effektiviteten og øke lønnsomheten.