I år 2000 fikk Norge sin første, rene nettbank: Skandiabanken. Siden den gang har banken blitt selveid og helnorsk, under navet Sbanken.
Koden til Sbanken skrives av rundt 60 utviklere i Bergen sammen med rundt 20 utviklere i Lisboa, og løsningene server deres omlag 450.000 norske kunder.
Med hyppig brukte apper og nettsider foran store backend-løsninger med høye krav til sikkerhet og reguleringer, står Sbanken overfor mange teknologivalg. kode24 ba derfor banken fortelle litt om valgene de tok i år, og hvilke valg de ser for seg i 2020, til vår serie Kodeåret.
Utviklerne Torjus Eidet og Tobias Rusås-Olsen, sammen med chief data officer (CDO) Christoffer Hernæs, åpner opp om nye favoritter, som hooks - og gamle travere de fortsatt sliter med å bli kvitt.
Hvilke teknologier begynte dere å bruke i 2019? ✨
Steget inn i skyverdenen har påvirket mye av 2019. Vi har hatt en bratt læringskurve rundt vår nye infrastruktur basert på Kubernetes. Her har vi valgt å gå for GitOps-metodikk, med Flux i bunn.
Stort sett ha vi valgt å gå for teknologier i Cloud Native Computing Foundation sin portefølje, som Kubernetes, Linkerd, Prometheus, OpenTelemetry, Fluxcd, med mer.
«Vi har falt fullstendig pladask, og har knapt sett en klassekomponent siden.»
I år har vi endelig fått, og selvsagt tatt i bruk, hooks i React. Vi har falt fullstendig pladask, og har knapt sett en klassekomponent siden. Selv om det er anbefalt å ikke konvertere klassekomponenter til funksjonelle komponenter med hooks, så må vi innrømme at det er vanskelig å la være når man kommer over de.
Vi har også fått øynene opp for front end-testing, ved hjelp av Kent C. Dodds react-testing-library, som gjør det mulig for oss å teste koden slik brukeren faktisk leser sidene våre, og ikke «implementasjonsdetaljer», som man gjerne gjorde før med Enzyme. Vi har også begynt å bruke cypress.io, som gjør ende-til-ende-testing til en lek.
Vi har også skrevet deler av ny kode i Typescript, det er litt opp til hvert team om de ønsker å bruke det eller ikke, men for enkelte prosjekter har vi definitivt sett nytteverdien av å ha definerte typer.
Hvilke teknologier slutta dere å bruke i 2019? 💩
For fjerde året på rad har vi bare nesten klart å kvitte oss med all gammel jQuery-kode. Mystisk nok klarte vi ikke å bli kvitt kakerlakken i år heller.
Vi har også sluttet med nyutvikling på klassisk .NET Framework, men forsetter med uforminsket styrke med .NET Core.
- jQuery er som sex i offentligheten!
Hvilke teknologier antar dere å begynne å bruke i 2020? 🔮
Containerisering vil gjøre oss mer teknologi- og språkuavhengige på backend. Vi håper våre utviklingsteam vil ta til seg denne muligheten og utforsker nye teknologier i større grad enn før.
I React-verden er det både eksisterende og ganske ny funksjonalitet som vi kommer til å ta i bruk i stor skala. Den opplagte førstekandidaten er Suspense med Concurrent mode, som forhåpentligvis vil ta knekken på blinkende lasteikoner en gang for alle.
Vi vil også utforske kodesplitting og dynamisk lasting i større grad enn vi gjør i dag.
Om dere bare skulle lært dere én ny teknologi for å bli klare for 2020, hvilken ville det vært? 💡
Vi må nok, som alle andre, begynne å leke oss mer med Golang.
Dette er «goto-språket» innenfor Kubernetes-sfæren, og vi vil ha godt av mer kompetanse her.
Hva tror dere blir bransjens største utfordringer i 2020? 🔥
Den største hindringen for banken er å holde tritt med den digitale utviklingen og endringer i kundenes forventninger, samtidig som en må kontinuerlig investere i økte regulatoriske krav, samt drive forvaltning og vedlikehold av teknisk gjeld og legacy systemer, fremfor å gå rett på rotårsaken og rydde opp i den underliggende teknologien.
«Bankene må gå fra lukkede monolitter til åpne plattformer.»
En av de største utfordringene er at denne type opprydning ikke gir økte inntekter eller direkte besparelser. Derfor blir ofte denne type modernisering av gammel teknologi forskjøvet i det uendelige.
Bankbransjen er i endring, og selv om få vet helt hvordan sluttspillet vil bli, er det enkelte områder som vi allerede nå kan si med sikkerhet vil prege bransjen fremover: Bankene må gå fra lukkede monolitter til åpne plattformer. Bruk av åpne API-er må gå fra å være et IT-anliggende til noe som gir forretningsmuligheter. Dette krever et kompetanseløft for å se mulighetsrommet, så vel som begrensningene fra både et teknologiperspektiv og et kommersielt perspektiv.
Bruk av data vil bli stadig viktigere, både som beslutningsstøtte så vel som en viktig kilde til skreddersydde brukeropplevelser. Her er veien fra visjon til virkelighet lang dersom en ikke har kontroll på datakvaliteten. Der dårlig datakvalitet kan føre til dårlige enkeltbeslutninger når beslutningene tas av mennesker vil dårlige data føre til systemisk beslutningssvikt i når dette overlates til algoritmene.
Nå går Sbanken over til mikrotjenester
- Vi er godt i gang med å bryte opp den gamle monolitten, forteller arkitekten. Slik hostes Sbanken.