Serverless: Stand van zaken

Wie afgelopen jaar het cloud-landschap in de gaten heeft gehouden kon er bijna niet omheen: Serverless is hot. De grote cloud providers bieden allen één of meerdere vormen van Serverless aan en zijn daarnaast druk bezig hun Serverless-aanbod verder uit te breiden en te verbeteren.

Maar wat houdt Serverless nou precies in? Is het slechts een hype of is het een blijvertjeEn kan het een interessante keuze zijn voor jouw organisatie? 

Serverless trend3.png

Wat is Serverless?

Om maar met de deur in huis te vallen: nee, Serverless betekent niet dat er geen of minder servers zijn. Wat dat betreft is het een verkeerde benaming. 

Bij Serverless Compute beheert de provider dynamisch de toewijzing van resources waardoor jij je niet meer met servers bezig hoeft te houden. Zo houd je je niet meer bezig met het onderhouden van de infrastructuur maar ligt de focus volledig op het toevoegen van waarde door het implementeren van bedrijfslogica. Door het abstraheren van servers, infrastructuur en besturingssystemen valt de servercomponent weg en lijkt het alsof je zonder servers draait. Serverless dus.

Op dit moment zijn er twee verschillende soorten Serverless, te weten Runtimes en Datbases. Serverless Runtimes, ook wel Functions as a Service (FaaS), voeren code uit. Serverless Databases breiden het Serverless model uit naar databases. 


Serverless Runtimes

Het eerste 'pay as you go' code executie platform, Zimki, werd uitgebracht in 2006 maar was geen commercieel succes. In 2008 bracht Google App Engine uit; een service die destijds applicaties ondersteunde die gebruik maakten van een custom Python framework. Daarna volgende ook oplossingen van Amazon, IBM en Microsoft.

De Serverless Runtimes die vandaag de dag beschikbaar zijn ondersteunen allemaal meerdere ontwikkeltalen. De bekendste Serverless Runtimes zijn AWS Lambda, Google Cloud Functions, IBM Cloud Functions en Azure Functions.


Serverless Databases

Ook op het gebied van databases heeft Serverless zijn intrede gedaan. Voor databases betekent het dat er geen (virtuele) hardware meer ingericht of geschaald hoeft te worden. Voorbeelden van Serverless Databases zijn Azure Data Lake, Google Cloud Datastore en FaunaDB. 


Is het een blijvertje?

De belofte van Serverless kan op dit moment nog niet iedereen bekoren, maar dat past bij de positie die het heeft op de Hype Cycle van Gartner; zij zien Serverless als key platform-enabling technology. In de markt zien we steeds vaker implementaties van Serverless voorbij komen in een productieomgeving, hoewel het aantal proefimplementaties op dit moment nog steeds in de meerderheid is.

Serverless heeft zich genesteld ergens tussen de overige vormen die cloud computing te bieden heeft. En dat is een belangrijke observatie: Serverless is geen vervanging van, maar een aanvulling op het bestaande cloud-aanbod. Het heeft zijn functie, maar vervangt niet de andere vormen van compute in de cloud. 


”Gartner believes that key platform-enabling technologies are 5G, Digital Twin, Edge Computing, Blockchain, IoT Platforms, Neuromorphic Hardware, Quantum Computing, Serverless PaaS and Software-Defined Security. 

Forbes.com 

Gartner Hype Cycle.jpg

De oplossing voor jouw organisatie?

Veel organisaties vragen zich af of Serverless voor hen interessant zou kunnen zijn. En als je dan besluit op de Serverless-trein te springen, is dit dan het beste moment of is het beter om nog even te wachten? Dat is uiteraard afhankelijk van een aantal factoren zoals onder andere de veranderbereidheid van je organisatie en de samenstelling van je huidige applicatielandschap.

Als je in jouw organisatie bijvoorbeeld vaker met cutting edge technologie werkt en je ontwikkelaars er geen problemen mee hebben met features te werken die mogelijk nog veranderen, dan is nu het moment. Ben je op zoek naar proven technology met een uitgekristalliseerde toolset en duidelijke patronen voor de juiste Serverless architectuur, dan is het verstandiger nog even te wachten.


Voor- en nadelen

Zoals elke technologie heeft ook Serverless zijn voor- en nadelen. Omdat bij Serverless alles geabstraheerd wordt, is het ook (nog?) niet mogelijk specifieke wensen op te geven. Requirements als een snelle schijf of een hoge doorvoersnelheid kunnen niet worden aangegeven. Ook is het niet optimaal voor langlopende processen, waardoor het minder geschikt is voor langlopende, sequentiële handelingen.

Een groot voordeel is de afname in de hoeveelheid tijd (en daarmee kosten) die nodig is om een oplossing te ontwikkelen en ‘live’ te krijgen. Ook schaalbaarheid is een enorm voordeel. Met Serverless gaat er geen tijd verloren aan het, al dan niet dynamisch, opspinnen van servers om een toename in verkeer op te vangen. De functions spinnen namelijk zichzelf op bij een toename in de vraag. Dit scenario is uitermate geschikt voor een onregelmatig gebruikspatroon. En omdat de cloud provider er verantwoordelijk voor is dat de capaciteit altijd voldoende is, hoeven ontwikkelaars en beheerders zich niet meer bezig te houden met het instellen en optimaliseren van het schalen van de oplossing.


Volwassenwording

De opkomst van Serverless is een logische volgende stap in de evolutie van cloud computing. En ondanks het feit dat het nog een redelijk jonge technologie is, kun je er nu al mee aan de slag. De komende tijd zal voor Serverless vooral in het teken staan van (verder) volwassen worden, waarbij zowel best practices als tools zich verder ontwikkelen. 


Serverless: Stand van zaken

Serverless geschikt voor jouw organisatie? Rick helpt je graag verder


Vraag?


Serverless kennissessies TechDays 2017

De drie drukbezochte presentaties van onze vakmensen kun je nu terugkijken.

Bekijk de sessies van onze experts.

IMG_2338.jpg

Serverless: Stand van zaken

Kom jij bij ons werken?