DevOps og DevSecOps: Introduksjon

Fra «kaste over veggen» til felles ansvar

Før var det vanlig at utviklere skrev kode, «ble ferdige», og så kastet løsningen over til drift. Drift måtte få det til å virke på ekte servere, ofte med hastverk og lite dokumentasjon. Sikkerhet kom gjerne helt til slutt som en egen «sjekk», eller først når noe gikk galt.

DevOps oppstod som en reaksjon på dette: utvikling (Dev) og drift (Ops) jobber tett sammen, bruker automatisering og deler ansvar for at løsningen fungerer i produksjon.

DevSecOps tar dette et steg videre: vi legger til Sec – sikkerhet – som en naturlig del av hele prosessen. Ikke som en «sikkerhetsport» på slutten, men som noe vi tenker på og tester for i alle ledd.

Illustrasjon av DevOps og DevSecOps-livssyklus
DevOps: flyt mellom utvikling og drift. DevSecOps: samme flyt, men med sikkerhet integrert i alle steg.

Et enkelt bilde: Leveranseløypa

Tenk deg en løype der koden din beveger seg fra idé til produksjon:

  1. Plan: Hva skal vi lage, og hvorfor?
  2. Code: Utviklere skriver og forbedrer kode.
  3. Build: Koden pakkes (for eksempel i containere).
  4. Test: Automatisk testing og kvalitetssjekk.
  5. Release/Deploy: Koden rulles ut til test- og produksjonsmiljø.
  6. Run: Systemet kjører, brukes av ekte brukere.
  7. Monitor/Learn: Vi samler data, ser etter feil og forbedringsmuligheter.

I DevSecOps spør vi: Hva gjør vi for sikkerhet i hvert av disse stegene? For eksempel:

Minioppgave: Velg en app du kjenner (for eksempel en nettbutikk). Hvor i denne løypa tror du de har mest sikkerhet i dag? Hvor burde de hatt mer?

Hvorfor DevSecOps er ekstra viktig nå

Moderne systemer endrer seg hele tiden: nye versjoner, nye biblioteker, nye integrasjoner mot sky-tjenester. Samtidig blir angrep mer automatiserte og treffsikre: ransomware, lekkasje av persondata, misbruk av API-er, og utnyttelse av sårbare biblioteker er blitt dagligdags.

Uten DevOps og DevSecOps ender vi lett opp med:

Med DevSecOps får vi i stedet:

DevSecOps er derfor både en teknisk praksis og en kulturendring.

Grunnprinsipper i DevOps og DevSecOps

The Three Ways of DevOps

Gene Kim m.fl. beskriver i The DevOps Handbook tre grunnprinsipper som ofte kalles «The Three Ways of DevOps». De gir et enkelt, men kraftig rammeverk for å forstå hva god DevOps-praksis egentlig handler om.

1. The First Way – Flyt og systemtenkning

Den første veien handler om å få en jevn og rask flyt av arbeid fra Dev til Ops – fra idé til verdi hos brukeren. Vi ser på hele verdikjeden som ett system, og prøver å:

The First Way: Flow & Systems Thinking
The First Way: Flyt og systemtenkning – fra Dev til Ops som én sammenhengende verdistrøm.
Kilde: Gene Kim m.fl., The DevOps Handbook / IT Revolution.

2. The Second Way – Forsterk feedbacksløyfer

Den andre veien handler om å forsterke tilbakemeldinger fra høyre til venstre – fra drift, sikkerhet og brukere tilbake til utvikling. Målet er å:

The Second Way: Amplify Feedback Loops
The Second Way: Forsterk feedbacksløyfer – tydelig og rask tilbakemelding fra Ops og sikkerhet til Dev.
Kilde: Gene Kim m.fl., The DevOps Handbook / IT Revolution.

3. The Third Way – Kultur for læring og eksperimentering

Den tredje veien handler om å bygge en kultur for kontinuerlig læring og eksperimentering. Det betyr at team:

The Third Way: Culture of Continual Experimentation & Learning
The Third Way: Kultur for kontinuerlig eksperimentering og læring – små eksperimenter som gir stadig bedre praksis.
Kilde: Gene Kim m.fl., The DevOps Handbook / IT Revolution.

I resten av kurset kan du bruke disse tre veiene som en «sjekkliste»: Når vi jobber med IaC, containere, Kubernetes, CI/CD eller overvåkning – hva gjør vi for flyt, for feedback og for læring?

Den røde tråden i dette kurset

I dette opplegget skal vi ikke bare lese om DevSecOps, men bygge opp en liten, moderne plattform steg for steg. Underveis ser vi hele tiden på hvor sikkerhet kommer inn naturlig.

  1. Infrastructure as Code (IaC): Vi beskriver servere, nettverk og tilgangsregler som kode (for eksempel med Terraform eller Ansible). Da kan vi:
    • gjenskape miljøer likt hver gang
    • kodegjennomgå også infrastruktur-endringer
    • spore hvem endret hva, og når
  2. Containere: Med Docker pakker vi apper med avhengigheter, slik at de kjører likt lokalt og i produksjon. Her kommer sikkerhet inn med:
    • bruk av «små» basebilder
    • container-scanning etter sårbarheter
    • minimal tilgang mot nettverk og filsystem
  3. Kubernetes og orkestrering: Vi ser hvordan orkestrering gjør det mulig å skalere, rulle ut, rulle tilbake og isolere tjenester. Sikkerhetstiltak:
    • RBAC (rollebasert tilgangskontroll)
    • Network Policies (hvem får snakke med hvem)
    • Secrets-håndtering
  4. Git og versjonskontroll: All endring – kode, konfig, IaC – går via Git. Med pull requests, code review og automatisert scanning for secrets får vi et sikkerhetsnett.
  5. CI/CD-pipelines: Vi setter opp pipelines som bygger, tester, skanner og deployer automatisk. Sikkerhet legges inn som en naturlig del: SAST, DAST, SCA, container-scanning og policy-sjekker.
  6. Overvåkning og hendelseshåndtering: Med verktøy som Prometheus, Grafana og en loggstakk (for eksempel ELK) kan vi oppdage mistenkelig atferd, se mønstre og reagere raskt.

Målet er at du til slutt skal kunne se på et system og spørre: Hvor er DevOps-prinsippene? Hvor er DevSecOps-prinsippene? Hva mangler?

Kursoversikt (moduler)

Undervisningsopplegget er delt inn i moduler som bygger på hverandre:

  1. 1. Grunnleggende DevOps og DevSecOps
    Begreper, historie, kultur og hvorfor dette er viktig i dagens systemer.
  2. 2. Infrastructure as Code (IaC)
    Automatisering og sikker oppsett av infrastruktur med Terraform/Ansible – inkludert installasjonssteg på Linux.
  3. 3. Docker og container-sikkerhet
    Bygging, hardening, skanning og sikker håndtering av containere.
  4. 4. Kubernetes og orkestrering
    Orkestrering av containere med fokus på sikkerhet (RBAC, Network Policies, Secrets, Namespaces).
  5. 5. Git og versjonskontroll
    Pull requests, code reviews, branching-strategier og automatisert secrets-scanning.
  6. 6. CI/CD-pipelines med innebygget sikkerhet
    Automatisering av bygg, test og deploy med integrerte sikkerhetstester (SAST, DAST, SCA, policy-sjekker).
  7. 7. Overvåkning, logging og respons
    Hvordan samle inn data, logge og reagere på sikkerhetshendelser med Prometheus, Grafana og en loggstakk.
  8. 8. Kultur, ansvar og videre vei
    Hvordan bygge en DevSecOps-kultur i et team eller en organisasjon, og hvordan du kan ta disse prinsippene med videre.

Hver modul kobles til en konkret del av leveranseløypa og viser både hvordan du gjør det i praksis og hvorfor det øker både sikkerhet og kvalitet.