Sånn lager SpareBank 1 sin nye skyplattform: - Tidlig ute med Bicep

- Eunomia skal gjøre det "lett å gjøre rett", forteller utviklerne, som standardiserer 14 sparebanker.

Mattew Greenham og Erhan Sanlioglu har vært med på å utvikle SpareBank 1s nye skyløsning. 📸: Privat
Mattew Greenham og Erhan Sanlioglu har vært med på å utvikle SpareBank 1s nye skyløsning. 📸: Privat Vis mer

- Vi er nok tidlig ute med en hel plattform utviklet med Bicep, men den har blitt kjempebra, og vi satser veldig på det, sier Mattew Greenham, leder for Azure-teamet i SpareBank 1 Utvikling, til kode24.

SpareBank1 Utvikling har laget en ny Azure-plattform med navnet Eunomia, som erstatter en eldre plattform fra 2017.

Det er en standardisert plattform som er basert på "Azure landing zone"-arkitekturen. Den er tatt i bruk i alle sparebankene og selskapene i Sparebank 1 Alliansen.

Torsdag skal Greenham og Erhan Sanlioglu, som er Azure plattformutvikler for SpareBank1 Utvikling, snakke om plattformen på Microsoft Ignite-konferansen - du kan se streamen her.

Består av åtte designområder

Greenham forklarer at Azure landing zones er en referansearkitektur bestående av åtte designområder.

- Den hjelper oss med å følge anbefalte tilnærminger til oppsett av Azure-plattformen; Tenants and Billing, IAM, Management, Governance, Resource Organization, Networking, Security og DevOps.

Hensikten med Eunomia er å tilby de 14 sparebankene som SpareBank 1 Utvikling lager løsninger for et godt fundament for at de kan bygge sine applikasjoner i Azure på en tryggere og effektiv måte.

- Vi har blant annet automatisert prosessen med å opprette nye Azure Subscriptions, hvor vi raskt kan tilby bankene et område for å utvikle sine applikasjoner i Azure, sier Greenham.

Skal kjøre en multi-sky strategi

- Hvorfor falt valget på Azure?

- SpareBank1 Utvikling skal kjøre en multi-sky-strategi. Sparebankene og selskapene i SpareBank 1-alliansen har god forståelse for Microsoft sin portefølje, og det er lagt planer for å flytte Microsoft-baserte applikasjoner fra on-prem til skyen.

Greenham sier det derfor er viktig å støtte reisen med en moderne utgave av Azure-plattformen.

- Grunnlaget for valget av Azure kommer fra et ønske om å etablere et Dynamics 365-miljø. Azure er definitivt den største skyplattformen per i dag i alliansen, med 10 ganger mer bruk enn den nest største, basert på forbruk.

«Våre Pipelines er YAML-baserte og vi bruker Bicep som IaC-språk»

Eliminer manuelle prosesser

Ifølge Greenham startet de arbeidet med en vurdering sammen med Microsoft Norge, hvor de kartla ønsket mål med plattformen.

- Microsoft sitt "Azure landing zone"-team har laget et open source Github-prosjekt som er et godt utgangspunkt til å utvikle en slik standardisert plattform.

Her tok de fra hverandre komponentene til plattformen i repoet, og tilpasset dette til SpareBank 1s behov.

- Dette har blitt satt opp i form av infrastruktur som kode, og det eliminerer manuelle prosesser med å opprette en slik plattform i Azure. Vi har jobbet målrettet og tatt i bruk SCRUM-metodikk for å ha best mulig fremdrift og kontroll på arbeidet, sier Greenham.

Har brukt Bicep

Ifølge Greenham har de hovedsakelig konsentrert seg om å bruke Microsofts egne verktøy for å utvikle plattformen.

- Vi benytter oss av Azure DevOps for blant annet oppbevaring av kode og versjonskontroll, Pipelines (CI/CD) og Boards til prosjekthåndtering. Våre Pipelines er YAML-baserte, og vi bruker Bicep som IaC-språk.

Bicep er Microsoft sitt nye deklarative infrastruktur som kode-språk, og er en utvidelse av Azure Resource Manager (ARM).

Alle kan bruke samme plattform

Med løsningen kan SpareBank 1 sørge for at alle bankene og selskapene på tvers av alliansen bruker samme plattform.

- Vi benytter samme kode og pipelines for alle bankene, dette betyr at dersom vi ruller ut en endring i plattformen vil det reflekteres til alle som benytter Eunomia-plattformen, sier Erhan Sanlioglu til kode24.

En slik standardisering og deployment minimerer arbeid som må gjøres for hver bank.

- Eunomia-plattformen skal gjøre det "lett å gjøre rett", og vi mener at standardisering på tvers vil fremkalle bedre kvalitet og effektivitet på tvers av SpareBank 1-alliansen. I tillegg til store bedriftsfordeler i ren operasjon og utviklingskostnader fremover, sier han.

En krevende utfordring

Det var flere utfordringer som SpareBank 1-utviklerne støtte på i arbeidet med plattformen. Ifølge Sanlioglu har bankalliansen blant annet en krevende teknisk utfordring med stor variasjon i brukere.

Han legger til at dette skaper utfordringer i mange ulike områder:

  • Levering av standardisert kode på tvers er essensielt, og tok sin tid før det smidige konseptet ble utviklet.
  • PrivateLink for PaaS-tjenester gir gode gevinster, men er krevende å implementere. Mange ting måtte tilpasses for å få et godt resultat.
  • Organisering av teamet var en utfordring, DevOps-kultur måtte bygges opp og innføres.
  • Å teste en kompleks leveranse krever også et komplekst testmiljø. Noe som vi måtte ta med alvor for å lykkes med testing av kode før levering til prod-miljøene.

Mangel på kompetanse

Ifølge Sanlioglu var det ikke vanskelig å få med utviklere til å jobbe med plattformarbeid.

- Dette har vært et kjempespennende prosjekt og veldig givende for alle involverte. Vi utvikler en plattform som et system, så de aller fleste som utvikler på Azure har noe å bidra med på plattformarbeid, og ikke minst mye å lære også.

Han legger til at det for tiden er manglende kunnskap i markedet.

- Litt spisskompetanse trengs i enkelt områder, så vi har vært veldig heldige med teammedlemmene vi har. Vi er et lite team som jobber tverrfaglig, og alle utfyller hverandre, så fremdriften har gått veldig bra, sier Sanlioglu.