Serverless computing verandert uw cloudkostenstructuur door vaste capaciteitskosten te vervangen door facturering op basis van uitvoering. In plaats van te betalen voor servers die continu draaien, betaalt u alleen voor de rekentijd die uw code daadwerkelijk gebruikt, gemeten in milliseconden. Hierdoor verschuiven de kosten van voorspelbare maandelijkse verplichtingen naar variabele, vraaggestuurde kosten die automatisch meegroeien met het gebruik. In de onderstaande paragrafen wordt uitgelegd hoe die verschuiving van invloed is op alles, van prognoses tot kostenallocatie.
Waarin verschilt de prijsstelling bij serverless fundamenteel van de traditionele cloudfacturering?
Bij traditionele cloudfacturering worden kosten in rekening gebracht voor gereserveerde of on-demand capaciteit, ongeacht of uw workloads hier gebruik van maken. Bij serverless-facturering worden kosten in rekening gebracht per uitvoering, per duur en per resource die tijdens die uitvoering wordt verbruikt. U betaalt voor wat er daadwerkelijk draait, niet voor wat inactief is. Dit ‘pay-per-execution’-model maakt volledig een einde aan het concept van kosten voor inactieve servers.
In een traditionele opstelling met virtuele machines of containers kies je een bepaalde grootte, en die grootte bepaalt je factuur, ongeacht het daadwerkelijke gebruik. Een VM die draait op 5% CPU kost nog steeds evenveel als een VM die draait op 95%. Serverless draait deze logica om. AWS Lambda, Azure Functions en Google Cloud Functions brengen allemaal kosten in rekening op basis van het aantal aanroepen, vermenigvuldigd met de uitvoeringsduur en de toegewezen geheugencapaciteit.
De praktische gevolg hiervan is dat uw kostencurve rechtstreeks wordt gekoppeld aan het gedrag van de applicaties, in plaats van aan infrastructuurbeslissingen. Een piek in gebruikersactiviteit leidt tot een piek in de kosten. Een rustig weekend levert vrijwel geen kosten op. Dit verschilt fundamenteel van de traditionele cloud, waar ‘rightsizing’- en reserveringsstrategieën uw basisuitgaven bepalen, ongeacht de daadwerkelijke vraag.
Welke invloed heeft serverless computing op de voorspelbaarheid van cloudkosten?
Bij serverloze computing zijn de kosten achteraf gemakkelijker te verklaren, maar vooraf moeilijker te voorspellen. Omdat de facturering rechtstreeks gekoppeld is aan het uitvoeringsvolume, weerspiegelen uw maandelijkse uitgaven het daadwerkelijke werkbelastinggedrag in plaats van de toegewezen capaciteit. Dit zorgt voor een nauwere koppeling tussen kosten en gebruik, maar het betekent ook dat u voor het maken van prognoses inzicht moet hebben in gebruikspatronen in plaats van alleen maar het aantal servers te tellen.
Voor IT-financiële teams betekent dit een ingrijpende verandering. Bij traditionele cloudprognoses ligt de nadruk op capaciteitsplanning: hoeveel instances, welke omvang, welk reserveringsniveau. Voor serverloze prognoses is het nodig inzicht te hebben in de aanroepfrequentie, de gemiddelde uitvoeringsduur en de geheugeninstellingen van mogelijk honderden functies. Deze variabelen vallen vaak onder de verantwoordelijkheid van de technische teams, niet van de financiële afdeling.
Het gevolg is dat de voorspelbaarheid van de kosten in serverloze omgevingen sterk afhankelijk is van de zichtbaarheid tussen verschillende afdelingen. Wanneer de technische afdeling de geheugentoewijzing van een functie wijzigt of een nieuwe trigger introduceert, heeft dit onmiddellijk en soms aanzienlijke gevolgen voor de kosten. Zonder gedeelde zichtbaarheid tussen de technische afdeling, IT en de financiële afdeling blijven deze wijzigingen onopgemerkt totdat de rekening binnenkomt. Dit is precies het soort tekort aan verantwoordingsplicht dat FinOps-werkwijzen zijn ontworpen om te sluiten.
Wat zijn de verborgen kosten van serverloze architecturen?
Tot de verborgen kosten van serverloze architecturen behoren oplossingen voor de vertraging bij het opstarten, kosten voor gegevensoverdracht, kosten voor API-gateways en de kosten van afhankelijke diensten die door serverloze functies worden aangeroepen. De uitvoeringskosten van de functie zelf vormen vaak slechts een fractie van de totale uitgaven wanneer deze bijkomende kosten worden meegerekend.
Dit zijn de meest voorkomende verborgen kostenfactoren in serverloze omgevingen:
- Kosten voor API Gateway: De meeste serverloze functies worden geactiveerd via een API-gateway, waardoor er naast de kosten voor het uitvoeren van de functie ook kosten per verzoek en per gegevensoverdracht bijkomen.
- Kosten voor gegevensoverdracht: Voor functies waarmee gegevens tussen diensten, regio’s of naar externe eindpunten worden verplaatst, worden uitgaande kosten in rekening gebracht die bij grote schaal snel oplopen.
- Gebruik van afhankelijke diensten: Serverloze functies maken vaak gebruik van databases, opslagdiensten, wachtrijen en caches. Elk van deze diensten heeft zijn eigen factureringsmodel, en serverloze technologie zorgt ervoor dat het gebruik ervan toeneemt.
- Toegestane gelijktijdigheid: Om koude starts te voorkomen, schakelen teams vaak ‘provisioned concurrency’ in, waardoor in feite weer een vergoeding voor gereserveerde capaciteit wordt ingevoerd, vergelijkbaar met de traditionele cloudfacturering.
- Registratie en monitoring: Functies genereren grote hoeveelheden loggegevens. CloudWatch, Azure Monitor of vergelijkbare diensten brengen kosten in rekening voor het opnemen en bewaren van loggegevens, en deze kosten stijgen naarmate het aantal aanroepen toeneemt.
Voor IT-financiële teams ligt de uitdaging in het feit dat deze kosten zijn verdeeld over meerdere factureringsregels en servicecategorieën. Om ze toe te wijzen aan een specifieke applicatie, een specifiek team of een specifieke bedrijfsdienst, zijn een strikte tagging-aanpak en een toewijzingslogica nodig die verder gaan dan wat standaard cloudfactureringsrapporten bieden.
Wanneer kost serverless eigenlijk meer dan traditionele cloudoplossingen?
Serverless is duurder dan traditionele cloudoplossingen wanneer workloads continu en op grote schaal worden uitgevoerd. Het ‘pay-per-execution’-model is efficiënt voor intermitterende of onvoorspelbare workloads, maar voor functies die miljoenen keren per dag worden uitgevoerd bij een constante vraag, kunnen de cumulatieve uitvoeringskosten hoger uitvallen dan wat een gereserveerde VM of een containercluster zou kosten voor dezelfde doorvoer.
Het break-evenpunt hangt af van drie variabelen: de frequentie waarmee de functie wordt aangeroepen, de gemiddelde uitvoeringsduur en het toegewezen geheugen. Een functie die 500 milliseconden draait met 1 GB geheugen en 10 miljoen keer per maand wordt aangeroepen, leidt tot een aanzienlijke rekening. Het uitvoeren van diezelfde workload op een kleine gereserveerde instance of container kan aanzienlijk minder kosten.
Serverless wordt doorgaans ook duurder wanneer:
- Teams maken het mogelijk om de geleverde gelijktijdigheid te beheren om de latentie te beheersen, waardoor er weer vaste capaciteitskosten ontstaan
- Functies duren lang vanwege inefficiënte code of externe afhankelijkheden
- Er wordt meer geheugen toegewezen dan nodig is om de snelheid te verbeteren, waardoor het tarief per milliseconde stijgt
- Werkbelastingen zijn in hoge mate afhankelijk van de huidige toestand en vereisen veelvuldig lezen en schrijven naar externe gegevensopslagplaatsen
De kostenvergelijking tussen serverless en traditionele cloudoplossingen is geen eenmalige beslissing. Werkbelastingpatronen veranderen, en wat begint als een efficiënte serverless-implementatie kan duur worden naarmate het gebruik toeneemt. Het regelmatig toetsen van uitvoeringspatronen aan alternatieve implementatieopties is een nuttige werkwijze voor elk team dat zijn clouduitgaven serieus in de gaten houdt.
Hoe moeten IT-financiële teams de kosten voor serverloze oplossingen toewijzen en bijhouden?
IT-financiële teams moeten de kosten van serverless-oplossingen toewijzen door een combinatie van het labelen van resources, kostentoewijzing op functieniveau en regels voor de toewijzing van gedeelde kosten voor diensten op platformniveau. Aangezien serverless-functies gedetailleerd en talrijk zijn, is het labelen op functieniveau de meest directe manier om de uitvoeringskosten te koppelen aan de verantwoordelijke teams, applicaties of bedrijfsdiensten.
Voor een effectieve toewijzing van de kosten bij serverless-oplossingen zijn enkele basisprincipes nodig:
- Consistente normen voor het toekennen van tags: Elke functie moet worden voorzien van tags die aangeven welk team, welke applicatie, welke omgeving en welke kostenplaats er verantwoordelijk voor zijn. Zonder deze informatie komen de kosten terecht in een niet-toegewezen pool, waaruit ze moeilijk eerlijk kunnen worden verdeeld.
- Kostenrapportage op functieniveau: Cloudproviders bieden een uitsplitsing van de facturering op functieniveau. Financiële teams moeten samenwerken met de technische afdeling om deze uitsplitsing af te stemmen op de kostentaxonomie van de organisatie, of deze nu is gebaseerd op een TBM-raamwerk of op een interne servicecatalogus.
- Toewijzing van gedeelde diensten: API-gateways, logboekdiensten en monitoringtools vervullen verschillende functies en worden door verschillende teams gebruikt. Voor deze gedeelde kosten is een toerekeningsmethode nodig, hetzij op basis van het aantal aanroepen, de uitvoeringstijd of een andere overeengekomen maatstaf.
- Regelmatige kostenbeoordelingen in samenwerking met de technische afdeling: De kosten van serverless-oplossingen veranderen wanneer de code wordt aangepast. Door een vast ritme van afstemming tussen de financiële afdeling en de technische afdeling wordt ervoor gezorgd dat de financiële gevolgen van architecturale beslissingen zichtbaar zijn voordat ze zich opstapelen.
De bredere uitdaging is dat kostenallocatie bij serverless vereist dat engineeringteams niet alleen verantwoordelijkheid nemen voor prestatieresultaten, maar ook voor kostenresultaten. Dit is zowel een culturele en procesmatige als een technische verschuiving, en vormt de kern van wat volwassen financieel cloudbeheer onderscheidt van eenvoudige kostenrapportage.
Welke tools helpen bij het beheren en optimaliseren van de uitgaven voor serverloze cloudoplossingen?
De handigste tools voor het beheren van uitgaven aan serverloze clouddiensten zijn cloud-native kostenanalysetools, FinOps-platforms met inzicht op functieniveau en tools voor het monitoren van applicatieprestaties die het uitvoeringsgedrag koppelen aan de kosten. Er is geen enkele tool die alles dekt, dus maken de meeste organisaties gebruik van een combinatie, afhankelijk van de cloudprovider en het vereiste detailniveau.
Tot de cloud-native opties behoren AWS Cost Explorer met Lambda-specifieke filters, Azure Cost Management met uitsplitsingen per functie-app en de facturatie-export van GCP naar BigQuery voor aangepaste analyses. Deze bieden de ruwe gegevens, maar het vergt veel handmatig werk om deze op grote schaal om te zetten in bruikbare inzichten.
Gespecialiseerde FinOps-platforms gaan nog een stap verder door de toewijzing te automatiseren, afwijkingen aan het licht te brengen en kostengegevens te koppelen aan de bedrijfscontext. Tools zoals Apptio Cloudability, die we implementeren als onderdeel van onze FinOps-praktijk, bieden inzicht in de kosten op functieniveau, naast aanbevelingen voor het optimaliseren van de capaciteit en het beheer van verbintenissen voor de bredere cloudomgeving. Dit is belangrijk omdat serverless-uitgaven zelden op zichzelf staan. De meeste organisaties maken gebruik van een combinatie van serverless, containers en VM’s, en het optimaliseren van één daarvan zonder inzicht in de andere leidt tot onvolledige beslissingen.
Hoe wij u helpen bij het beheren van de kosten voor serverloze oplossingen en clouddiensten in het algemeen
Om de kosten van serverless effectief te beheren, is meer nodig dan alleen de juiste tools. Er is een gestructureerde aanpak nodig die kostengegevens koppelt aan verantwoordelijkheid, de afdelingen engineering en financiën op één lijn brengt met gemeenschappelijke doelen, en kostenbewustzijn verankert in de manier waarop teams cloudworkloads bouwen en beheren. Dat is wat wij organisaties helpen op te bouwen.
Onze FinOps Cloud Cost Management-dienst ondersteunt u bij:
- Volledige kostentoerekening voor serverloze functies, containers, VM's en ondersteuningskosten, toegewezen aan uw kostentaxonomie
- Analyse van de optimale personeelsbezetting op AWS, Azure en GCP, inclusief controle van de instellingen voor geheugen en gelijktijdigheid voor serverloze workloads
- Bestuurskaders waarin wordt vastgelegd wie verantwoordelijk is voor beslissingen over cloudkosten, hoe vaak deze worden geëvalueerd en hoe de verantwoording wordt gewaarborgd binnen de afdelingen engineering, IT en financiën
- Beoordeling van de FinOps-rijpheid als uitgangspunt om inzicht te krijgen in de huidige stand van zaken binnen uw organisatie en wat de meest zinvolle volgende stappen zijn
- Integratie met TBM om de kosten van clouduitvoering te koppelen aan bedrijfsdiensten en investeringsbeslissingen, waardoor het management de nodige context krijgt om weloverwogen afwegingen te maken
Als uw organisatie de overstap maakt naar serverless of al een gemengde cloudomgeving beheert en een meer gestructureerde aanpak voor financieel cloudbeheer wil ontwikkelen, neem contact met ons op om te bespreken waar we moeten beginnen.