5 apr. 2023
Cloudkosten verlagen
Het Belang van Software-optimalisatie
Net als velen zag ik de cloudkosten voor mijn klanten omhoogschieten, een flinke wake-up call. Om te overleven is het essentieel om software-optimalisatie in te zetten als strategie voor het beheer van cloud-uitgaven. Lees mee hoe ik tot 90% op cloudkosten heb bespaard door middel van optimalisatie!
Inzicht in cloudkosten
Voor veel mensen lijkt "de cloud" ongrijpbaar, waardoor het moeilijk te begrijpen is wat er precies bijdraagt aan cloudkosten. Simpel gezegd bestaat de cloud uit computers zonder beeldscherm, gehuisvest in grote kasten en die hele ruimtes of gebouwen in beslag nemen. Deze computers verschillen niet veel van je persoonlijke apparaten, zoals laptops.


Hoe meer taken je op een cloudcomputer uitvoert, hoe meer rekenkracht en geheugen er nodig is om te voorkomen dat deze trager wordt of crasht. Cloudproviders brengen je kosten in rekening voor de hoeveelheid rekenkracht en geheugen die je gebruikt.

Net zoals de batterij van je laptop of telefoon sneller leeg raakt wanneer deze harder werkt, verbruiken cloudcomputers meer elektriciteit wanneer ze op volle capaciteit werken.
De recente stijging van de cloudkosten is voornamelijk te wijten aan stijgende energiekosten. Cloudproviders rekenen deze kosten door aan de eindgebruikers van hun diensten: JIJ!
Hoewel ik ook de prijzen moest verhogen, voelde het niet goed om de rekening gewoon door te sturen en het af te doen als "niet mijn probleem". Ik geloof dat het voor mijn bedrijven essentieel is om de volledige verantwoordelijkheid te nemen voor de stijgende kosten om duurzaam te kunnen floreren. Daarom ben ik begonnen met het verlagen van mijn cloudkosten.


Cloudkosten verlagen
Laten we eens kijken naar drie eenvoudige strategieën om cloudkosten te verlagen: taken minder vaak uitvoeren, onnodige gegevens verwijderen en taken delegeren aan anderen.
Minder (vaak) doen
Ten eerste is één manier om kosten te besparen het verminderen van de frequentie van specifieke taken. Analyseer je processen en identificeer bewerkingen die veel resources verbruiken. Bepaal of deze taken minder vaak kunnen worden uitgevoerd zonder je doelstellingen in gevaar te brengen. Door resource-intensieve processen minder vaak uit te voeren, kun je resources besparen en je totale cloudkosten verlagen. Bijvoorbeeld:
- Overweeg of je cloudapplicaties continu moeten draaien, of dat je kunt afschalen tijdens rustigere periodes, zoals 's nachts. Door je workload te analyseren, kun je patronen identificeren die mogelijkheden bieden voor optimalisatie.
- Voer taken één keer uit en serveer resultaten vanuit een cache. In plaats van bijvoorbeeld webshop prijzen voor elke individuele bezoeker te berekenen, voer je de berekening één keer uit en serveer je de resultaten aan alle bezoekers.
- In plaats van functies standaard in te schakelen, maak je ze opt-in op basis van een 'need-to-have' principe. Denk er zo over na: als je alleen thuis bent, doe je dan alle lichten in huis aan of alleen die in de kamer waar je bent?
Gegevens verwijderen
Een andere strategie is om regelmatig onnodige gegevens te verwijderen. Omdat opslagkosten een aanzienlijk deel van je cloudkosten kunnen uitmaken, is het cruciaal om je opgeslagen gegevens te controleren en verouderde of irrelevante bestanden te verwijderen. Door dit te doen, kun je waardevolle opslagruimte vrijmaken en voorkomen dat je onnodige kosten maakt voor gegevens die je niet langer nodig hebt. Bijvoorbeeld:
- Verwijder oude logbestanden, omdat het niet altijd nodig is om deze voor onbepaalde tijd in de cloud te bewaren, wat kan leiden tot hogere opslagkosten. Overweeg om logs naar een andere computer of e-mail inbox over te zetten.
- Optimaliseer foto's, afbeeldingen, muziek en video's met behulp van geavanceerde compressietechnieken. Met lossless compressie kun je tot 80% aan opslag besparen zonder kwaliteitsverlies. Read my post on image optimisation
- Wees selectief over wat je opslaat: moet je echt alles loggen, opslaan of bewaren? Het is een beetje zoals niet "het hele restaurant opeten" als je er alleen voor het diner bent.
Laat anderen het doen
Overweeg ten slotte om bepaalde taken te delegeren aan anderen of gebruik te maken van client-side computing resources. Er zijn veel diensten beschikbaar die gespecialiseerd zijn in het afhandelen van specifieke cloud-gebaseerde bewerkingen, vaak efficiënter dan wanneer je probeert ze intern te beheren. Door sommige van deze taken uit te besteden aan specialisten of gebruik te maken van de snelle processors en het geheugen van de apparaten van gebruikers, kun je profiteren van hun expertise en resources, terwijl je de belasting van je eigen cloudinfrastructuur vermindert. Read my post on leveraging client-side computing power. Deze aanpak kan leiden tot zowel kostenbesparingen als verbeterde prestaties. Bijvoorbeeld:
- Overweeg om resources zoals afbeeldingen en video's aan de client-side te comprimeren en te verkleinen voordat je ze uploadt naar je cloudservice, of besteed de optimalisatietaken uit aan gespecialiseerde online diensten.
- Als je applicatie een zoekfunctie bevat, overweeg dan om deze volledig client-side te implementeren met behulp van JavaScript en een JSON datastructuur. Je zult versteld staan van hoe snel dit duizenden records kan verwerken.
- Wanneer je animatie of interactieve graphics gebruikt, overweeg dan om gebruik te maken van de krachtige grafische chips van moderne client-apparaten, met name voor (web-gebaseerde) games of grafieken.
Zelf doen
Na maanden van hard werken is het me gelukt om mijn cloud footprint met 66% te verminderen, terwijl ik ongeveer 80% van alle functies en diensten heb behouden. Tegen het einde van het jaar verwacht ik verdere verlagingen, aangezien sommige contracten aflopen.

In het begin leek de taak onoverkomelijk; het was onduidelijk waar te beginnen. Naarmate ik echter meer vertrouwen kreeg en vorderde met mijn optimalisatiestrategie, ontwikkelde ik er een talent voor en ontdekte ik onderweg steeds meer mogelijkheden voor optimalisatie.

Conclusie
Het verlagen van cloudkosten hoeft geen complex proces te zijn. Door deze eenvoudige strategieën toe te passen - taken minder vaak uitvoeren, onnodige gegevens verwijderen en taken delegeren aan anderen - kun je een aanzienlijke impact hebben op je cloudkosten en je algehele activiteiten optimaliseren. Uiteindelijk vraag je je misschien af waarom je niet eerder met dit proces bent begonnen. Zoals het gezegde luidt: beter laat dan nooit!
