Hver påske samles flere tusen mennesker på datapartyet The Gathering i Vikingskipet på Hamar.
Partyet som hadde sin opprinnelse i Amiga-demoscenen har holdt det gående helt siden 1992. Det er nå verdens nest største party for spill- og teknologientusiaster – bare slått av Dreamhack i Sverige.
Det å få alt sammen til å fungere på et så stort arrangement, er imidlertid ingen liten jobb. Ikke bare skal gjengen bak drifte et nettverk som er mer avansert enn det de fleste store bedrifter bruker – som 10 Gbit/s Ethernet til hver deltaker og 50 Gbit/s inn til Vikingskipet. Det er også en masse som skal utvikles og kodes.
Ole Mathias Heggem er "co-chief", altså nestleder i "crewet" Info:Systemstøtte – ett av mange team som jobber med å få The Gathering 2023 på plass.
Vi spurte han om hvordan utviklerne bak The Gathering jobber.
– Ole Mathias, hva gjør Info:Systemstøtte-crewet?
– Vår oppgave er først og fremst å utvikle og effektivt drifte mange av systemene som utgjør The Gathering. Dette inkluderer sentrale deler som nettsiden vår.
– I tillegg fokuserer vi på å videreutvikle frivilligsystemet Wannabe, som spiller en viktig rolle i koordineringen og organiseringen av våre frivillige.
– Pluss mye annet både stort og smått som påmelding til konkurranser og arrangement-loggsystem til sikkerhet og beredskap.
– Hvor mange utviklere er involvert med The Gathering?
– Vi har en liten dedikert gruppe på 4-6 faste medlemmer som tar seg av drift og mindre utviklingsoppgaver gjennom hele året.
– Før og under The Gathering øker vi bemanningen for å dekke behovet, spesielt rettet mot utvikling og støtte.
– Normalt er vi rundt 12 medlemmer under The Gathering. Alle frivillige.
– Vi er alt fra lærlinger, studenter og de som har flere års erfaring i bransjen. Vi mener det er viktig med en god blanding av ferdigheter.
– Hvordan lager dere backenden
– Vår frivillige plattform Wannabe er stort sett bygget på PHP med Laravel-rammeverket og er delt opp i flere mikrotjenester. Keycloak brukes for å håndtere brukere som også lar frivillige bruke single sign on til mange av våre andre tjenester.
– For øyeblikket bruker vi Wordpress med flere egenutviklede utvidelser for tg.no (gathering.org). Vi har React i frontend som leser innhold fra Wordpress' Rest API gjennom Varnish for cache.
– Det går rykter om at vi ønsker å flytte til en annen stack innen 2024. Målet er å bruke noe mer lettvekt på backend og gjøre litt om på formatet på nettsiden. Ettersom prosjektet fremdeles er i en tidlig fase, er ingen avgjørelser endelig truffet. Men i kjent TG-ånd vil det meste sannsynlig falle på plass rett før det trengs!
– Vi har en variert teknologisk blanding, der flere ad-hoc-systemer utvikles med Python og Django.
Vi administrerer alt selv på vårt eget Kubernetes-cluster kjørende på co-location-rack hos Nexthop.
«Vår frivillige plattform Wannabe er stort sett bygget på PHP med Laravel-rammeverket og er delt opp i flere mikrotjenester.»
– Hva med frontenden?
– Frontend er i stor grad bygget med React, og vi benytter både Next.js for å dra nytte av server-side rendering og mer standard React for andre tjenester.
– Vi har i tillegg litt klassisk Javascript uten så mye rammeverk. Mye interne verktøy er bare templates i Django.
– Hvorfor valgte dere disse teknologiene? Ville dere gjort noe annerledes?
– For det meste er utviklerne frie til å velge det som fungerer best for situasjonen.
– For oss er det viktig å oppmuntre til utforskning av nye teknologier og tillate en læringsprosess. Spesielt når ingen har betalt og bruker fritiden sin til det her.
– Jeg er ganske fornøyd med dagens løsning, selv om det alltid kan bli bedre og vi gjerne skulle vært kvitt flere legacy-løsninger. Vi har også lært at det ikke alltid er den peneste løsningen på papiret som er den beste løsningen for oss.
– Bruker dere andre verktøy?
– Vi bruker Github Actions for å bygge og rulle ut applikasjoner og infrastruktur. Sammen med ArgoCD i Kubernetes.
– Lokalt bruker vi Matomo for innsikt i trafikk og bruksmønster. Og Grafana og Prometheus for overvåking av infrastruktur.
Vy velger Kotlin: «Måtte tenke nytt»
– Er det noe annet kode24-leserne bør vite om The Gathering?
– Vi har som mål at så mye som mulig av det vi gjør skal være åpen kildekode. Her har vi rett og slett vært litt dårlige i de siste årene, så vi har en backlog med å åpne opp mer av koden vår.
– Vi har nå åpent for crew-opptak for TG24 og er på jakt etter entusiastiske individer som ønsker å bli en del av vårt crew. Hvis du synes dette høres spennende ut og du har litt tid til overs, oppfordrer vi alle til å sjekke ut wannabe.gathering.org.
– Vi har blant de beste plassene i skipet. Og ja! Vi har blogg, tech.gathering.org!