Applicaties verplaatsen van de ene naar de andere omgeving, zoals van een datacenter naar de publieke cloud, of tussen cloudplatformen; dat gaat lang niet altijd zonder slag of stoot. De mate waarin software verplaatsbaar is – zonder al te veel impact op de code – wordt ook wel ‘portability’ genoemd.
Flexibel wisselen tussen omgevingen met Dapr: hoe werkt dat?
Portability komt niet vanzelf; vaak zijn er aanpassingen en extra werk nodig om software compatibel te maken met de nieuwe omgeving. Met tools als Dapr kun je nu echter applicaties flexibel maken, zodat het een stuk eenvoudiger is om te wisselen van omgeving, zonder dat de code daarvoor hoeft te worden aangepast.
Abstractielagen voor flexibiliteit
“In de praktijk zien we vaak dat ontwikkelteams zelf abstractielagen bouwen om hun applicatie los te koppelen van specifieke producten”, aldus Principal Software Architect Edwin van Wijk in de nieuwste aflevering van Business Vooruit met IT. “Dat werkt op zich prima, maar het kost wel veel tijd en moeite om zo’n laag te ontwerpen, te bouwen en onderhouden. Bovendien moeten alle individuele software development kits (SDK’s) en libraries bekend zijn voor de producten die gebruikt worden in de implementatie.”
Dapr (kort voor Distributed Application Runtime) biedt een oplossing. Deze tool levert bouwblokken waarmee allerlei capabilities geabstraheerd zijn die gebruikt kunnen worden in een gedistribueerde applicatie, zoals messaging, het aanroepen van andere services en state management. Voor elk bouwblok zijn er meerdere implementaties (componenten) beschikbaar, zodat er makkelijk gewisseld kan worden zonder de code aan te passen. Het enige wat moet worden gewijzigd, is de configuratie.
Aandachtspunten
Hoewel Dapr veel voordelen biedt, zijn er ook wel wat aandachtspunten, aldus Edwin: “Dapr gebruikt een abstractie die mogelijk niet alle specifieke features van individuele producten biedt. Ook kan het open source karakter en het feit dat sommige componenten nog in beta- of alfafase zijn, sommige organisaties huiverig maken om Dapr te adopteren.
Solution Architect Maarten Mulders vult aan: “Het gebruik van Dapr maakt wel dat je een extra laag introduceert die je ook moet doorgronden. Dat is vooral van belang als dingen niet direct werken zoals je verwacht. Dan moet je nagaan of je de SDK goed gebruikt hebt, of de Dapr sidecar goed geconfigureerd is én of de connectiviteit tussen de sidecar en de component goed is. Dit resulteert in extra cognitieve belasting: meer laagjes abstractie betekent ook dat je ze stuk voor stuk moet doorgronden.”
Ervaring binnen Info Support
Binnen Info Support is al de nodige ervaring opgedaan met Dapr in projecten. Info Support biedt ondersteuning in de vorm van trainingen, workshops, inspiratiesessies en advies op maat. Hiermee helpen we organisaties de valkuilen te vermijden en optimaal te profiteren van de voordelen van Dapr. Zo is er een Dapr-training ontwikkeld voor mensen die willen beginnen met Dapr.
In deze aflevering van Business Vooruit met IT gaan Edwin van Wijk en Maarten Mulders dieper in op de voor- en nadelen van Dapr, en de verschillen die er zijn in het gebruik van de tool tussen het .NET- en Java-ecosysteem.