Blog Serverless Computing maakt Business Agility mogelijk

Codeer in de cloud en droom in de hemel!

Het is geen geheim meer: succesvolle organisaties kunnen bijna onmiddellijk en meerdere keren per dag nieuwe producten en diensten releasen. Feature releases zoals deze kunnen alleen worden gerealiseerd door bedrijven met agile tools en processen die werken. Vooral in de IT zijn agile infrastructuur-, ontwikkelings- en releaseprocessen van cruciaal belang om snel aan de vraag van klanten te kunnen voldoen.

Auteurs: Ekene Attoh & Sonja Noben

Een wendbare manier van werken is gewoon niet goed genoeg als het nog steeds eeuwen duurt om nieuwe infrastructuur aan te leggen, nieuwe functies te ontwikkelen en deze vervolgens uit te rollen. Een manier om deze wendbaarheid vanuit een IT-perspectief te bereiken is door gebruik te maken van serverless computing. Dit artikel legt het concept van serverless computing uit en demonstreert enkele van de sterke punten aan de hand van een concreet fictief voorbeeld.

Wat serverless computing (niet) is

Het spreekt voor zich, serverless computing is geen magie! In tegenstelling tot wat de naam probeert te doen geloven, er zijn servers betrokken bij serverless computing.

AWS Lamba

Bij serverless (cloud) computing zorgt de cloud service provider voor de levering en het beheer van de computerresources die nodig zijn om je opdracht uit te voeren. Dus dit model is serverloos vanuit jouw perspectief, de client, maar niet serverloos in de strikte zin van het woord.

Azure Functions

In dit model bieden de meeste cloud dienstverleners u de flexibiliteit om eenvoudigweg uw code aan te leveren en deze voor u uit te voeren. Dit betekent dat u in letterlijk enkele minuten van broncode naar een live applicatie kunt gaan. Populaire serverless computing-diensten zijn AWS Lambda en Azure Functions.

Een andere mythe die we moeten ontkrachten is dat serverless computing geschikt is voor elke workload. Dit zou eigenlijk niet verder van de waarheid kunnen liggen. De meeste cloudproviders stellen bepaalde harde limieten aan de applicaties die je met hun serverless modellen kunt draaien, zoals limieten aan de uitvoeringstijd en geheugentoewijzing. Dit soort beperkingen betekent dat serverless computing alleen geschikt is voor bepaalde use cases, en dat je niet elke applicatie kunt draaien met serverless computing. Dat gezegd hebbende, zijn twee belangrijke voordelen van serverless computing, afgezien van het feit dat je de compute niet zelf hoeft te beheren:

  • Prijsmodel
    De meeste providers van clouddiensten hanteren een pay-per-invocation-model voor serverless computing. Dit betekent dat u alleen betaalt wanneer uw code wordt uitgevoerd. Als uw applicatie maanden of zelfs jaren niet wordt uitgevoerd, hoeft u geen kosten te betalen. U hoeft ook geen onderhoud aan de server uit te voeren zoals u zou doen als u de applicatie in uw eigen datacenters zou draaien.
  • Automatisch schalen
    De meeste providers van clouddiensten schalen uw applicatie automatisch. Dit betekent dat als uw applicatie plotseling een piek in het verkeer vertoont, de provider gewoon nieuwe instanties van uw applicatie opstart om de belasting aan te kunnen.

De meeste cloudserviceproviders ondersteunen ook een breed scala aan programmeertalen voor serverless computing zoals Python, Javascript en Java. Nog indrukwekkender is dat deze serverloze toepassingen kunnen worden blootgesteld als API’s met behulp van native services van de cloud service providers, zoals AWS API Gateway of rechtstreeks vanuit Azure Functions zelf. Laat ons dit verduidelijken met een fictieve use-case.

GNI Renovatieleningen

GNI heeft een recente piek in de populariteit van hun leningen voor woningrenovaties gezien. Om toegang te krijgen tot het geld van hun renovatielening, moeten klanten een online formulier invullen met vermelding van het bedrag dat ze willen opnemen. Ze moeten ook een factuur delen met een geldig TVA-nummer, waarop een bedrag moet staat dat overeenkomt met het bedrag dat op het onlineformulier is ingevuld. Het duurt ongeveer drie werkdagen (en zelfs langer op nationale feestdagen) voordat GNI het verzoek verifieert en het geld van de klant vrijgeeft. Dit proces is minder dan ideaal gebleken voor klanten, vooral wanneer er een tijdsdruk is op de betaling van goederen en diensten voor hun renovaties. GNI realiseerde zich dat ze dit proces konden versnellen door een nieuwe dienst te creëren die het volgende doet:

  1. Controleer de geüploade factuur
  2. Controleer het gevraagde bedrag
  3. Rekening klantenlening controleren
  4. Verzoek om vrijmaking van middelen

Het management staat te popelen om dit nieuwe initiatief uit te proberen aangezien uit recent klantenonderzoek blijkt dat dit proces tot de meeste frustraties leidt bij klanten. GNI heeft ervoor gekozen om deze nieuwe service te creëren met behulp van serverless computing. Dit stelt hen in staat om de functie snel te verschepen zonder door meerdere planningscycli te gaan om nieuwe infrastructuur en netwerkcomponenten aan te leveren.

De serverloze applicatie is opgebouwd uit een serverloze functie die wordt blootgesteld aan klanten via een API Gateway. Het is in staat om te interfacen met zowel interne GNI API’s als publiek beschikbare API’s. De stroom van de toepassing is als volgt:

  1. Klanten vullen het online formulier in met vermelding van het geleende bedrag en uploaden een factuur
  2. De API Gateway stuurt het verzoek door naar de serverloze applicatie
  3. De serverloze applicatie controleert de factuur en verifieert of het TVA-nummer geldig is met behulp van een openbare (overheids) API, en verifieert of het bedrag op de factuur overeenkomt met het bedrag dat door de klant is aangevraagd
  4. De serverloze applicatie controleert of de klant gemachtigd is om dat bedrag op te nemen met behulp van GNI-API’s
  5. De serverloze toepassing vraagt fondsen om te worden vrijgegeven op de rekening van de klant met gebruikmaking van GNI API’s

Een systeem als dit kan een proces van drie werkdagen terugbrengen tot letterlijk minuten of zelfs seconden, als het correct wordt geïmplementeerd. De bottleneck wordt weggenomen en GNI heeft meer middelen vrijgemaakt voor andere zaken.

Serverless Cloud Case Picture
GNI Renovatieleningen Case

Tot slot

Zoals u kunt zien, kan serverless computing bedrijven wendbaarder maken door hen de mogelijkheid te bieden de ontwikkelings- en releasecycli te verkorten en zo snel waarde te leveren aan hun klanten. Dit model kan nog effectiever zijn wanneer het wordt gecombineerd met andere methodologieën zoals Continuous Integration/Continuous Delivery (Deployment).

DigitalScaler kan u helpen met uw reis naar de cloud, onder andere door u in staat te stellen geschikte use-cases te identificeren voor serverless computing.

Ik wil de voordelen van serverless computing ervaren

Ontdek Meer