Hver måned har fodboldsiden bold.dk omkring 13 millioner besøgende. Her tjekker fodboldinteresserede tabeller, kampresultater og læser de seneste nyheder fra den danske 2. division over Superligaen til Premier League og La Liga.
Det placerer bold.dk i toppen over danske nyhedsmedier sammen med f.eks. Jyllands-Posten og Politiken.
Men da bold.dk overgik fra et fysisk server-setup til en AWS cloud-løsning i starten af august, begyndte problemerne at vælte ind.
Brugerne kunne i perioder slet ikke tilgå sitet, mange havnede på forkerte landingssider, ligatabellerne var ikke opdaterede, og en lørdag i august gik der helt ged i målene, så forkerte hold fik tildelt mål, de aldrig havde lavet.
Tredobling af trafik i halvlegen
Nu fortæller produktchef Lars Riemann Andersen, produktchef på bold.dk, om overgangen og et par hektiske uger i august hos fodboldmediet.
»Vi har et højt grundniveau fordelt over hele dagen, men når der er store fodboldkampe i tv, så kan vi pludselig se en tredobling af trafikken, eksempelvis når der er halvleg i en kamp mellem Brøndby og FCK, hvor brugerne tjekker nyheder og andre resultater på vores site. Det stiller store krav til vores server-hardware, og vi har balanceret på grænsen af kapaciteten på de fysiske servere, vi har anvendt frem til august,« siger Lars Riemann Andersen.
Derfor valgte bold.dk at begynde migreringen til en cloud-løsning sidste december, hvor opgaven blev sendt i udbud.
»Vi har valgt en cloud-løsning for at opnå en mere skalerbar og fleksibel løsning. Kapaciteten bliver automatisk opskaleret, hvis trafikken stiger, ligesom vi manuelt kan planlægge kapaciteten efter store fodboldkampe,« fortæller Lars Riemann Andersen.
Fra Alibaba til AWS
Faktisk var det slet ikke Amazon Web Services, der var udset til at hoste de danske fodboldresultater i første omgang.
»Vi havde oprindeligt valgt Alibaba Cloud, som vi forsøgte at konvertere til i marts, men her kunne vi hurtigt se, at det ikke var muligt at overføre vores applikationer til den kinesiske cloud-løsning. Derfor afbrød vi samarbejdet og valgte i stedet Amazon Web Services (AWS) og en løsning, hvor vi omlagde en del funktioner til den nye arkitektur inden lancering,« siger Lars Riemann Andersen.
Flytningen blev gennemført tirsdag den 7. august i år. Det var dagen, hvor stikket endeligt skulle trækkes på de tre servere, der stod i Tyskland hos hostingselskabet Hertzner. Det skete efter flere måneders planlægning.
»Vi havde gennemført en lang række test før migreringen, og vi vidste godt, at der kunne være en vis risiko for, at der ville opstå problemer, men uden at vi kunne forudsige præcist, hvad der ville ske,« siger Lars Riemann Andersen.
Bekymringerne blev meget hurtigt konverteret til virkelighed, da flytningen blev sat i gang.
»Nogle databaser opførte sig anderledes. Det tog længere tid end forventet at loade sider, og vi oplevede udfordringer med load balancing, hvor serveren havde en forkert opfattelse af, hvornår et site var i luften. Vores livescore-funktion kan være svære at cache, og her oplevede vi også, at den nye cache fungerede væsentligt anderledes end tidligere.«
Det oplevede bold.dk af problemer ved server-flytningen
Monolitisk kode
At serverflytningen gav fejl, skyldtes ikke kun cloud-løsningen. Koden bag bold.dk var ikke helt ligetil.
Bold.dk gik første gang online for 19 år siden i 1999. Med årene er koden bag sitet bare vokset og vokset.
»Vores site er bygget op over mange år, og vores kode er monolitisk og ikke splittet op i naturlige grænseflader. Historisk har bold.dk været gode til at agere hurtigt og lancere nye tiltag, men den hastighed har også haft betydning for skalerbarheden. Det er vi i gang med at rydde op i nu, så vi får en mere fleksibel virtuel hardware-arkitektur med mere afgrænsede tjenester. På den måde vil en spidsbelastning på vores livescore ikke nødvendigvis påvirke resten af siden i fremtiden, « siger Lars Riemann Andersen.
Serverflytningen betød, at sitet oplevede flere større udfald på serverne, især i weekender, hvor de fleste fodboldkampe afvikles, ligesom en lang række tjenester på sitet blev sat ud af funktion. Først efter 10-12 dage var de fleste fejl rettet.
»Vi er to udviklere og mig der står for driften, og så havde vi en hostingvirksomhed til at stå for selve migreringen og en ekstern rådgiver med AWS-erfaring til at sparre med. Vi havde brug for at få hentet noget søvn, efter vi havde fået løst de fleste problemer på 10-12 dage efter overgangen til cloud.«
Det var ikke kun udviklerne bag bold.dk, der har bidraget til at løse server-problemerne.
»Vores stab af journalister viste sig at være en stor hjælp. Vi har journalister på arbejde mellem kl. 6 om morgenen til midnat, og de var faktisk hurtigere til at opdage fejl end vores overvågningssystemer, så vi hurtigt kunne sætte ekstra servere på, når der opstod en overbelastning.«
Fleksibel arkitektur på ønskelisten
Når man står med en uoverskuelig bunke fejl, handler det om at prioritere.
»Vi stod med den klassiske udfordring: Hvordan spiser man en elefant? Vi valgte at gøre det til en benhård prioritering, hvor brugerne var udgangspunktet. Så måtte vi midlertidigt acceptere kluntede løsninger for eksempelvis vores journalister.«
I dag er serverproblemerne ryddet af vejen, men bold.dk er stadig i gang med at opdatere websitet og de mange tjenester til en mere fleksibel arkitektur.
»Vi har en masse tjenester i den samme kodebase. Vi arbejder med at finde ud af, hvor de rigtige snitflader er, og hvor opdelingen skal laves i naturlige tjenester. Det er den kerneopgave, vi arbejder med netop nu, og som vi er i gang med at ansætte nye medarbejdere til at bidrage til,« siger Lars Riemann Andersen.
Selvom serverflytningen har givet anledning til mange frustrationer hos brugerne, er trafikken ikke dalet markant hos bold.dk.
Undervejs har bold.dk løbende opdateret sine læsere med status på de mange serverproblemer, både på bold.dk og sociale medier.
»Når man er et stort site som vores, er det langtfra gratis at have tidspunkter, hvor tjenesten er helt eller delvist nede. Heldigvis er vores brugere loyale. De er gode til at brokke sig, når noget går galt, men de forsvinder ikke, så længe man er åben omkring, hvad der sker, og hvordan vi prioriterede at løse problemerne.«
Status på bold.dk's tekniske problemer
Han har tre gode råd til andre, der måtte komme til at stå i en lignende situation.
»Prioriter opgaverne, så de vigtigste problemer kommer først, giv dine udviklere ro til at løse kerneopgaverne, så de ikke skal bruge tid på at kommunikere til omverdenen, og få en uafhængig sparringspartner til at hjælpe dig. Man kan ikke læse korrektur på sine egne tekster.«

...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.