Development

Dit is een bijdrage van Mendix
Software-ontwikkeling
lowcode

Wat is de waarde van enterprise microservices met low-code?

Enterprise microservices worden steeds vaker ingezet. Maar wat zijn het precies? 

24 december 2019
Door: Mendix, partner

Enterprise microservices worden steeds vaker ingezet. Maar wat zijn het precies? 

Nu organisaties steeds vaker overgaan op een BizDevOps-manier van werken en low-code platformen gebruiken om zakelijke applicaties te ontwikkelen; hebben enterprise microservices zich ontwikkeld tot de basis voor het bouwen van echt open, schaalbare en herbruikbare oplossingen. Dit wordt nog verder onderstreept door het feit dat 62% van de bedrijven inmiddels microservices gebruiken of van plan zijn dit te doen. Om te begrijpen wat enterprise microservices zijn en wat daarbij de toegevoegde waarde is van low-code, is het handig de term eens op te splitsen.

‘Services’
Services, API's, webservices en microservices betekenen allemaal ongeveer hetzelfde. Een service is een functie waarmee je een systeem via een programma kunt beheren of er informatie mee kunt ophalen. Neem bijvoorbeeld de API ‘add record.’ Deze kan door een programma gebruikt worden om een record toe te voegen aan een centrale database. Deze API is cruciaal om verschillende systemen te integreren en de records tegelijkertijd gecentraliseerd te houden. Dit is slechts één van de voorbeelden die aangeeft dat API's vaak helpen te voldoen aan zakelijke vereisten. Meestal verwijzen ‘services’ overigens naar een web-API die via het HTTP (S) -protocol wordt verzonden.  

‘Micro’ 
Het voorvoegsel 'micro' in ‘microservices’ refereert aan de ontwerpfase waarin wordt geprobeerd de API zo simpel mogelijk te houden. ‘Micro’ werd in eerste instantie alleen in de ontwerpfase gebruikt, maar kom je tegenwoordig ook steeds vaker tegen in combinatie met service, API, etc. 

Het woord 'micro' herinnert mensen aan hun neiging systemen te ingewikkeld te maken. Als je ooit een platform, systeem of applicatie moet ontwarren waarop meer dan een paar jaar is ontwikkeld, zul je altijd vreemde architecturen, add-on modules en patches vinden. Deze zijn bedoeld om alles bij elkaar houden. Dit is onvermijdelijk omdat toepassingen nu eenmaal evolueren en alle gebruikersbehoeften proberen op te lossen. 

Functionaliteit opsplitsen
Ook API's zijn gevoelig voor ‘overarchitectuur’. Een opeenstapeling van API’s is echter niet gemakkelijk te begrijpen, doorheen te navigeren en te implementeren. Daarom wordt steeds vaker aanbevolen om functionaliteit op te splitsen in veel kleine API's. Zo ontstaat dan de ‘micro’ in microservices.

Elke microservice wordt dan een functionaliteit of API die een module beheert. Door ze integreren met talloze microservices/API’s, zijn complexe integraties nog steeds eenvoudig te implementeren. Neem bijvoorbeeld Google Maps. Deze app helpt adressen, routebeschrijvingen, straatbeelden en meer te vinden. In de Google Maps API, zijn alle functies echter onderverdeeld in afzonderlijke API's.

‘Enterprise’
Hoewel het ‘micro’-aspect van de service componenten klein en beheersbaar houdt, heeft het systeem waar de microservices onderdeel van zijn, niet hetzelfde vangnet. Net als mierenkolonies vormen alle microservices binnen een organisatie uiteindelijk een systeem van systemen. Elke softwaremodule of afdeling produceert zijn eigen cluster van microservices. Deze zijn dan weer verbonden met andere systemen door afhankelijkheden binnen applicaties, integraties en API-beheersystemen. Zoals de wet van Conway al aangeeft, is de architectonische structuur uiteindelijk ongeveer hetzelfde als de organisatiestructuur.

Door sommige van deze systeem clusters of API's kunnen alleen ontwikkelaars navigeren. Anderen zijn gebruiksvriendelijker doordat er systeem blauwdrukken in de vorm van API-documentatie, API-definities en software-ontwikkel kits (SDK's) bijgeleverd worden.

Low-code voor enterprise microservices
Door dat steeds groeiende web van enterprise microservices, kun je je misschien voorstellen hoe in organisaties alle onderlinge afhankelijkheden uiteindelijk een eigen leven gaan leiden. Dan wordt het lastig om te experimenteren, te innoveren met nieuwe applicaties of nieuwe functionaliteit of product updates te introduceren. Hoewel dit geen fijne realiteit is, valt dit niet te negeren of te vermijden. Een remedie kan zijn om low-code te gebruiken om een abstractielaag aan het web van microservices toe te voegen. In feite wordt dan de ‘rommelige’ binnenkant verborgen, zodat eindgebruikers met een schone interface kunnen werken.

De rol van low-code applicaties
Nieuwe applicaties op die een low-code platform zijn gebouwd, moeten naast  systemen opereren die al in het bedrijf gebruikt worden om de business te runnen. Met enterprise microservices kan Mendix nieuwe apps makkelijk inzicht geven dat wordt verkregen uit externe bestaande data. Deze low-code-applicaties kunnen het verzamelen van data digitaliseren en gegevensvalidatie afdwingen zonder de bestaande bedrijfslogica en ecosystemen in gevaar te brengen. De gebruiker kan een nieuwe oplossing dan gebruiken in de vorm van een mobiele app, webformulier, spraakassistent of een ander medium.  

Hopelijk heb je dankzij het opsplitsen van de term meer inzicht gekregen in de nuances van ‘enterprise microservices’. De integratie en interoperabiliteit, de beperkte schaal van een microservice die beschermt tegen overontwikkelde systemen en de uiteindelijke en onvermijdelijke groei van bedrijfssystemen, zijn allemaal bod gekomen. Het allerbelangrijkst is echter hoe het bestaande ecosysteem te gebruiken, terwijl er tegelijkertijd nieuwe applicaties op kunnen worden ontwikkeld die het bedrijf verder kunnen laten groeien. Meer weten hierover? Klik dan hier voor meer praktische informatie over hoe Mendix API’s ondersteunt. 

Reactie toevoegen