Hva er DevOps?
DevOps er en arbeidsmåte der samme team både bygger og drifter programvaren, i stedet for at utvikling og drift er atskilt. Automatisering som CI/CD, infrastruktur som kode og overvåking er verktøy som gjør det mulig. Kjernen er kultur og delt ansvar snarere enn en verktøykasse man kjøper: Teamet eier koden sin hele veien til produksjon.
DevOps er et ord som brukes mye og forstås ulikt. Noen tror det er en rolle man rekrutterer til, andre at det er et produkt man kjøper. I virkeligheten er det en arbeidsmåte: en måte å organisere utviklingen og driften av programvare på. Her går vi gjennom hva det faktisk betyr.
Problemet DevOps løser
For å forstå DevOps hjelper det å se på problemet det vokste frem som et svar på. Tradisjonelt var utvikling og drift to atskilte verdener. Utviklerne bygde programvaren og «kastet den over veggen» til en driftsavdeling, som skulle få den til å fungere i virkeligheten.
Resultatet ble ofte friksjon. Når noe gikk galt i produksjon, la leirene skylden på hverandre: Utviklerne sa at det fungerte hos dem, driften at koden var umulig å drifte. Overleveringene var trege, ansvaret uklart, og ingen eide helheten fra idé til fungerende tjeneste.
DevOps river ned den veggen. Grunntanken er enkel: Det samme teamet som bygger programvaren, skal også drifte den. Når ansvaret er udelt (teamet lever med konsekvensene av sin egen kode i drift), slutter partene å skylde på hverandre, og beslutningene blir bedre fordi de som bygger, også vet hvordan det skal kjøres.
De sentrale praksisene
DevOps blir mulig gjennom noen sentrale praksiser. De er verktøyene som gjør det praktisk mulig for et team å eie både utvikling og drift.
| Praksis | Hva den gjør |
|---|---|
| CI/CD | Automatiserer veien fra kodeendring til produksjonssatt funksjon |
| Infrastruktur som kode | Servere og miljøer beskrives i kode som kan versjonskontrolleres og gjenskapes |
| Overvåking | Gir teamet innsikt i hvordan det står til med systemet i drift, i sanntid |
CI/CD er den automatiserte flyten fra kode til produksjon, som gjør at teamet kan rulle ut ofte og trygt. Infrastruktur som kode innebærer at servere og miljøer ikke settes opp for hånd, men beskrives i kode. Koden kan lagres, gjennomgås og kjøres på nytt slik at et miljø kan gjenskapes identisk i stedet for å være et skjørt håndverk. Overvåking gir teamet oversikt over hvordan tjenesten faktisk oppfører seg i drift slik at problemer oppdages og rettes av dem som har bygget den.
Sammen gjør disse praksisene det mulig for ett og samme team å bygge, rulle ut, drifte og forbedre programvaren sin i et sammenhengende kretsløp.
Hvorfor det er kultur, ikke en verktøykasse
Her ligger det viktigste og mest misforståtte poenget. DevOps er ikke noe man kjøper. Man kan ikke bestille «en DevOps» og installere den.
Riktignok finnes det mange verktøy som støtter arbeidsmåten, og de er nyttige. Men selve kjernen er kultur og ansvar. Det handler om viljen til å eie koden sin hele veien ut, om samarbeid mellom tidligere atskilte leirer og om et tankesett der den som bygger, også bryr seg om hvordan det går i drift. Kjøper man bare verktøyene, men beholder den gamle organisasjonen med veggen mellom utvikling og drift, får man ikke DevOps. Man får nye programmer og de samme problemene.
Det er derfor DevOps beskrives som en kulturendring snarere enn en teknisk endring. Verktøyene gjør det mulig, men om det faktisk blir DevOps, avgjøres av hvordan menneskene jobber og tar ansvar.
Hva det betyr i praksis
For deg som kunde er den praktiske effekten at leveransene blir raskere og tryggere, og at ansvaret er samlet. Et team som praktiserer DevOps, kan bygge en funksjon, rulle den ut og ta ansvar for hvordan den oppfører seg i drift uten at noe faller mellom to stoler når arbeidet går fra én avdeling til en annen. Det merkes i form av kortere vei fra idé til virkelighet og færre situasjoner der ingen egentlig eier et problem.
Hvor langt man tar det, avhenger av størrelse og modenhet. Et lite team gjør ofte alt dette helt naturlig, mens en stor organisasjon har en lengre vei å gå. Vil dere ha hjelp til å bygge inn en arbeidsmåte som holder over tid, gjør vi i Weapp det gjerne til en del av systemutviklingen helt fra begynnelsen.
Ofte stilte spørsmål
Hvilket problem løser DevOps?
Det gamle gapet mellom utvikling og drift. Tradisjonelt bygde utviklerne noe og kastet det over til en driftsavdeling som skulle få det til å fungere i virkeligheten, med gjensidige beskyldninger og trege overleveringer som resultat. DevOps river ned den veggen ved å la samme team eie både utviklingen og driften slik at ansvaret blir udelt.
Er DevOps det samme som CI/CD?
Nei, men de henger sammen. CI/CD er en av de sentrale praksisene som gjør DevOps mulig: den automatiserte flyten fra kode til drift. DevOps er den bredere arbeidsmåten og kulturen som CI/CD er et verktøy innenfor. Man kan ha CI/CD som en teknikk, men DevOps handler om hvordan teamet er organisert og tenker.
Hvilke praksiser er sentrale i DevOps?
Først og fremst tre. CI/CD automatiserer veien fra kodeendring til produksjonssatt funksjon. Infrastruktur som kode betyr at servere og miljøer beskrives i kode som kan versjonskontrolleres og gjenskapes. Overvåking gir teamet innsikt i hvordan det står til med systemet i drift. Sammen gjør de det mulig for ett og samme team å bygge, rulle ut og ta ansvar for programvaren sin.
Kan man kjøpe DevOps som et produkt?
Nei, og det er en vanlig misforståelse. Det finnes mange verktøy som støtter DevOps, men selve DevOps er kultur og arbeidsmåte: delt ansvar, samarbeid og en vilje til å eie koden sin hele veien. Kjøper man bare verktøyene uten å endre hvordan teamet jobber, får man ikke DevOps, bare nye programmer.
Passer DevOps for alle organisasjoner?
Prinsippet om delt ansvar for utvikling og drift er en fordel for de fleste, men hvor langt man tar det, varierer. Et lite team praktiserer ofte DevOps helt naturlig fordi de samme personene gjør alt uansett. En stor organisasjon med separate avdelinger har mer å vinne, men også en større kulturell omstilling foran seg. Ambisjonsnivået bør tilpasses størrelse og modenhet.