Hva er en mikrotjeneste (microservice)?

Mikrotjenester er en applikasjoner med bare en oppgave som sammen med andre komponenter utgjør et helt it-system.

 

Mikrotjenester er koblet sammen med andre applikasjoner gjennom API-er og køer.

I denne videoen forklares hvordan mikrotjenester tilsammen kan utgjøre en datahub. I eksemplet brukes mikrotjenester, køer (RabbitMQ) og database (MongoDB). Mikrotjenestene administreres av Kubernetes og driftet i Amazon Web Services (AWS)

 

Mikrotjenester små applikasjoner som jobber sammen for å løse større oppgaver. De oversiktlige nok til at de er enkle å oppdatere. De skal også kunne lastes opp (deployeres) til en drifts-server enkeltvis så raskt at nedetiden ikke merkes. Motsatsen til mikrotjenester er store applikasjoner. De består av store kodeklumper og blir kalt monolittiske applikasjoner (monolithic application). De er gjerne å store og komplekse at utviklerne mister oversikten.

Gjør EN oppgave og gjør den veldig bra

For å forklare det enkelt, utretter en mikrotjeneste bare en oppgave, i motsetning til en monolittisk applikasjon (stor kodeklump) som utfører mange oppgaver. Med denne enkeltheten kan mikrotjenesten være utviklet til å gjøre oppgaven på en god måte. I tillegg vil en mikrotjeneste driftet på en skyplattform være i stand til å skalere på en enklere måte enn. Dersom en mikrotjeneste opplever stor last kan den enten få mer ressurser fra skyplattformen eller den kan kopieres til flere parallelle prosesser. En mikrotjeneste kan være utviklet i mange forskjellige utviklingsspråk. Utviklingsspråket velges ut i fra hvilke oppgaver den skal utføre.

 

Del opp monolitten

 

Et velkjent problem med programvare er at de eldes grunnet manglende vedlikehold. Dette betegnes som "teknisk gjeld" eller «legacy» i programvaren. For monolittiske applikasjoner er dette et stort og dyrt problem. Applikasjonen må enten utvikles helt på nytt eller refaktoreres (refactoring). Begge deler kan være en stor jobb, særlig siden en monolittisk applikasjon vil inneholde mye kode. Dersom systemet er bygget på mikrotjenester blir oppgaven enklere da hver mikrotjeneste kan forbedres eller utvikles på nytt. Det er mulig å gå fra en monolittisk applikasjon til mikrotjenester ved å dele opp monolitten. Dette kan gjøres ved at en og en naturlig funksjon i monolitten utvikles på nytt i en mikrotjeneste.

 

Dette kjennetegner mikrotjenester:

  • Enkle å vedlikeholde og teste

  • Løst koblet med andre applikasjoner gjennom API-er, køer og felles filer, men er ikke avhengig av andre applikasjoner for å fungere

  • Lastes (deployeres) til drift-server enkeltvis

  • Løser ett forretningsbehov

  • Enkle å skalere

  • Utvikles av et lite team, ofte agilt

  • Flere team kan jobbe selvstendig med hver sin mikrotjeneste som til sammen utgjør et stort system

 

Ulemper med mikrotjenester

 

Selv om det kan virke som mikrotjenester er det beste valget for alle IT-systemer har det noen ulemper:

  • Mer komplekst å teste programvaren

  • Krever mer samarbeid mellom flere små utviklings-team

  • Risk for kommunikasjonsproblemer mellom mikrotjenestene

 

Relaterte temaer:

 

Konklusjon

 

Mikrotjenester er små, selvstendige og samarbeidende applikasjoner

  • Enkle å oppdatere

  • Kommuniserer gjennom API, køer eller databaser

  • Kan deployeres enkeltvis

 

FÅ HJELP MED DATAHUB

6 integrasjonsfeil som koster flesk

Har du hørt om et integrasjonsprosjekt som har gått glatt og smertefritt? Her er seks tips som hjelper deg med å komme i havn med integrasjonen.

2018

Selskapet
Om oss
Blogg
Kontakt oss
Org.nr.: 990 958 971
logo-nets.png
logo-vopps.png
icon-fb.png
icon-tw.png
icon-insta.png