Ontwikkelaars snakken er al jaren naar, maar sinds vorig jaar is het realiteit: serverloze architectuur. Het is een wat verwarrende term, omdat er wel degelijk sprake is van servers. Ontwikkelaars kunnen ontwikkelen zonder zich druk te maken over beheer van servers. Daarmee hebben ze de handen vrij voor belangrijkere zaken. Serverloze architectuur is dan ook de toekomst voor ontwikkelaars.
De meeste bedrijven ontwikkelen eerst applicaties en zetten ze vervolgens pas op servers. Dat betekent dat ze van tevoren moeten bepalen hoeveel opslagruimte en rekenkracht ze nodig gaan hebben en dat ze alle hardware en software moeten gaan optuigen en implementeren die nodig is om de applicatie te draaien. Een tijdrovende en vaak kostbare aangelegenheid.
Maar wat als je als ontwikkelaar gebruik zou kunnen maken van een dienst die de onderliggende infrastructuur al voor je klaar heeft staan, precies op maat en zonder dat je er omkijken naar hebt? Technisch gezien kan geen enkele applicatie natuurlijk serverloos draaien, maar met bijvoorbeeld de Lamba Service van AWS wordt de complexiteit van de implementatie van servers, opslag en databases, volledig geautomatiseerd. De server wordt zo als het ware onzichtbaar.
Schaalbaarheid zorgt voor flexibiliteit
Voor ontwikkelaars kan een serverloze architectuur echt een uitkomst zijn. Infrastructurele randzaken leiden immers alleen maar af van de kern van hun bezigheden: het ‘kloppen’ van de best mogelijke code. Tijd is geld, en met serverloze architectuur kunnen ontwikkelaars zich richten op datgene wat ze van de concurrentie gaat onderscheiden, zoals het ontwikkelen van die ene baanbrekende applicatie. Maar er zijn meer voordelen.
Het grootste voordeel van serverloze architectuur is de schaalbaarheid. Applicaties zijn eenvoudig op grote schaal te testen. Dat kun je als ontwikkelaar wel in eigen beheer doen, maar dat kan heel tijdrovend zijn en dat kunnen veel ontwikkelaars zich niet veroorloven. De winst die je op dat gebied met serverloze architectuur kunt behalen, is enorm.
Microservices
De flexibiliteit wordt nog verder vergroot door de mogelijkheid microservices te gebruiken. Microservices zijn kleine, onafhankelijke processen die samen een applicatie draaiende houden. Ik verwacht dat deze in 2016 in toenemende mate belangrijk zullen gaan worden.
Met microservices kun je grote projecten beheersbaar maken. Door je applicaties op te splitsen in meer componenten, houd je ze overzichtelijk en zijn ze ook beter toegerust op groei in de komende jaren. Bovendien zorgt ook dit weer voor meer flexibiliteit en lagere kosten: in plaats van dat je één enorme applicatie uitzet, kun je nu een applicatie met een single-action trigger uitzetten en alleen betalen voor de rekenkracht die je gebruikt, waarbij we tot op honderd milliseconden nauwkeurig het gebruik kunnen meten. Je schrijft de code, definieert de event triggers en de service zal automatisch draaien op het moment dat de voorwaarden zijn vervuld. Zo eenvoudig is het.
Nooit teveel betalen
Dankzij de eenvoudige schaalbaarheid is ook de financiële kant van serverloze architectuur erg interessant voor ontwikkelaars. Ze betalen immers naar gebruik. De ene maand is dat misschien wel meer of minder dan de andere maand. De kosten stijgen of dalen mee. Er zijn bovendien geen hoge instaptarieven. Een website kan zo al voor een paar dollar draaiende worden gehouden, dankzij serverloze architectuur.
Toekomst
Serverloze architectuur is in mijn ogen absoluut de toekomst. Ik ben erg enthousiast over de voordelen die ontwikkelaars dankzij serverloze architectuur in de praktijk weten te behalen. Ik sta elke keer weer versteld van wat ontwikkelaars voor elkaar weten te krijgen. Men heeft de sprong van DevOps, naar NoOps inmiddels gemaakt. Ik ben er trots op dat serverloze architectuur daar een belangrijke bijdrage aan levert.