DevOps i DR: »Man skal erkende, at man ikke kan bruge et år på at teste et værktøj«
I 2018 forventer DR op til 19 millioner requests i minuttet på Danmarks største hjemmeside, dr.dk.
De danske medieforbrugere er hastigt i gang med at skifte analoge kanaler ud med digitale platforme. Og det kræver hurtige og hyppige iterationer at følge med behovet.
»Vi har typisk omkring 50 deployments om ugen på de her produkter,« indleder Mikkel Müller, der er underdirektør i DR Teknologi og medievirksomhedens CIO.
»Det giver en rigtig god case for automatisering og DevOps.«
DevOps er en sammentrækning af ordene development og operations. Konceptet er implementeret på utallige måder i virksomheder verden over - som værktøj, som kultur eller som en person eller arbejdsgruppe. DevOps er dog ikke én af disse ting, men bør snarere forstås som en paraply-betegnelse for ældre og nyere principper inden for softwareudvikling. DevOps trækker på principper fra agil udvikling og det agile manifest, men udvider principperne til agil kvalitetssikring og agil deployment, f.eks. i form af continuous delivery. Dette indbærer typisk fokus på automatisering af processer som f.eks. automatisk test af kode og automatisk deployment af nye releases. Målet med en automatisk pipeline er typisk at give virksomheden mulighed for at rulle ny kode ud flere hundrede gange om ugen og samtidig stole på kodens kvalitet.DevOps og automatisering
Beslutningen om at indføre DevOps i mediehuset er stadig ny. I november blev afdelingen skabt med to ansatte. Nu tæller DevOps-holdet fire medarbejdere, og DR rekrutterer stadig.
»Det kræver mange ressourcer at få en automatiseret pipeline op, og det skal man ikke undervurdere. Det har været en udfordring, men vi er kommet godt på vej.«
Oprindeligt forsøgte DR Teknologi at give DevOps rollen til infrastruktur-afdelingen, »men det kom aldrig rigtig i gang«, forklarer Mikkel Müller.
»Vi tog beslutningen om at lave et nyt dedikeret team, fordi vi fandt ud af, at du ikke kan gøre det her samtidig med, at du skal alt muligt andet.«
Kulturbærende
Målet har fra starten været at lave en pipeline, som giver udviklere en effektiv proces hele vejen fra build og test over deployment til drift. Og at sprede en kultur, hvor alle har ansvar for, at hjemmeside, app, streaming, podcast med videre fungerer.
»Traditionelt havde vi udviklingsteams, der gennemførte projekter og udviklede features, hvorefter de blev driftet af driftsafdelingen. Det giver nogle udfordringer, fordi man lever i forskellige verdener i drift og udvikling,« fortæller Mikkel Müller.
»Vi vil gerne have en kultur, hvor alle er fælles om at have fokus på brugeroplevelsen i det digitale produkt. Det kræver, at udviklere også tager ansvar for performance og loadtider og ikke sender det videre til en driftsafdeling.«
Tilgangen kræver en høj grad af samarbejde. Og det kræver, at man kommer væk fra de traditionelle it-siloer, siger Mikkel Müller.
»Der vil altid være snitflader, men infrastruktur, devops og udviklere skal tænke på helheden og respektere hinanden.«
Værktøjer skal kunne smides væk
Build: Travis CI til Node.JS og PHP. AppVeyor til .NET Test: Runscope og Ghost Inspector IaaS/PaaS: AWS, Heroku og Azure Logning og Monitorering: Papertrail og NewRelic Sikkerhedstest og load test foregår stadig ad hoc. I de kommende måneder vil de værktøjer også blive en del af den automatiserede pipeline.Cloudtjenester i brug hos DR.dk
Til formålet har DevOps-teamet indført en række standardværktøjer, der skal understøtte blandt andet automatisering. De er valgt i tæt samarbejde med de udviklere, der skal bruge dem, understreger Mikkel Müller.
»Vi skal udnytte det pull, der er fra udviklerne, som også sagtens kan se gevinsten i automatiserede tests og continuous deployment,« siger han og fortsætter:
»Frem for at indføre værktøjer top down og trække værktøjer og processer ned over hovedet på udviklerne, så giver man dem de værktøjer, de efterspørger.«
Fra DevOps-afdelingen har man lagt vægt på, at det skal være standardværktøjer, der nemt kan skiftes ud, så udviklere hele tiden bruger det rette værktøj til den rette opgave.
»Man skal erkende i den her verden, at man ikke skal bruge et år på at evaluere, om et værktøj er det rigtige. Så er det bedre at prøve noget af og gå på kompromis med den helt specielle funktionalitet, for om et år har du alligevel brug for nogle nye funktioner, fordi behovene har ændret sig, eller værktøjerne har udviklet sig i andre retninger,« forklarer Mikkel Müller.
Skyen først
I det hele taget er fleksibilitet nøglen i DR’s DevOps-strategi. Af samme grund forventer Mikkel Müller, at holdet kommer til at bruge Docker rigtig meget.
»Det er et skridt i retning af, at man gør udviklere bedre i stand til at tage ansvaret, fordi man får færre bindinger mod servermiljøet og samtidig udnytter ressourcer mere effektivt,« siger Mikkel Müller og tiløjer:
»Vi vil ikke have et DevOps-hold, der bliver som en infrastrukturafdeling bare for AWS-tjenester.«
Dr.dk nåede i november sidste år op på over tre millioner unikke brugere og er set over sidste år Danmarks største hjemmeside målt på brugere og sidevisninger, viser tal fra Danske Medier. Fordi kapacitetsbehovet svinger meget, er store dele af dr.dk på vej i skyen.
»Hvis der er valg, en EM-finale eller noget andet stort, kan vi have ekstremt mange brugere i forhold til en almindelig eftermiddag. Der giver det mening med et setup, hvor man kan skalere og betale for det, man bruger,« fortæller CIO'en.
DR anvender desuden en række eksterne udviklingspartnere, der skal kunne udvikle, teste og deploye på samme platform, som DR bruger.
»Det kan nemt give udfordringer med et traditionelt setup,« siger Mikkel Müller.
Cloud-first-strategien betyder også, at DevOps-holdet får endnu en opgave i form af kapacitetstyring:
»Det er så nemt at lave nye instanser, og hvis man ikke har fokus på at få dem lukket igen, så kan det blive dyrt.«

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.