Serverless

Eén van de meest populaire en ingrijpende nieuwe ontwikkelingen die Cloud-technologie ons brengt is *serverless*. Sinds AWS de bekende *AWS Lambda* service introduceerde is het beeld van cloud-native ontwikkelen voor altijd veranderd. Vanaf dat moment was het voor ontwikkelaars mogelijk om zich volledig te richten op de code en de functionaliteit van hun software, zonder dat zij stil hoefden te staan bij de details van de infrastructuur (servers) waarop de applicatie draait.

Voordelen

Met serverless is het mogelijk om sneller te ontwikkelen, zijn we minder tijd kwijt aan infrastructureel onderhoud en zijn oplossingen makkelijker te schalen.

  • Productiviteit

Ontwikkelaars kunnen sneller werken door zich te richten op de applicatie-code zonder om te kijken naar servers, installaties of OS-updates.

  • Minder onderhoud

Het onderhoud van deze onderdelen is dan ook niet langer een zorg. De Cloud leverancier zal code in snelle, up-to-date containers op hun Cloud draaien.

  • Elastische schaalbaarheid

De Cloud leverancier zal zorgdragen voor het schalen van de oplossing naar gelang het gebruik hiervan.

Serverless is een ‘disruptive technologie’ die zulke grote voordelen biedt dat deze de manier waarop we oplossingen vormgeven heeft veranderd, mits goed toegepast.

Uitdagingen

Het is hierbij wel belangrijk om de afwegingen van serverless goed in beeld te hebben. De afweging die te allen tijde gemaakt wordt, is die tussen flexibiliteit en schaalbaarheid, en veel serverless services zijn hyper-scalable ten koste van flexibiliteit. Hierdoor is het belangrijk om zorgvuldig te ontwerpen, goed de runtime performance gevolgen te begrijpen, portabiliteit en testbaarheid niet uit het oog te verliezen en te allen tijde serverless zoveel mogelijk naar je eigen hand te zetten.

In de praktijk

Bij Profi4Cloud hebben we ruime ervaring in het juist inzetten van serverless technologie. Zo hebben wij bijvoorbeeld voor PharmAccess een serverless data lake en analytisch platform gerealiseerd dat schaalt met gebruik en minder kost dan zijn niet-serverless tegenhanger. Onderhoud van complexe clusters, grote databases en data warehouses is niet nodig waardoor er gefocust kan worden op de ontwikkeling van nieuwe functionaliteit.