Gastexpert: Serverloze architectuur is niet langer toekomstmuziek

Danilo Poccia
Als je ontwikkelaars 15 jaar geleden had verteld dat beheer van hun servers niet langer iets was waar ze zich druk over hoefden te maken en zorgeloos zouden kunnen ontwikkelen, hadden ze het niet geloofd. Had je het 5 jaar geleden gezegd, dan was het wel voorstelbaar geweest, maar nog steeds toekomstmuziek. Niet langer: de serverloze architectuur staat klaar.

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 Lambda Service van AWS wordt de complexiteit van de implementatie van servers, opslag en databases, volledig geautomatiseerd. De server wordt zo als het ware onzichtbaar.

Besteed tijd aan wat ertoe doet

Voor ontwikkelaars is een serverloze architectuur echt een uitkomst. 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.

Draai applicaties met microservices

De flexibiliteit wordt nog verder vergroot door de mogelijkheid microservices te gebruiken. Microservices zijn kleine, onafhankelijke processen die samen een applicatie draaiende houden. Daarmee 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.

De drempel is en blijft laag

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.

Ontwikkelaars weten dankzij serverloze architectuur in de praktijk al veel voordelen te behalen. De sprong van DevOps naar NoOps is inmiddels succesvol gemaakt, en serverloze architectuur levert daar een belangrijke bijdrage aan.

afbeelding van Danilo Poccia

Danilo Poccia | Technical Evangelist, Amazon Web Services

Bekijk alle artikelen van Danilo