Mange av oss har et langvarig forhold til Lånekassen. Det var jo noen som lånte oss penger under livets glade studiedager.
kode24 har besøkt Oslo-kontoret til Lånekassen for å ta en titt på hvordan det ser ut når et statlig organ flytter tjenestene sine opp i skyen.
På en vanlig lillelørdag har Lånekassen fem millioner tjenestekall i systemene sine, og henter data fra flere enn 40 tredjepartsgrensesnitt. I 2018 ble 860.000 søknader om lån og stipend behandlet.
Mai 2020 er den endelige deadlinen for at Lånekassen skal flytte Modulis, Lånekassens fagsystem, fra Basefarms datasenter til Microsoft Azure.
Denne jobben er det 24 utviklere som står for. Og den er ikke gjort i en håndvending.
Derfor velger de Azure
Lånekassen har jobbet ihuga for å finne en driftstjeneste når plattformen blir en skytjeneste, og ikke i leverandørens datasenter.
- Dette har vært en modningsprosess over lang tid, forteller IT-utviklingsleder Frode Hjeltnes på videokonferanse fra Trondheim.
Her lagres Norge
Bli med innenfor porten til Basefarms datasenter, midt i skogen i Lørenskog.
- Vi fulgte med på trendene og så potensialet dersom vi kom oss opp i skyen. I tillegg gikk en del driftsavtaler ut mot slutten av 2019, så det var riktig tidspunkt for å tenke nytt.
- Azure vil kunne gi oss bedre mulighet til å skalere og øke kapasiteten i gitte perioder, særlig om høsten som er peak for Lånekassen i forbindelse med studiestart.
- Azure har i tillegg til skaleringspotensiale flere interessante AI-tjenester. Blant annet tolkning av skjema og scannede dokumenter for optisk lesing. Denne løsningen vil bistå forvaltningen og effektivisere samfunnsoppdraget til Lånekassen, sier Hjeltnes.
Cloud Native
Modulis driftes i dag av Basefarm, mens administrative tjenester og lokal infrastruktur driftes av Evry.
«Vi har innsett at dette er veien å gå, men det er fortsatt mye usikkerhet.» Frode Hjeltnes
Det er ikke tilfeldig at det ble Azure. Systemet Lånekassen bruker i dag, Modulis, er også bygget på Microsoft-teknologi. Denne Microsoft-kompetansen ville Lånekassen gjerne bygge videre på.
- Vi har innsett at dette er veien å gå, men det er fortsatt mye usikkerhet, blant annet knyttet til hvor fort vi vil klare å utnytte de nye mulighetene skyplattformen gir. Vi ønsker helst å ta i bruke flere «cloud native»-tjenester med en gang. Men på grunn av tidspress er hovedfokus i første omgang å legge til rette for, deretter fortsette transformasjon av, arkitekturen samtidig som vi videreutvikler kjernesystemet og forretningsprosessene, forteller Hjeltnes til kode24.
Lånekassen i et nøtteskall - slik funker masseforvaltning i praksis
- Steg #1: Datafangst
Når du sender en søknad til Lånekassen på Dine sider starter moroa. Da mates data og informasjon fra tredjeparter, for eksempel Skattedirektoratet, universitetet du går på og fra Folkeregisteret, inn i saken som opprettes. - Steg #2: Saksbehandlingen
Når saksgrunnlaget er hentet opp, beregner en regelmotor hvor mye penger du skal ha, og finner ut om saken må innom en saksbehandler for å supplere med mer informasjon eller vurdering. 73 prosent av Lånekassens søknader behandles og utbetales uten at ett eneste menneske er involvert. Søknadene som ikke kan behandles maskinelt sendes til en saksbehandler før den igjen vurderes av regelmotoren og sendes til såkalt effektuering. - Steg #3: Effektuering
Effektuering er fasen hvor sakens resultat i form av rettigheter, utbetalingsplan og vedtakstekster lagres. Tekstene ble opprettet underveis i den maskinelle behandlingen når regelmotoren vurderte og beregnet resultatet. I effektuering blir tekstene satt sammen til et format som egner seg bedre for framvisning til kunden. Utbetalingsplanen lagres og venter på data fra lærestedet om at semesteravgiften er betalt og på at kunden signerer, før utbetaling kan starte.
Unngår en Big Bang
I Oslo sitter utviklerne Simon Ingebrigsten og Christian Simonsen. De jobber med modernisering og justeringer på deler av Modulis parallelt med flytteprosessen til Azure.
«Vi visste at det var en del plukk på forhånd.» Simon Ingebrigsten
De deployer én og én modul til skyen for å se om det fungerer. Et annet team jobber med opprettelsen av testmiljøene i Azure.
Målet er å erstatte de tradisjonelle testmiljøene og få det fullautomatisert.
- Vi leverer tilpasningene i Modulis løpende i eksisterende infrastruktur. Vi vil helst slippe en Big Bang, smiler Simonsen.
- Vi visste at det var en del plukk på forhånd. Vi var på hackaton med Microsoft for å sjekke om prinsippene om transformasjon fungerer for oss og jobber stegvis gjennom det, forteller Ingebrigsten.
Lånekassen ruller dermed ut moderniseringer og forberedelser mot Azure først i Modulis. Så gjør det samme i selve Azure for å kunne forenkle en senere overgang fra IaaS til PaaS.
Fire utviklere jobber med moderniseringen av kodebasen og seks stykker jobber med automatiseringen av testmiljøene.
Lånekassen har lenge hatt kontinuerlig utrulling (CI/CD) til testmiljøene, og utviklerne er vant til å håndtere utrulling og feilretting i miljøene selv, og respondere på feil i produksjon ved behov.
Nå, i forbindelse med overgangen til Azure, tar Lånekassen automatiseringen enda ett hakk videre ved å automatisere selve infrastrukturoppsettet fra mellomvare og ned i tillegg.
Lift and shift
Michal Karpinski er teknisk arkitekt og jobber ved Trondheim-kontoret. Han har vært med å utvikle systemene i Lånekassen siden 2008, og har avgjort hvilke tekniske verktøy som brukes.
Slik økte vi kvinneandelen blant våre utviklere
- Det holder ikke bare å ønske seg flere kvinnelige utviklere.
Han jobbet først med implementeringen av Modulis, og nå migreringen til Azure. Karpinski forteller at de forsøker å minimere risikoen ved å gjennomføre såkalt "lift and shift"-flytting:
Gradvis skriver utviklerne om Modulis til å benytte plattformtjenester i Azure i stedet for å kjøre ting på virtuelle Windows-servere.
- Vi nærmer oss ferdig med fullautomatisering av testmiljøene i Azure, men så er det jo de siste prosentene som er vanskeligst og tar mest tid, sier han til kode24.
- Ting kan oppføre seg annerledes og yte annerledes, derfor er det nødvendig å justere underveis og holde tilbake. Vi jobber helt klart etter lift and shift-metoden i denne migrasjonen og gjør det stegvis.
Slik jobber utviklerne
I Lånekassen jobber de så smidig som mulig etter SCRUM-metoden, og IT- avdelingen er delt mellom Trondheim og Oslo.
- Det er ikke mange ledd du skal gjennom, hverken horisontalt og vertikalt, for å få svar på spørsmål eller sette nye prioriteringer, er de to utviklerne Ingebrigsten og Simonsen i Oslo enige om.
Distansen mellom kontorene bygger utviklerne bro mellom via videokonferanser.
De er i tillegg organisert i ulike team, der noen er ansvarlige for den daglige oppfølgingen av systemene mens andre jobber med ulike kortsiktige og langsiktige tiltak.
Ingen presedens i Norge
Lånekassen behandler ytterst sensitive personopplysninger.
- Det er ingen presedens for å flytte slik informasjon opp i skyen her i Norge. Vi må være helt sikre på at alle data vi har er godt nok sikret, og at mekanismene for autentisering, autorisasjon og logging fungerer som de skal, forteller Karpinski.
Microsoft er i skrivende stund i ferd med å bygge datasentre i Norge, og det er nærliggende å tro at det er en av årsakene til at Lånekassen har valgt en tjeneste av samme leverandør.
Men det var ikke utslagsgivende for valget. Som Hjeltnes sier:
- I praksis er det ingen krav om at dataene fra den daglige driften skal huses i Norge.
- Jeg tror Microsoft glemte utviklerne
Den norske Azure-direktøren om norske datasentre, VSCode, GitHub, Windows og ikke minst; Linux.