Hva er mikrotjenester?
Du har nettsider, du har mobilapper og du har mikrotjenester. Hvor passer sistnevnte inn i det hele?
Written by Vegard Ottervig on
Du har nettsider, du har mobilapper og du har mikrotjenester. Hvor passer sistnevnte inn i det hele?
Written by Vegard Ottervig on
Tenk deg at du bygger Lego. Du har flere brikker, eller byggeklosser, som du kan bruke til å bygge hva du vil – enten det er bygninger, kjøretøy, møbler, teknologi eller hva som helst annet som måtte falle deg inn. Nå kan du forestille deg en verden hvor Lego bare besto av én, prefabrikkert brikke – uten tilpasning, fleksibilitet eller fantasi for sluttbrukeren.
I den digitale opplevelsens verden var det sistnevnte faktisk (mer eller mindre) virkeligheten. Historisk sett var det vi så i digitale systemer som CRM-er, CMS-er, ERP-er og alle de andre forkortelsene, en stor klump løsninger sveiset sammen til ett stort og integrert system. Denne typen system kalles ofte en "monolittisk arkitektur."
Mikrotjenester fungerer som de individuelle Lego-klossene: De er isolerte tjenester som lar deg dele opp, modulere, oppgradere og utvikle dem uavhengig av hverandre – noe som muliggjør raskere og sikrere utvikling. Fortsatt forvirret? La oss se en formell definisjon.
"Mikrotjenester" refererer til en metode innen programvaresystemarkitektur hvor en applikasjon er strukturert som en samling av separate tjenester. Disse tjenestene er svært vedlikeholdbare og testbare, løst koblede, uavhengig distribuerbare og organisert rundt forretningskapabiliteter.
En applikasjon kan referere til dataprogramvare som tekstbehandlere, regneark, regnskapsapplikasjoner, nettlesere, mediespillere, flysimulatorer eller konsollspill – eller webapplikasjoner som dataprogrammer som kjører i en nettleser, inkludert webmail, netthandel, nettauksjoner, sosiale medier, bilderedigerere og andre avanserte nettsteder.
Se også: Bygg en rask og moderne nettside med Next.js og headless CMS »
Disse applikasjonene involverer mange komplekse prosesser, operasjoner og interaksjoner, og en mikrotjenestearkitektur gjør de forskjellige delene av en applikasjon, og applikasjonen som helhet, enklere å forstå, utvikle, teste og vedlikeholde.
Selv om vi har listet flere generelle eksempler på applikasjoner som bruker mikrotjenester ovenfor, har programvareselskapet SmartBear gitt oss noen spesifikke eksempler:
Amazon: Amazon har gått langt utover å være bare en nettbokhandel. Nå tilbyr de blant annet skytjenester og et mikrotjenester-rammeverk gjennom Amazon Web Services. Deres mikrotjenesterløsning tilbyr prosessorkraft, lagring og databaser, nettverk, meldinger, logging og overvåking, og DevOps.
Netflix: Den tidligere DVD-utleie-leverandøren som ble videostrømmetjeneste er blant verdens ledende digitale selskaper. Du kan forstå hvorfor når du lærer at arkitekturen hver dag mottar én milliard forespørsler fra mer enn 800 forskjellige typer enheter, mens hundrevis av mikrotjenester jobber sammen for å strømme digital underholdning til millioner av kunder.
eBay: Verdens største markeds- og auksjonsside har også endret seg fra en monolitisk arkitektur til en arkitektur bestående av mikrotjenester. eBays kjerneapplikasjon består av flere autonome applikasjoner, hvor hver utfører forretningslogikken for forskjellige funksjoner – som applikasjonstyper, handelstjenester, plattformtjenester og infrastruktur.
Se også: 6 fordeler du får fra en neste generasjons headless CMS »
En mikrotjenestearkitektur vil gjøre det enklere å utføre endringer i løsningen din, da du ikke lenger trenger å endre hele strukturen. Dette vil gjøre det enklere å holde tritt med dagens teknologiske utvikling i den raskt utviklende IT-verdenen.
Det er også mindre sjanse for ett enkelt feilpunkt, da løsningen har flere bein å stå på, og en feil i én separat mikrotjeneste er lett å spore og fremheve. Mikrotjenester gjør til slutt at utviklerne dine kan jobbe med moderne frontend-rammeverk, som Next.js, Angular og React.
Så hovedpoenget er: ikke bygg Lego med én prefabrikkert, enormt kompleks brikke – vær smart og prøv å bygge den ønskede løsningen din med flere byggeklosser i stedet. Det forbereder deg for fremtiden og kan gjøre løsningen din mer motstandsdyktig og fleksibel.
Først publisert 13. mars 2019, oppdatert 17. august 2022.
Applikasjoner som er organisert som en samling av separate tjenester – i motsetning til monolittiske systemer hvor hver funksjon og kode er sveiset sammen.
De gjør det enklere å utføre endringer i din løsning og holde styr på nåværende teknologiutvikling, samtidig som det er mindre sjanse for å felles av det svakeste ledd.
En altfor fragmentarisk arkitektur kan føre til en større utfordring for DevOps, mer kompleks testing, og kan kreve mer overvåkning.
Svindeloppdagelse, konsekvente digitale opplevelser, kredittsjekker, effektiv utvikling, systempålitelighet, attribusjon, innføring av nye funksjoner oppå eksisterende løsning, big data, AI/ML.
Vegard Ottervig er innholdsansvarlig i Enonic, har en mastergrad i filmvitenskap og har jobbet med journalistikk og markedsføring siden 2010. Han elsker film, sykling, filosofi, spill og skriving.
Få enda mer innsikt 🤓