Analyseselskapet Linkpulse utfordrer Google fra et lite lokale i Ski sentrum. Fra venstre: Head of sales Aleksander Lidén Pettersen, hosting-ansvarlig Magnus Lieseter, utvikler Nils Hofgaard og daglig leder Tarjei Gilbrandt. Foto: Jørgen Jacobsen.
Analyseselskapet Linkpulse utfordrer Google fra et lite lokale i Ski sentrum. Fra venstre: Head of sales Aleksander Lidén Pettersen, hosting-ansvarlig Magnus Lieseter, utvikler Nils Hofgaard og daglig leder Tarjei Gilbrandt. Foto: Jørgen Jacobsen. Vis mer

Linkpulse må takle milliardtrafikk

Et lite firma i Ski mottar opptil 3,5 millioner requests i minuttet, med MongoDB og Perl.

I en anonym bygning i Storgata i Ski sentrum, ligger kontoret til analyseselskapet Linkpulse. Et firma med kun to utviklere, som likevel konkurrerer med store tjenester som Google Analytics om å levere klikkdata.

Nils Hofgaard er utvikler og Director of Technology hos Linkpulse. Foto: Jørgen Jacobsen
Nils Hofgaard er utvikler og Director of Technology hos Linkpulse. Foto: Jørgen Jacobsen Vis mer

- Jeg pleier å sammenligne oss med speedometer i en bil, forteller Nils Hofgaard, en av hovedutviklerne bak tjenesten Linkpulse.

- Du trenger noe som passer på at du holder farta.

Helt siden starten i år 2000 har Linkpulse levert analyseverktøy til norske nettsteder og nettaviser. Løsningen i seg selv startet som en diskusjon mellom to ansatte i SOL: Funker bilder eller tekst bedre på lenker?

Et lite Perl-script ble til en hel applikasjon, og så slang både VG og Dagbladet seg på.

Dagbladet tok avgjørelser

- Dagbladet tok faktisk mange beslutninger basert på Linkpulse og Clickflow, forteller Nils.

Clickflow var navnet på Linkpulse frem til 2002, da navnet ble skiftet til Linkpulse og Clickflow ble til en rapport i et større program.

Bilde av Dagbladet 26. februar 2002. Da høyre og venstremenyer fortsatt var aktive. Fotomontasje: The Internet Archive / Jørgen Jacobsen.
Bilde av Dagbladet 26. februar 2002. Da høyre og venstremenyer fortsatt var aktive. Fotomontasje: The Internet Archive / Jørgen Jacobsen. Vis mer

- Før trodde man at det var viktig å ha meny både på venstresida og høyresida av nettavisa. Analyser i Linkpulse gjorde at Dagbladet fjernet menyene én etter én, forteller Nils.

Det skulle vise seg å være praktisk når smartmobilene med begrenset bredde ankom.

Vanvittig trafikk

I dag leverer Linkpulse live-data til nær sagt alle de store mediehusene i Norge. Både NRK, Dagbladet, VG, Nettavisen og samtlige av Amedia sine aviser leverer tall til Linkpulse.

I tillegg har det lille selskapet avtaler med store internasjonale aviser som Süddeutsche Zeiting, en av de største daglige avisene i Tyskland.

Live-dashboardene til Linkpulse er godt synlig i de fleste store mediehus. Her synes Linkpulse sitt eget live-dashboard i horisonten i Linkpulse sine lokaler. Foto: Jørgen Jacobsen
Live-dashboardene til Linkpulse er godt synlig i de fleste store mediehus. Her synes Linkpulse sitt eget live-dashboard i horisonten i Linkpulse sine lokaler. Foto: Jørgen Jacobsen Vis mer

«Live-dashboard»-ene til Linkpulse er som regel synlige på storskjermer over alt i lokalene til de store mediehusene, og oppdateres konstant med ferske brukertall.

- Vi mottok 40 milliarder requester til API-et vårt i august, forteller Nils.

- Denne søndagen nådde vi faktisk ny rekord med 3,5 millioner requests i minuttet skyter Head of Sales, Aleksander Lidén Pettersen inn.

Med slik enorm trafikk skulle en tro at skalering ville være et umenneskelig problem for to utviklere og et par hosting-ansvarlige å håndtere, men gjengen i Linkpulse har lite problemer med teknologistacken sin.

- Alt pumpes rett inn i MongoDB, forteller Nils.

Ikke noe problem med MongoDB

- Vi ditchet faktisk SQL og gikk over til MongoDB for flere år siden, forteller han.

Selv om Reddit-brukere og sinte «DevOps» på internett ofte svartmaler ytelsen til NoSQL-databaseprogrammet MongoDB i produksjon, har ikke Linkpulse gjengen opplevd problemer.

Linkpulse-gjengen opplever få problemer med MongoDB i produksjon. Magnus Lieseter jobber som hosting-ansvarlig i Linkpulse. Foto: Jørgen Jacobsen
Linkpulse-gjengen opplever få problemer med MongoDB i produksjon. Magnus Lieseter jobber som hosting-ansvarlig i Linkpulse. Foto: Jørgen Jacobsen Vis mer

- For oss har det ikke vært et problem å få Mongo til å skalere, forteller Nils.

- Det handler om å forstå hvordan man skal lagre data. Jeg blir stadig forbauset når jeg hører at skalering er et problem i MongoDB. Vi har ikke problemer med det her. Så lenge man strukturerer dataene så de passer i minnet, og ikke har alle kunder på samme cluster, går det helt fint. Mange tror at "Big Data" handler om å ta vare på all data. Vi har vært veldig flinke på å hele tiden stille oss de riktige spørsmålene om dataen vi lagrer trengs.

- I tillegg klarer vi det på en tredjedel av serverkapasiteten til konkurrentene våre.

Klar for GDPR

Nettop den omhyggelige kontrollen over egen data mener gjengen har styrket Linkpulse mot GDPR; personvernforordningen fra EU som trådte i kraft 25. mai. Forordningen har som mål å styrke enkeltpersoners kontroll over data lagret om dem på internett.

«GDPR er ikke et problem, det er en kjempe-mulighet!»

- Allerede i 2012 mente vi at privacy-hensyn kom til å bli et problem på nett, forteller Nils.

- Vår mening er at det å tracke én til én-brukere er bortkasta tid. Vi tracker ikke brukere på tvers av artikler. Vi tracker heller ikke brukere på tvers av kunder, og deler aldri data fra kunde «A» med kunde «B». Det er mulig å lage bra live-verktøy uten å gå på kompromiss av datahensyn.

- Ingenting på server-siden gjør det mulig for oss å sjekke at en bruker leser den og den saken. Vi lagrer en førsteparts-cookie hos brukeren som sendes til access-loggen på webserverne våre, men den blir også aggregert bort i dataen vår, og brukes kun til debugging.

- Accessloggen tømmes hver dag, og etter det har vi mistet all informasjon om enkeltbrukere. Når GDPR kom så var vi GDPR-klare, sier Nils bastant.

Det var det tydeligvis flere som mente. Aftonbladet, en av Sveriges største nettaviser, valgte selv å skrinlegge sin egenutviklede løsning, og gå over til Linkpulse.

- GDPR er ikke et problem, det er en kjempemulighet! sier Nils.

Perl er helt rå

Selv om SQL ble kastet på dør til fordel for MongoDB, har gjengen beholdt mye av den historiske teknologi-stacken i programvaren sin.

Perl-boka er fortsatt trygt plassert i hylla hos Linkpulse. Foto: Jørgen Jacobsen
Perl-boka er fortsatt trygt plassert i hylla hos Linkpulse. Foto: Jørgen Jacobsen Vis mer

Script-språket Perl, som mange utviklere i 2018 knapt har sett eller hørt om, er fortsatt godt representert i Linkpulse. Og Nils er fortsatt fornøyd med hva språket leverer.

- Perl er helt rå på å parse store datamengder. Språket har en kraftig REGEX-motor og prosesserer store tekstfiler veldig raskt.

Nils advarer likevel om at man må skrive pen kode for å bruke Perl. Det er fort gjort at det blir rotete. Men har man orden i sysakene, gjør Perl jobben.

- Vi er pragmatiske i forhold til løsninger her. Fungerer det bra nok og gjør jobben sin, hvorfor bruke tid og energi på å bytte det ut?

Utvikler Nils Hofgaard mener Linkpulse har litt andre krav til Javascript enn mange andre applikasjoner. Foto: Jørgen Jacobsen
Utvikler Nils Hofgaard mener Linkpulse har litt andre krav til Javascript enn mange andre applikasjoner. Foto: Jørgen Jacobsen Vis mer

Ingen moderne Javascript-rammeverk

På rapportsidene måtte teamet derimot bytte ut Perl med PHP, og de har leflet med Javascript i live-grensesnitet sitt. Men noe nymoderne Javascript-rammeverk som Angular eller React har ikke kommet på plass.

- Vi har ikke ressurser til det, dessuten har vi noen utfordringer som vanlige nettsteder ikke har, forklarer Nils.

Frontenden til Linkpulse sitt live-grensesnitt mottar nemlig enorme mengder data konstant. Det fører til et høyt minneforbruk på klientene med ekstremt mange parallelle jobber i nettleseren. Noe som har ført til at teamet mest av alt fokuserer på vanilla Javascript, med innslag av jQuery og enkelte graf-biblioteker.

Teamet er hele tida på jakt etter ting som kan fjernes fra grensesnittet for å få applikasjonen til å gå raskere. De siste årene har de blant annet skalert ned antall animasjoner og leflet med egne GUI-komponenter skrevet med «HTML5 Canvas».

Resepsjonist og hund Simba tar i mot oss på kontoret til Linkpulse. Hun gjør også linjesupport, skyter utvikler Nils Hofgaard inn.
Resepsjonist og hund Simba tar i mot oss på kontoret til Linkpulse. Hun gjør også linjesupport, skyter utvikler Nils Hofgaard inn. Vis mer

Det aller viktigste for å lykkes

Gjengen er likevel enig om hva som er nøkkelen til deres suksess.

- Jobber du her, så jobber du med support, poengterer daglig leder Tarjei Gilbrandt.

- Det er ett fett hva alle er.

Nils Hofgaard nikker bekreftende.

- Support er der vi lærer. Der får vi de beste og dummeste spørsmålene, og vi lærer like godt av begge. Er du ikke villig til å jobbe med support, er ikke dette arbeidsplassen for deg.

- I tillegg er det viktig at alle får si sin mening. Vi starter aldri et prosjekt uten at alle har vært med, og aldri uten at det er et behov.

Det er tydelig at de er inne på noe. Den lille bedriften fra Ski leverte i fjor et resultat på 10 millioner, med 3 millioner i overskudd.

Og selv om de har fått nye Tyske eiere, i annonse-selskapet Plista, har de beina godt planta på jorda.

- Plista ønsket at vi skulle flytte til Berlin en periode, men det er helt uaktuelt. Vi har bygd en base i Ski, og satset på lokale utviklere. Vi blir her, avslutter Tarjei.