Linkpulse overvåker seg selv med Linkpulse

- De andre systemene klarte ikke å håndtere datamengdene, forteller Magnus Liseter. Det lille selskapet i Ski har nemlig milliardtrafikk.

Magnus Liseter bak pulten hvor driften av Linkpulse styres. 📸: Privat
Magnus Liseter bak pulten hvor driften av Linkpulse styres. 📸: Privat Vis mer

Da vi besøkte Linkpulse i Ski for et halvt år siden, ble vi blåst av banen da de fortalte om trafikken de opplevde.

Opptil 3,5 millioner forespørsler per minutt fyker gjennom analyseverktøyene, som store aviser som Dagbladet og VG bruker til å måle trafikken sin i sanntid.

Det vi ikke rakk å snakke med dem om, var hvordan de fikk til å drifte systemene bak denne massive trafikken.

Derfor huket kode24 tak i Magnus Liseter. 39-åringen fra Ski er nemlig driftsansvarlig i Linkpulse, og har ett og annet å fortelle om hvordan man lykkes med oppsettet.

#1. Hvor hostes det dere bygger i dag? 🏰

Vi hoster Linkpulse hos forskjellige leverandører rundt om i de markedene vi er i. I Europa kjører vi på servere hos Hetzner i Tyskland med en backup-rigg gående hos OVH i Frankrike.

For markedene i Australia og Sørøst Asia er vi på AWS, og for Nord-Amerika kjører vi så langt på OVH i Canada. Vi er uavhengige av datasenter-leverandør så vi velger etter hva vi har tilgjengelig. Pris og ytelse spiller selvsagt inn og at det tilbys et API vi kan integrere mot for automatisering.

#2. Hvordan håndterer dere deploy til servere? 🛫

All kode ligger i Git og vi bruker Ansible til selve utrullingen. Ansible fungerer strålende. Det er enkelt og samtidig et kraftig verktøy som gjør at vi sparer mye tid på nye oppsett, og vedlikehold av eksisterende servere. Konfigurasjon styrer vi fra vårt eget system, men vi er også i gang med å leke med Consul som ser lovende ut for den biten.

«Vi bruker Linkpulse til å overvåke logger fra serverene våre realtime, andre løsninger klarte ikke å håndtere de samme datamengdene.»
Are Pedersen (til venstre) er en av to utviklere i Linkpulse. Thomas Nervik (til høyre) er Customer Success Manager. Nederst er diftsansvarlig Magnus Liseter. Liseter forteller at de er et lite team som velger pragmatiske løsninger for å lykkes. 📸: Privat
Are Pedersen (til venstre) er en av to utviklere i Linkpulse. Thomas Nervik (til høyre) er Customer Success Manager. Nederst er diftsansvarlig Magnus Liseter. Liseter forteller at de er et lite team som velger pragmatiske løsninger for å lykkes. 📸: Privat Vis mer

#3. Hva bruker dere til å holde oversikt over drift? 🔍

Som nevnt over bruker vi Ansible som orkestrerings-verktøy. Munin brukes til overvåkning, i tillegg til et knippe egenutviklede systemer som alle sender alerts til Slack hvis det skulle trenges manuell involvering.

Vi bruker også Linkpulse til å overvåke og parse logger fra serverene våre realtime, da andre løsninger ikke klarte å håndtere de samme datamengdene.

#4. Hva bruker du mest tid på i hverdagen? ☕

Den siste tiden har det gått mye tid til å migrere kunder til vår nyeste versjon og arkitektur, og vi nærmer oss mål her. Det vil si at vi kan slå av en del gamle legacy systemer/servere. Ellers går det mye tid til daglig drift/vedlikehold i tillegg til kundeoppfølging og support.

#5. Hva bruker dere til caching? 👾

På grunn av de store datamengdene, "live"-visning av data og et stort antall brukere i Linkpulse ville det blitt tungt å dra rundt om alle requestene hadde gått helt til backend, så vi har en god del caching.

Varnish ble introdusert med versjon 5 av Linkpulse og fungerer meget bra som cache ut mot brukerne. I tillegg bruker vi Memcached og Redis som cache-lag på ymse steder rundt om i applikasjonene.

Som vanlig har vi bedt om et bilde "i liggende format". 📸: Privat
Som vanlig har vi bedt om et bilde "i liggende format". 📸: Privat Vis mer

#6. Hva bruker dere til domener/DNS? 💙

Her er det nok lite spesielt å nevne - vi bruker Domeneshop til domener/DNS. Vi har sett på løsninger av type DynDNS, men har ikke tatt steget dit enda selv om det nok kommer til å skje om ikke altfor lenge.

#7. Hva er du mest fornøyd med å ha gjennomført i forbindelse med hosting det siste året? 😚

Det må nok være at vi har kommet langt i arbeidet med å gjøre systemene våre redundante og gode på feilhåndtering. Vi har fokus på å bygge alle komponenter slik at de kan feile uten at vi hverken mister logg-data, eller at sluttbrukerne våre merker noe.

«Vi er i gang med å teste ut CDN-løsninger»

#8. Hva har du lyst til å teste/bytte ut fremover? 🤔

Vi er i gang med å teste ut CDN-løsninger, og med et nytt og spennende prosjekt på trappene som potensielt kommer til å gi oss enda mer trafikk kommer det til å bli viktig å få på plass.

#9. Hva skulle du ønske utviklere og kollegaer ble flinkere på? 🍬

Jeg har ikke stort å klage på her gitt! Vi er et lite firma der teknisk avdeling teller hele 3 personer. Så i tillegg til meg på drift har vi to meget dyktige utviklere. Med et såpass lite team og en pragmatisk tilnærming til det meste er det lett å få prioritert inn det som er viktig til enhver tid.