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.
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.
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:
- Planlegging
I denne fasen defineres prosjektkrav, funksjoner og mål. Teamet planlegger utviklingen, setter tidslinjer, og bruker verktøy for oppgavehåndtering og prosjektstyring. - 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.
- 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.
- 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.
- 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.
- 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.
- 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.