Hvorfor DevOps?

Christoffer Vig
Nov 19, 2018 · 3 min read
Image for post
Image for post

Hva er DevOps?

DevOps er en relativt ny metodologi for programvareutvikling, ordet var i bruk første gang i 2009, og er satt sammen av Dev — fra Developer (programvareutvikler) og Ops — Operators (driftspersonnel).

DevOps innebærer et nytt syn på relasjonen mellom utvikling og drift ved at de samme som skriver kode også sitter med ansvaret når koden deres ødelegger noe. Driftsavdelingen sitter med ansvaret for at utviklerene har det de trenger for å kunne ta tilstrekkelig ansvar. Noen utviklere og noen fra driftsavdelingen må snakke sammen, kanskje også bli venner, for å definere og vedlikeholde de rutiner og miljøer som understøtter slikt samarbeid.

Eksempelvis vil en utvikler bygge kode og pakke inn i en docker container, en med fot i begge leire vil konfigurere nettverkstopologi i kubernetes, ingress, databaser og slikt, mens en drifter sørger for at kubernetes-clusteret er sunt. Om du velger kubernetes i skyen fremfor i eget datasenter så er det snakk om outsourcing av drift, ikke devops per se.

Alle skal ikke kunne alt. Juniorprogrammerere på et nytt prosjekt trenger egentlig ikke vite så mye om devops, bare vite at når man commiter kode så skjer sånn og sånn. Mange driftere trenger bare vite at hvis raid-kontrolleren går ned så gjør vi sånn og sånn. Men noen må kjenne tilknytningspunktene i detalj, i krysningen mellom leirene finner man «devops-folket».

DevOps er en praksis som har vokst seg til ut fra nødvendighet. Den har ikke oppstått fra en teoretisk basis, selv om mange prinsipper kan benyttes for å forklare hvorfor det funker såpass bra.

Hvorfor DevOps?

DevOps minimerer tilbakemeldingstiden — “feedback loop”. Det skal være kortest mulig tid fra en idé oppstår i produkteiers hode, til utvikler lager kode, og får rullet det ut i produksjonsmiljø og kan motta tilbakemelding. Dermed kan man kjapt få testet ut nye ideer. Dette er sentralt for smidig utvikling, hvor man ikke ønsker å kaste bort tid på detaljplanlegging før man vet om det funker i praksis. Man ønsker å minimere unødvendig arbeid.

To komponenter bidrar til at DevOps korter ned tilbakemeldingstiden, den ene gjelder Dev, den andre Ops.

Dev: Koden må ha høy grad av automatiske tester. Gode tester sikrer at koden er stabil, gjør det man tror den skal gjøre, og ved innføring av nye egenskaper vil man være sikret at ikke de gamle tilfeldigvis forsvinner.

Ops: Automatisk kontinuerlig utrulling av kode. All kode som sjekkes inn rulles automatisk ut til et fungerende miljø, tilgjengelig for brukere. Dette gjør at nye endringer kan rulles ut hurtig og uten menneskelig involvering, smertefritt. Går noe galt kan man lett rulle ut en ny versjon, eller om det er spesielt kritisk, hente tilbake forrige fungerende versjon.

I boken Accelerate :The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations finner man grundige statistiske undersøkelser av hva som gjør utviklerteam effektive. Boken dokumenterer at utviklerteam som benytter stor grad av automatiske tester, og kontinuerlig ruller ut endringer til brukere, kan vise til en meget høy grad av effektivitet.

Hvorfor DevOps? Brukerne er mer fornøyd når endringer kommer hyppigere og med færre feil.

Begynn med DevOps i dag du også! 🙂

Originally published at cowork.no on November 19, 2018.

Coworkforce

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store