DevOps vs DataOps

19.06.2023 | 2 min lesetid
Emneknagg: #dataops

Hva er forskjellene mellom programvareutvikling og datautvikling? I dette kapittelet utforsker vi likhetene og forskjellene mellom DataOps og DevOps gjennom de spesifikke utfordringene de er ment for å løse.

DataOps
Denne illustrasjonen gir et overblikk over DataOps. Bildet er hentet fra artikkelen The Rise of DataOps: Governance and Agility with TrueDataOps, publisert av Snowflake.

DevOps kombinerer utvikling og drift for å forbedre kvalitet, effektivitet og fart for programvareutvikling

DevOps er en programvareutviklingsmetodikk som kombinerer prosesser og praksis for å forbedre kvalitet, effektivitet, og hastighet i utvikling, implementering, og levering, samtidig som programvaren blir mer pålitelig og vedlikehold og operasjoner av programvaren blir så smidig som mulig.

Med andre ord, kombinerer eller forener DevOps utvikling og drift. Den skifter tenkningen fra prosjekt til produkt og tar hele livssyklusen i betraktning. I praksis betyr dette å introdusere smidige utviklingsmetoder, som Scrum, og automatisere så mye som mulig, dvs. testing, versjonskontroll, CI/CD, osv.

En avgjørende del av DevOps er måling av utviklingsprosessen og å gjøre den mer effektiv. Dette oppnås ved å fjerne hindringer og sløsing fra prosessene og ved kontinuerlig å forsøke å forbedre effektiviten til utviklingsteamene. Å være ansvarlig også for drift og forvaltning i utviklingsteamet forbedrer kvaliteten på programvaren ettersom det er i utviklernes interesse å få programvaren til å fungere bra og kreve så lite vedlikehold som mulig.

En av kjernetingene vi ikke bør glemme i DevOps kommer fra smidige metoder: samarbeid og kommunikasjon. Dette betyr at det skal være klare kommunikasjonskanaler mellom alle relevante interessenter og en kontinuerlig tilbakemeldingssløyfe fra sluttbrukere til utviklere.

DataOps innebærer et helhetlig ansvar for utvikling og drift av dataprodukter

For å forstå hvordan DataOps skiller seg fra DevOps, trenger vi å forstå hvordan datautvikling skiller seg fra programvareutvikling. På en måte kunne du forenkle det slik:

Forretningsapplikasjoner handler om å automatisere og forbedre forretningsprosesser og funksjoner. Datautvikling handler om å utlede innsikt fra dataene som er opprettet av nevnte forretningsprosesser og applikasjoner.

En av de viktigste forskjellene mellom datautvikling og programvareutvikling er kompleksiteten som følger med å jobbe med data. Data endres kontinuerlig og kan komme fra en rekke forskjellige kilder, noe som gjør det til en utfordrende oppgave å utvikle, håndtere og vedlikeholde datapipelines og produkter. I tillegg er datautvikling downstream og avhengig av de underliggende forretningsapplikasjonene, noe som legger til et ekstra lag av kompleksitet.



Magne Bakkeli

Magne har over 20 års erfaring som rådgiver, arkitekt og prosjektleder innen data & analytics, og forstår godt forretningsmessige og tekniske problemstillinger.