5 redenen om ook te kiezen voor Serverless cloud
Serverless is een andere manier van denken over hoe je gebruik kan maken van de cloud infrastructuur. In traditionele zin maak je gebruik van een eigen server waar de eigen software op draait, maar met een Serverless architectuur wordt de software in de cloud uitgevoerd. Enkel en alleen wanneer dit nodig is. Er hoeft geen server gereserveerd te worden en dit bespaart een hoop kosten.
Serverless, een wereld zonder servers?
Software wordt uitgevoerd zonder dat je je druk hoeft te maken over servers of virtuele machines. Dat klinkt gek, maar de datacenters zijn er wel, de infrastructuur vind je alleen volledig bij de cloud provider. De letterlijke vertaling is serverloos, dus zonder server. Laat je niet verwarren door deze term. Het klinkt wellicht tegenstrijdig. Maar wat dit in de praktijk betekent is dat de ontwikkelaars geen omkijken hebben naar infrastructurele issues. Zij kunnen zich volledig focussen op hetgeen ze het leukste vinden; het schrijven van code.
De cloud centraal
Bij Serverless draait het om de cloud. Je kiest de cloudprovider die het best bij je past en maakt vervolgens gebruik van bijvoorbeeld AWS Lambda, Azure Functions of Google Cloud Functions. Het komt dichterbij dan je misschien denkt. Als je een mobiele applicatie gebruikt, is de kans aanwezig dat je al kennis hebt gemaakt met een Serverless functionaliteit. Want hoe ziet dit er in de praktijk uit? Als simpel voorbeeld nemen we het versturen van een contactformulier op een willekeurige website of applicatie. Nadat jij, als bezoeker, je gegevens hebt ingevuld en op verzenden klikt, gebeurt er het volgende:
- De gegevens worden verstuurd naar de cloud, er wordt direct een Serverless functie opgestart. Dit is een stukje code wat ervoor zorgt dat de volgende stappen uitgevoerd worden.
- Deze functie controleert of de gegevens volledig zijn en slaat deze op in een database (bijvoorbeeld een Serverless database).
- De Serverless functie zorgt dat er een bevestigingsmail gestuurd wordt.
- Het traject is voltooid. De Serverless functie zal vanzelf afgesloten worden.
Dit hele proces duurt wellicht een tiende seconde en je betaalt enkel voor de tijd dat deze functie gewerkt heeft. Stel, bovenstaand formulier wordt door een grote groep mensen tegelijk ingevuld en verzonden, dan wordt de functie exact zo vaak gestart als nodig is. Dit proces speelt zich vlekkeloos naast elkaar af. Het is dus enorm schaalbaar. Hierdoor heb je geen gedoe meer met overladen servers die haperen omdat ze de vraag niet aankunnen. Dit is één van de redenen waardoor de populariteit van Serverless toeneemt.
Serverless biedt kansen. Maar hoe verhoudt zich dat tot jouw eigen business?
Serverless kan al op kleinschalig niveau. Denk bijvoorbeeld aan je testomgeving. Over het algemeen gebruik je deze omgeving ‘s nachts niet, waardoor je het logischerwijs uitzet. Als eigenaar van die infrastructuur blijven de kosten echter gelijk. Als je overstapt naar een Serverless oplossing, betaal je echter exact wat je gebruikt. Het is zo simpel als het klinkt, laat je de servers ‘s nachts niet draaien, dan verbruik je niets en betaal je dus ook niets. Oftewel, jouw kosten gaan omlaag. Dit is een van de belangrijkste voordelen van Serverless, maar er zijn er meer.
Even voorstellen: Trivento
Al meer dan 20 jaar lossen wij complexe business uitdagingen op met software, omdat we een stel pro-actieve experts zijn die dat leuk vinden. Wij focussen ons op software voor kernprocessen waar geen standaard software voor is en bedienen daarmee bedrijven zoals: de Goede Doelen Loterijen, FWG progressional People, Belastingdienst, Ctgb, ANWB, Royal Flora Holland, Bookspot, Port of Rotterdam, KPN IoT, Agrifirm en vele anderen.
De 5 grootste voordelen van Serverless
1. Zelf geen infrastructuur onderhouden
Door een applicatie te ontwikkelen op serverless services van een cloud provider ben je zelf niet meer verantwoordelijk voor het onderhouden van de infrastructuur. Bij het opstarten van een software project hoeft er ook niet meer gezorgd te worden voor de infrastructuur. Deze is er immers al, namelijk bij de cloud provider. Hierdoor kan je je tijd steken in het ontwikkelen van de applicatie. Het ontwikkelen van de functies kan lokaal uitgevoerd worden, ze kunnen namelijk communiceren met andere services in de cloud. Hierdoor kan de ontwikkelaar zijn code makkelijk en snel testen én eventuele fouten in de code opsporen.
2. Kostenverlaging
Zoals hierboven genoemd wordt dit door velen als een van de belangrijkste voordelen van Serverless gezien. In een eigen datacenter heb je voldoende server capaciteit nodig om het drukste moment aan te kunnen. Dit betekent dat je het grootste deel van de tijd veel meer capaciteit tot je beschikking hebt dan je daadwerkelijk nodig heb. En dat kost geld. Met serverless betaal je voor wat je gebruikt. Je hoeft op voorhand geen capaciteit te reserveren en de totale kosten worden vastgesteld op basis van hoe vaak en hoe lang de serverless functies uitgevoerd worden. Dit betekent dus dat je helemaal geen kosten hebt op het moment dat de software (bijvoorbeeld ‘s nachts) een periode niet gebruikt wordt.
3. Geen downtime bij het updaten
Een nieuwe versie van een applicatie live zetten kan zorgen voor een kleine periode waarin de applicatie niet bereikbaar is. Dit is funest als het gebeurt op het moment dat de applicatie gebruikt wordt. Met serverless worden de oude componenten pas afgesloten zodra de nieuwe componenten klaar zijn om gebruikt te worden. Je kan dus op ieder moment een update van je applicatie live zetten, zonder dat er van downtime sprake is.
4. Automatisch opschalen
Serverless technologie is gemaakt om schaalbaar te zijn, bij hoge pieken kunnen er veel functies naast elkaar worden gedraaid. Het mooiste hiervan? Het gaat helemaal vanzelf. Nadat de piek voorbij is en een specifieke functie niet meer gebruikt wordt, stopt het automatisch. Hiermee is er dus altijd precies voldoende capaciteit beschikbaar om de vraag aan te kunnen, zonder dat er iemand naar om moet kijken.
5. “Groene” softwareoplossing
Veel bedrijven hebben eigen datacenters of servers in gebruik die altijd aan staan. Hierdoor wordt er veel energie verbruikt als de servers niet of beperkt gebruikt worden. Als de serverless infrastructuur niet meer gebruikt wordt komt deze beschikbaar voor andere gebruikers die dat wel nodig hebben. Dankzij deze ontwikkeling is er minder infrastructuur nodig voor iedereen. Je kunt dit vergelijken met de autodeeldienst greenwheels. Als je een auto nodig hebt, pak je ‘m en rijd je ermee rond. Zit je rit erop, dan parkeer jij je auto en kan iemand anders deze gebruiken.
Serverless architectuur
Nu de cloud steeds meer de standaard aan het worden is, en de voordelen zo groot zijn, is het ook logisch dat steeds meer organisaties gebruik gaan maken van serverless. Daarbij wordt het vaak toegepast in combinatie met de bestaande microservice architectuur.
Als ontwikkelaar is het grootste voordeel dat je je niet druk hoeft te maken over de infrastructuur. Je kan een vliegende start maken omdat je je code snel op de cloud kan zetten. Dit levert meer productiviteit op. Als businessmanager is zowel de kostenbesparing als de automatische schaalbaarheid fijn, want hierdoor draaien er precies zoveel serverless functies als nodig is.
Bij Trivento overwegen we altijd goed welke architectuur het beste past bij de klantvraag. We kijken per casus of een microservice architectuur of juist een serverless architectuur beter past bij het gewenste resultaat. Omdat microservices en serverless goed samen gaan, is het ook mogelijk om beiden te combineren, wat in de praktijk ook vaak gebeurt. Zie jij Serverless kansen voor je eigen business of wil je meer weten over dit onderwerp? Neem contact op en ontdek wat wij voor je kunnen betekenen.
Deze Knowledge Partner Blog is verzorgd door Trivento. Trivento is Knowledge Partner van iSourcing Hub op het thema Software Development. Knowledge Partners zijn op iSourcing Hub aangesloten leveranciers en adviesbedrijven die vanuit hun expertise op een bepaald domein helpen met het opstellen en onderhouden van de Public Library vragen.