Hopp til hovedinnhold

DevOps

DevOps er en effektiv arbeidsmetode med helhetlig tilnærming. Metoden handler om å effektivisere arbeidsflyten på tvers av utviklings- og driftsavdelingen og gir mange mange fordeler for virksomheten. For kommersielle virksomheter kan det også gi konkurransefortrinn.

Illustrasjon av en person som løper raskt
Illustrasjon av to personer som går i takt

DevOps legger til rette for at utviklerne (Dev-delen) og driftsteamet (Ops-delen) kan samarbeide godt og smidig. De har automatiserte prosesser og verktøy, slik at de kan sikre kvaliteten på arbeidet. Organisasjonskultur spiller også en viktig rolle. DevOps åpner for å dele informasjon og forståelse om arbeidsoppgavene på tvers av utviklings- og driftsavdelingen. DevOps legger vekt på å lære, og derfor er det alltid rom for å prøve og feile. Når teamene deler informasjon raskt og kontinuerlig, blir det lettere å kvalitetssikre, kommunisere og skape gode relasjoner i virksomheten.

Les mer om DevOps på våre sider om Altinn Studio

Figur som representerer DevOps-prosessen

DevOps-modellen er en syklisk prosess der utvikling og drift samarbeider for å levere programvare raskere, mer pålitelig og med høyere kvalitet. Målet er å skape en kultur av kontinuerlig forbedring og samarbeid mellom teamene.

8-tallsdiagrammet representerer den kontinuerlige og iterative naturen til DevOps-praksiser. Diagrammet består av følgende faser:

  1. Planlegging
    I denne fasen defineres prosjektkrav, funksjoner og mål. Teamet planlegger utviklingen, setter tidslinjer, og bruker verktøy for oppgavehåndtering og prosjektstyring.
  2. Utvikling
    • Koding: Utviklere skriver kode basert på de spesifikasjonene som er definert i planleggingsfasen.
    • Versjonskontroll: Koden lagres i versjonskontrollsystemer (f.eks. Git) for å sikre sporbarhet og samarbeid.
  3. Bygging
    • Kompilering: Koden bygges og kompileres til et kjørbart format.
    • Automatisering: Bruk av CI (Continuous Integration) for automatisk bygging og testing av koden hver gang det skjer endringer.
  4. Testing
    • Automatisert testing: Koden testes automatisk for å oppdage feil eller problemer. Dette kan inkludere enhetstesting, integrasjonstesting og systemtesting.
    • Kvalitetssikring: Tester vurderes for å sikre at programvaren oppfyller kvalitetsstandardene.
  5. Distribusjon
    • Utrulling: Programvaren distribueres til produksjonsmiljøet. Dette kan skje manuelt eller automatisk gjennom CI/CD-pipelines (Continuous Delivery/Continuous Deployment).
    • Sikkerhet: Sikkerhetskontroller implementeres før distribusjon.
  6. Drift
    • Overvåking: Systemet overvåkes kontinuerlig for ytelse, tilgjengelighet og helse. Verktøy brukes til å samle inn og analysere data.
    • Hendelseshåndtering: Problemer som oppstår i produksjon håndteres raskt for å minimere nedetid.
  7. Tilbakemelding
    • Analysering av resultater: Etter distribusjon vurderes resultatene og tilbakemeldinger fra brukere og teamet samles inn for å identifisere forbedringsområder.
    • Kontinuerlig forbedring: Basert på tilbakemeldinger og analyser, justeres prosessene for å optimalisere utviklings- og driftspraksis.