Hos Lånekassen sitter 350 ansatte med ansvaret for lån og stipend til 1,2 millioner nordmenn. 200 av dem er kunde- og saksbehandlere, mens 50 stykker i Oslo og Trondheim er ansatt på IT, for å bygge og drifte de tekniske systemene.
- Vi drifter et egenutviklet system for saksbehandling, og egenutviklede kundeportaler som lanekassen.no og Dine Sider, forteller Ida Grinnen til kode24.
Hun leder avdelingen applikasjonsforvaltning i Lånekassen.
«Vi forvalter i stor grad også produksjonsmiljøet selv, og er hands on både i feilsituasjoner og ved planlagte endringer.»
Applikasjonene hennes gjør en helmaskinell behandling av 74 prosent av alle søknadene de mottar. Og når det koker på sommeren, får de rundt én million innlogginger på Dine Sider i måneden, og opp mot 10.000 søknader hver dag.
- Vi er én av landets største banker i utlån, og har totalt 225 milliarder kroner i utlånsportefølje. Studieåret 2020/2021 tildelte og utbetalte vi over 37 milliarder kroner, og hadde nå i mars en utbetalingstransaksjon på 2,1 milliarder kroner på én dag, sier Grinnen.
Vi tok en prat til serien vår "Slik drifter vi" om nøyaktig hvordan de får det til.
Hva er det mest unike med driftsbehovene deres? ✌
Vi har et sterkt team med applikasjonsforvaltere (devops-ere), og vi gjør kanskje mer selv enn mange andre innenfor applikasjonsdrift.
Vi har egen DBA, full kontroll på alle schedulerte jobbkjøringer, og provisjonerer testmiljø til hver sprint.
Vi forvalter i stor grad også produksjonsmiljøet selv, og er hands on både i feilsituasjoner og ved planlagte endringer.
Utviklere i det offentlige tjener minst, selvstendige konsulenter mest
Hvor hostes og driftes det dere bygger i dag? 📦
Alt hostes i Microsoft Azure innenfor EU, hovedsakelig på IaaS, men vi har startet på en Kubernetes-plattform, og produksjonssetter vår første tjeneste der nå i april.
Testmiljøene har vi driftsansvar for selv, mens vår driftspartner, Sopra Steria, har ansvaret for preprod og produksjon. I driftsansvaret til Sopra Steria ligger overvåking, alarmering, backup og sikkerhet.
Accenture utfører overvåking av sikkerhetshendelser og penetrasjonstesting på våre vegne.
Hvordan håndterer dere deploy til serverene? 🚗
Deployment er automatisert, og foregår ved hjelp av CI/CD-pipelines i Azure DevOps og egenutviklet deployment-portal.
Driftsleverandør er normalt sett ikke involvert ved release.
Hva bruker dere til å holde oversikt over drift? 📈
Azure DevOps for sporing av alle saker og endringer internt, Log Analytics og AppDynamics for ende-til-ende-overvåking på applikasjonslaget og diverse logg- og overvåkingsverktøy.
Solarwinds har vi tilgang til via driftsleverandør.
Hvordan håndterer dere caching? 💾
Implementasjon varierer fra tjeneste til tjeneste, men produkter som vektlegges er for eksempel Redis og Cosmos DB.
Derfor valgte NRK Lit, Spring Boot, MySQL og Kubernetes for Maskorama
Hva bruker dere til domener og DNS? 📚
Kombinasjon av AAD og AD for domene. Vi bruker DNS Zones i Azure for public DNS og internt bruker vi Azure Private DNS Zones.
Hva er det mest krevende når det kommer til drift hos dere? 😅
Det er antakelig domeneforståelsen i et komplekst system med mange avhengigheter.
Vi har også en ansvarsfordeling i produksjon, som krever tydelig kommunikasjon og god koordinering med driftsleverandør.
Lånekassen fant ikke utviklere til 6 av 17 jobber
Hva bruker dere mest tid på i hverdagen, når det kommer til drift? ⏰
Det siste året har vært preget av en todeling mellom ny og gammel infrastruktur, det vil si utvikling av ny IaC-kode for Azure Kubernetes Services i parallell med videreutvikling og forvaltning av eksisterende løsning.
En trend vi har sett er at leveranser med infrastruktur-endringer, både ny og gammel, krever tett oppfølging hele veien fra lavere testmiljø, til preprod og videre til produksjon.
Vi ser også at en del «felleskomponenter», slik som sertifikater og forvaltning av disse, tar mye tid i perioder.
Automatisering er ofte et godt svar på effektivisering, men da må man også ha nok tid til å forvalte selve automatiseringskoden.
Det er også viktig å få frem at ikke alle løsninger er klare for å automatiseres fullt ut, fordi man over tid, naturlig nok, har bygget opp en del teknisk gjeld, og dermed kreves det mer tid når man skal skrive IaC-kode.
«Det å klare å sette av mye av app-drifts-teamet til utvikling av ny infrastruktur, samtidig som vi holder resten av fabrikken i full drift, er en tøff prioritering.»
Hva er du mest fornøyd med å ha gjennomført i forbindelse med drift det siste året? 💪
De siste to årene har vært preget av høyt leveransetempo, og utrulling av nye ordninger for å støtte studentene gjennom pandemien og for å håndtere økte strømutgifter.
Det å klare å sette av mye av app-drifts-teamet til utvikling av ny infrastruktur, samtidig som vi holder resten av fabrikken i full drift, er en tøff prioritering, men avgjørende for å skape fornying og endring.
Transformasjon og videre utnyttelse av skytjenester var én av driverne for å løfte oss til Microsoft Azure.
Sånn takler Geodata 100.000 forespørsler i minuttet med Kubernetes
Hva har du lyst til å teste eller bytte ut fremover? 💸
Vi er som nevnt i full gang med å bygge plattformen på Azure Kubernetes Services for å flytte flere tjenester over.
Den første tjenesten vi flytter nå i april vil bane vei for flere, og danne erfaringsgrunnlag for hvordan vi skal endre systemlandskapet vårt de kommende årene. Vi har tro på å teste ut små deler for å skaffe erfaring, minimere risiko og bevise verdi.
Ett av effektmålene vi håper å se, er kortere vei fra utvikling til produksjon. På sikt er jeg spent på hvilken effekt det har på den ansvarsfordelingen vi er vant til i dag.