Hvad er DevOps?

Af Weapp · Opdateret

DevOps er en arbejdsform hvor det samme team både bygger og drifter softwaren, i stedet for at udvikling og drift er adskilt. Automatisering som CI/CD, infrastruktur som kode og overvågning er værktøjer der gør det muligt. Kernen er kultur og delt ansvar snarere end en værktøjskasse man køber: Teamet ejer sin kode hele vejen til produktion.

DevOps er et ord der bruges flittigt og forstås forskelligt. Nogle tror at det er en rolle man ansætter, andre at det er et produkt man køber. I virkeligheden er det en arbejdsform, en måde at tilrettelægge hvordan software bygges og drives. Her er hvad det faktisk betyder.

Problemet DevOps løser

For at forstå DevOps hjælper det at se det problem det opstod for at løse. Traditionelt var udvikling og drift to adskilte verdener. Udviklerne byggede softwaren og “smed den over muren” til en driftsafdeling som skulle få den til at fungere i virkeligheden.

Resultatet var ofte gnidninger. Når noget gik galt i produktion, skød lejrene skylden på hinanden: Udviklerne sagde at det virkede hos dem, driften at koden var umulig at drive. Overdragelserne var langsomme, ansvaret uklart, og ingen ejede helheden fra idé til fungerende tjeneste.

DevOps river den mur ned. Grundtanken er enkel: Det samme team som bygger softwaren, skal også drifte den. Når ansvaret er samlet, og teamet lever med konsekvenserne af sin egen kode i drift, forsvinder skyldspillet, og beslutningerne bliver bedre fordi de der bygger, også ved hvordan det skal køre.

Kernepraksisserne

DevOps bliver muligt gennem nogle få centrale praksisser. De er de værktøjer der gør det praktisk muligt for et team at eje både udvikling og drift.

PraksisHvad den gør
CI/CDAutomatiserer vejen fra kodeændring til idriftsat funktion
Infrastruktur som kodeServere og miljøer beskrives i kode så de kan versionsstyres og genskabes
OvervågningGiver teamet indsigt i hvordan systemet har det i drift, i realtid

CI/CD er det automatiserede flow fra kode til produktion, som gør at teamet kan udgive ofte og sikkert. Infrastruktur som kode betyder at servere og miljøer ikke sættes op manuelt, men beskrives i kode. Koden kan gemmes, gennemgås og køres igen så et miljø kan genskabes identisk i stedet for at være et skrøbeligt stykke håndværk. Overvågning lader teamet holde øje med hvordan tjenesten faktisk opfører sig i drift så problemer opdages og rettes af dem der har bygget den.

Sammen gør disse praksisser det muligt for ét og samme team at bygge, udgive, drifte og forbedre sin software i et sammenhængende kredsløb.

Hvorfor det er kultur og ikke en værktøjskasse

Her ligger den vigtigste og mest misforståede pointe. DevOps er ikke noget man køber. Man kan ikke bestille “en DevOps” og installere den.

Der findes ganske vist masser af værktøjer der understøtter arbejdsformen, og de er nyttige. Men selve kernen er kultur og ansvar: viljen til at eje sin kode hele vejen ud, samarbejdet mellem dem der før var adskilte lejre, og tankegangen om at den der bygger, også interesserer sig for hvordan det går i drift. Køber man kun værktøjerne, men beholder den gamle organisation med muren mellem udvikling og drift, får man ikke DevOps. Man får nye programmer og de samme problemer.

Derfor beskrives DevOps som en kulturel forandring snarere end en teknisk. Værktøjerne gør det muligt, men det er hvordan menneskene arbejder og tager ansvar, der afgør om det bliver DevOps for alvor.

Hvad det betyder i praksis

For dig som kunde er den praktiske effekt at leverancen bliver hurtigere og sikrere, og at ansvaret er samlet. Et team der lever DevOps, kan bygge en funktion, udgive den og stå inde for hvordan den opfører sig i drift uden at bolden bliver tabt mellem afdelinger. Det kan mærkes på en kortere vej fra idé til virkelighed og på færre situationer hvor ingen rigtig ejer et problem.

Hvor langt man tager det, afhænger af størrelse og modenhed: Et lille team gør ofte alt dette helt naturligt mens en stor organisation har en større rejse foran sig. Vil I have hjælp til at bygge en holdbar arbejdsform ind fra starten, tager vi hos Weapp det gerne med i systemarbejdet helt fra begyndelsen.

Ofte stillede spørgsmål

Hvilket problem løser DevOps?

Den gamle kløft mellem udvikling og drift. Traditionelt byggede udviklerne noget og smed det over til en driftsafdeling som skulle få det til at fungere i virkeligheden, med gensidige beskyldninger og langsomme overdragelser til følge. DevOps river den mur ned ved at lade det samme team eje både udviklingen og driften så ansvaret bliver samlet.

Er DevOps det samme som CI/CD?

Nej, men de hænger sammen. CI/CD er en af de centrale praksisser der gør DevOps muligt: det automatiserede flow fra kode til drift. DevOps er den bredere arbejdsform og kultur som CI/CD er et værktøj inden for. Man kan have CI/CD som en teknik, men DevOps handler om hvordan teamet er organiseret og tænker.

Hvad er kernepraksisserne i DevOps?

Først og fremmest tre. CI/CD automatiserer vejen fra kodeændring til idriftsat funktion. Infrastruktur som kode betyder at servere og miljøer beskrives i kode som kan versionsstyres og genskabes. Overvågning giver teamet indsigt i hvordan systemet har det i drift. Sammen lader de det samme team bygge, udgive og tage ansvar for sin software.

Kan man købe DevOps som et produkt?

Nej, og det er en udbredt misforståelse. Der findes masser af værktøjer der understøtter DevOps, men selve DevOps er kultur og arbejdsform: delt ansvar, samarbejde og en vilje til at eje sin kode hele vejen. Køber man kun værktøjerne uden at ændre hvordan teamet arbejder, får man ikke DevOps, bare nye programmer.

Passer DevOps til alle organisationer?

Princippet om delt ansvar for udvikling og drift gavner de fleste, men hvor langt man tager det, varierer. Et lille team lever ofte DevOps helt naturligt fordi de samme personer alligevel gør det hele. En stor organisation med separate afdelinger har mere at vinde, men også en større kulturel rejse foran sig. Ambitionsniveauet bør tilpasses størrelse og modenhed.