The Gathering: – Det går rykter om en ny stack!

Slik lages de tekniske løsningene som får hjulene til ett av verdens største datapartyer til å gå rundt.

The Gathering-crewet "Info:Systemstøtte" sørger for at alle de tekniske systemene fungerer som de skal. 📸: Marius Fylling
The Gathering-crewet "Info:Systemstøtte" sørger for at alle de tekniske systemene fungerer som de skal. 📸: Marius Fylling Vis mer

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.

📸: Marius Fylling
📸: Marius Fylling Vis mer

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

📸: Marius Fylling
📸: Marius Fylling Vis mer

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

📸: Marius Fylling
📸: Marius Fylling Vis mer

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

📸: Marius Fylling
📸: Marius Fylling Vis mer

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

– 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!