Tradisjonell monolittisk løsning
NDLA er i dag bygget etter en monolittisk modell som er typisk for CMSer (content management systems). Her er enkeltfunksjoner tett integrert med egenskaper i innholdsdatabasen og kjernesystemet, og det er dette som blant annet bestemmer hvilke forfatterverktøy og maler som kan benyttes. Ny funksjonalitet må ofte utvikles som en ny versjon av hele løsningen.
Overgang til løst koblede microservices og veien dit
NDLA må i fremtiden være mer fleksibel for å møte nye behov og endringer raskere og enklere, for å utnytte innovative teknologier og konsepter i markedet og for å opprettholde leverandørmangfold. Dette betyr at NDLA vil gå mot en arkitektur med løst koplede komponenter, såkalte microservices. Over tid kan en slik infrastruktur bli mer kompleks og stiller krav til NDLAs leverandørstyring. En klar fordel er at blir langt enklere å legge til eller oppdatere funksjoner - uten å måtte gjøre noe med hele løsningen. Med utgangspunkt i åpne standarder og åpen kildekode vil en slik arkitektur også åpne for et større mangfold av leverandører, og slik sett bidra til konkurranse, reduserte kostnader og redusert risiko.
Med en ny microservice-basert infrastruktur kan NDLA ha en langt hurtigere utrulling av nye applikasjoner og endringer i etablert funksjonalitet. Dette vil få store konsekvenser både for selve løsningen, men også for forvaltningen av løsningen - dvs. oppgaver som testing, utrulling og kompetanseutvikling.
Et eksempel: I dag lagres bilder på deling.ndla.no, fyr.ndla.no og www.ndla.no. NDLA har ingen enkel mulighet til å gjenbruke bilder på tvers av disse løsningene. Med den nye infrastrukturen vil alle bilder NDLA bruker tilbys som en tjeneste som alle løsninger kan bruke. Dermed kan brukerne enkelt gjenbruke bilder på tvers om de ønsker det. Det samme gjelder selvsagt for video og H5P. |
Overgangen til en microservice-basert arkitektur vil måtte skje gradvis og nøye planlagt, blant annet for å redusere risiko for en løsning som er i daglig bruk. Det blir en krevende migrering, hvor deler av løsningen i perioder vil foreligge i flere versjoner og parallelle strukturer.