Microservices voor macro IT-omgevingen: voordelen, nadelen én… 4 tips

Het zijn vaak de grotere en dus oudere bedrijven, met meerdere (internationale) vestigingen, die willen innoveren en versnellen. Zij hebben er ook het geld voor. De uitdaging: hoe doe je dat als je zo afhankelijk bent geworden van je legacy systemen? Systemen die niet altijd zorgen voor de beste klantervaring omdat ze moeilijk aan te passen zijn aan moderne wensen. Microservices kunnen dan een oplossing zijn.

Wat zijn microservices?

Bij microservices worden grote applicaties die werken in één overkoepelend systeem opgeknipt in kleinere deel-applicaties. Het is in feite een manier om gemakkelijker aanpassingen te maken. Zo kun je sneller en beter tegemoetkomen aan veranderende behoeften dan de (traditionele) monolieten die vaak als ‘log’ ervaren worden.

Dat komt omdat een monoliet is gebouwd als één groot samenhangend geheel met veel dwarsverbanden. Dat maakt schalen lastig omdat aanpassingen op één plaats altijd gevolgen hebben voor het geheel. Bovendien moet het hele systeem uitgebreid worden getest als maar één component wordt geupgrade. Dit is een van de grote nadelen van legacy software.

De vraag naar microservices ontstaat dan ook omdat het in de situatie van deze monolieten te veel vraagt om het geheel aan te passen terwijl de moderne markt daar wel om vraagt. Door het geheel op te knippen wordt het systeem flexibeler en wendbaarder en worden de risico’s verkleind.

De belangrijkste voordelen van microservices

Microservices kunnen diverse architectuurstijlen hebben en daardoor zeer uiteenlopend worden ingericht. Wat ze gemeen hebben, zijn deze voordelen:

  • Er kan in verschillende talen gecodeerd worden, waardoor elk stukje code gebouwd wordt met de meest geschikte taal.
  • Nieuwe functionaliteit kan veel sneller worden toegevoegd omdat het hele systeem niet steeds aangepast of uitgerold hoeft te worden.
  • Ook upgrades zijn eenvoudiger omdat je niet het hele systeem in één keer hoeft te upgraden.
  • Het is makkelijker om in delen op te schalen, precies dáár waar meer snelheid of performance nodig is. Dat maakt het goedkoper.
  • Applicaties komen sneller bij de eindgebruiker.
  • Sommige generieke microservices kunnen makkelijk hergebruikt worden door meerdere applicaties.

Aandachtspunten

De uitdaging bij een microservices-architectuur is dat het onderlinge verband onder druk kan komen te staan. Doordat de applicatie wordt opgeknipt in stukken, bestaat de kans dat je het overzicht verliest. Let daarom op dat je de microservices niet te klein maakt en je de samenhang kwijtraakt.

Andere aandachtspunten van microservices zijn:

  • De infrastructuur onderhouden kan een uitdaging worden, zeker als in tientallen talen gecodeerd wordt.
  • De kosten kunnen toenemen als de services te klein gedefinieerd zijn, waardoor er veel meer serverinstanties nodig zijn.
  • Het is uitdagend om alle opgeleverde services met elkaar te laten praten. Bij een monoliet is het vaak makkelijker te zien als een wijziging fouten of problemen op een andere plaats tot gevolg heeft.
  • Het kan leiden tot verslechterde performance als er veel aanroepen tussen de verschillende services noodzakelijk zijn. Houd dit goed in de gaten.

4 tips voor wie microservices overweegt

De belangrijkste vraag bij microservices is: hoe hou je de samenhang tussen de onderdelen in stand? Deze tips helpen daarbij:

  1. Kijk naar de logische context
    In hoeveel stukjes er opgeknipt wordt, is per organisatie verschillend. Kijk vooral naar de dingen die onlosmakelijk met elkaar verbonden zijn en in de context bij elkaar horen. De kunst is om het applicatiedomein zó te begrenzen dat er een logische afbakening ontstaat.
  2. Ontwikkel microservices altijd samen met de business
    Het alignen met de business is cruciaal. Elke applicatie die met microservices wordt ontwikkeld, moet in dienst staan van strategische beslissingen van de organisatie. Dat betekent ook dat er een cultuur aanwezig is waarbij developers en product owners bereid zijn om samen te werken en van elkaar te leren. Microservices gaan daarom goed samen met het gedachtegoed van DevOps.
  3. Denk na over communicatie tussen de microservices
    Asynchrone communicatie, zoals e-mail, is een vorm van communicatie waarbij men niet meteen antwoord krijgt. Hierdoor kunnen piekbelastingen prima worden opgevangen, maar het is ingewikkelder en foutgevoeliger. Bij synchrone communicatie krijg je wel meteen antwoord en heeft het omgekeerde effect. Beide types zijn nuttig en nodig, maar let er wel op dat je de juiste communicatievorm inzet in de juiste situatie.
  4. Een volwassen IT-omgeving is een vereiste
    Welk type organisatie geschikt is voor microservices? Vaak als er behoefte is aan het snel ontwikkelen van nieuwe applicaties en dit tegengehouden wordt door de bestaande architectuur. Het is daarom van belang dat de organisatie een volwassen IT-afdeling heeft waar het ontwikkelproces volledig geautomatiseerd is en wordt ondersteund met CI/CD-development LINK.

Samen groot nadenken over microservices?

Onze specialisten leggen met plezier uit hoe ze een en ander met succes geïmplementeerd hebben. Neem vrijblijvend  contact met ons op of bel naar +31 40 30 41 330.

Meer artikelen

Buiten je comfortzone leer je jezelf kennen

Buiten je comfortzone leer je jezelf kennen

Solution architect en medeoprichter Patrick Deenen leerde op vakantie, bovenop een vulkaan, dat hij tot meer in staat is dan hij dacht Patrick is medeoprichter en -eigenaar van Open Circle Solutions en daarnaast solution architect. Hij en zijn vrouw Wendy vertellen...

3600 kilometer met de benenwagen

3600 kilometer met de benenwagen

Rob Custers, onze projectmanager die zelfs van zijn vakantie een project maakt De reislust en de zoektocht naar het avontuur zat er altijd al in. Ergens met een boek gaan zitten lukte hem niet. Dat je tijdens je vakantie twee kilometer ergens vandaan bent waar iets...

Nieuwsbrief

Meld je nu aan voor Open Circle Stories en krijg een verzameling artikelen, tips, nieuws en verdiepingen in je mailbox.

Pin It on Pinterest

Share This