Stacken til Vipps: – Vi bytter fra Azure Devops til GitHub Actions

Dette er teknologiene Vipps bruker på frontend og backend.

Haakon Bakker og hans utviklerteam lager Vipps-appen. 📸: Vipps
Haakon Bakker og hans utviklerteam lager Vipps-appen. 📸: Vipps Vis mer

I denne ukens "Min stack" har turen kommet til mobilbetalingsløsningen Vipps, som de aller fleste av leserne våre antagelig har et forhold til.

Haakon Bakker er Engineering Manager i Vipps MobilePay – selskapet som står bak Vipps-appen.

Han kaller Vipps for "den glade trollmannen" i mobilen, og sier målet med appen er at den i tillegg til å forenkle betalinger mellom privatpersoner også skal gjøre det enklere for butikkeiere å få fornøyde og lojale kunder.

– Hva bygger dere backenden med?

– Vipps er mye mer enn bare en app! Vi bruker en rekke teknologier for å bygge vår backend, avhengig av formålet og funksjonaliteten til de forskjellige tjenestene.

– Vi har valgt Microsoft som vår skyleverandør, og Vipps MobilePay-plattformen kjører i Azure Kubernets Service – AKS.

– Vi har også enighet om retningslinjer for språk og arkitektur. Vi bruker en rekke tjenester og teknologier fra Microsoft, som Azure Functions, APIM og EventHub.

– Når det kommer til programmeringsspråk, bruker vi mye GOlang og C#. Vi utforsker også nye teknologier og verktøy, som GitHub Copilot, for å kontinuerlig forbedre vår backend.

– Hvorfor valgte dere dette på backenden?

Vipps-appen er laget som native-apper til Android og iOS. 📸: Vipps
Vipps-appen er laget som native-apper til Android og iOS. 📸: Vipps Vis mer

Vi synes det er viktig med standardisering. Samtidig skal utviklerne våre ha spillerom når det kommer til teknologi og språk. Teknologiene vi bruker har vi valgt fordi de er pålitelige, godt dokumenterte og har vist seg å være effektive for å bygge en robust og skalerbar backend.

– Hvordan har disse valgene fungert for dere?

– Jeg kan bare snakke for meg selv, men jeg opplever at løsningene fungerer bra. Det er flott å ha en enkel og effektiv vei til målet, men det er også viktig å utforske ny teknologi og verktøy.

– For eksempel ønsket mitt gamle team å prøve funksjonell programmering, så vi prøvde F#. Det var en veldig spennende periode, og vi fikk støtte fra organisasjonen til å prøve noe nytt. Jeg tror det er viktig å fortsette å utforske nye idéer og teknologi, men samtidig er det viktig å huske på at hvis noe fungerer, så bør vi ikke endre det.

«Jeg tror det er viktig å fortsette å utforske nye idéer og teknologi.»

– Og frontenden, hvordan lager dere den?

Våre portaler for brukersteder er bygget i React og Typescript.

– Når det kommer til Vipps-appen er den bygget native til Android og iOS, med henholdsvis Kotlin og Swift.

– Hvorfor valgte dere dette?

– Vi vil at appen skal føles som den hører hjemme på din telefon. Derfor bygger vi den med native teknologi. Så når du bruker Vipps, vil du få en rask, stabil og sømløs opplevelse.

– Ved å bruke native teknologi, kan vi også utnytte plattformenes sikkerhetsfunksjoner og integrere dem i appen for å beskytte dine data.

– Hvordan har det valget fungert for dere? Og vurderer dere å gå over til noe annet?

Nå vet ikke jeg hva som diskuteres på bakrommet, men jeg tror jeg med sikkerhet kan si at vi ikke kommer til å gå over til noe annet.

– Bruker dere andre verktøy?

GitHub Actions tar i disse dager over for Azure DevOps hos oss.

– Mange team bruker også GitHub Projects istedenfor Jira for å holde styr på backlogen. Vi har også implementert utviklerportalen Backstage, som gir oss ett sted å finne informasjon om alt fra "paved roads" og API-spesifikasjoner, til dokumentasjon om hvordan vi overvåker plattformen og spesifikk dokumentasjon for enkeltstående applikasjoner.

– Veldig kort og overordnet kan jeg si at stacken har blitt litt til mens vi har gått. Vi har vært gjennom en del transformasjoner på stacken så langt. Mye har vært bra, og så har vi også lært av feilene våre – that’s part of the game!