Een veel voorkomende manier om kosten te besparen is het aanschaffen van Reserved Instances. In deze blogpost zal ik aan de hand van een praktijkvoorbeeld uitleggen op welke wijze en hoeveel kosten met deze RI’s bespaard kunnen worden.
Wat is een Reserved Instance?
Een Reserved Instance (RI) is een commerciële afspraak waarbij een bedrijf zich verbindt om gedurende een bepaalde periode (bijvoorbeeld 1, 3 of 5 jaar) bepaalde resources, zoals Virtual Machines (VM’s), af te nemen. Als beloning voor deze toezegging ontvangt ze aanzienlijke kortingen ten opzichte van het betalen op basis van werkelijk gebruik (Pay-As-You-Go). De betaling kan maandelijks of voor de volledige contractperiode vooraf plaatsvinden, zelfs als de gegarandeerde VM’s niet volledig worden benut. Hoewel dit op het eerste gezicht inflexibel lijkt, wordt de toewijzing van een RI automatisch beheerd en worden kortingen automatisch overgebracht naar andere in aanmerking komende VM’s als er wijzigingen optreden.
Het is belangrijk op te merken dat in tegenstelling tot veelvoorkomende misvattingen, RIs geen garantie bieden voor de beschikbaarheid van VM’s (hoewel dit mogelijk is met andere Azure-producten). Het is puur een financiële regeling.
Praktijkvoorbeeld
Laten we eens kijken naar een praktijkvoorbeeld waarin we een QuickScan hebben uitgevoerd voor een klant die een applicatie naar Azure heeft gemigreerd. Deze applicatie omvat zowel een productie- als een acceptatieomgeving met elk 5 VM’s. De productieomgeving draait 24×7, terwijl de acceptatieomgeving 7×12 uur actief is. De uitkomst van de quickscan was dat door het gebruik van RIs zouden aanzienlijke kostenbesparingen mogelijk zijn, namelijk ongeveer 60% voor de productieomgeving en 16% voor de acceptatieomgeving.
Aangezien een QuickScan vaak geen optimale oplossing biedt, hebben we op verzoek van de klant we een nadere analyse uitgevoerd. We hebben samen met de beheerder van de applicatie het gebruik en de grootte van de VM’s beoordeeld. Uit onze analyse bleek dat zowel de CPU- als geheugengebruik zeer beperkt waren. We hebben vervolgens getest of de applicatie goed bleef draaien op kleinere VM’s van dezelfde familie, wat prima werkte. Dit resulteerde in een halvering van de omvang van een groot deel van de VM’s per omgeving. Een halvering in sizing levert ook een halvering van de kosten op.
Tevens hebben we het gebruik van de acceptatieomgeving geanalyseerd en ontdekt dat deze slechts door een zeer beperkt aantal gebruikers werd gebruikt. We hebben de omgeving zo geconfigureerd dat gebruikers deze handmatig kunnen starten en stoppen. Daarnaast wordt deze sowieso automatisch uitgeschakeld om 19.00 uur. In de praktijk wordt deze omgeving nu maximaal 12 uur per week gebruikt.
Tenslotte hebben we we RIs aangeschaft voor alle VM’s in de productieomgeving voor een periode van 3 jaar. Dit resulteerde in een extra besparing van 60% bovenop de besparing die al was gerealiseerd door de resizing.
Resultaat
In totaal hebben we een indrukwekkende kostenbesparing van 85% kunnen realiseren voor de VM’s die in Azure worden gebruikt voor deze applicatie. Zoals in mijn vorige blogpost aangegeven is het is echter belangrijk op te merken dat deze besparingen moeten worden gezien in relatie tot de totale kosten van Azure voor deze applicatie, die naast compute (VM’s) ook storage, een SQL-database, een back-up, netwerkconnectiviteit en beveiligingscomponenten omvatten. Door de aanpassing van de VM’s is een totale besparing van meer dan 30% gerealiseerd.
In bovenstaande grafiek zijn de procentuele besparingen op zowel VM niveau als de totale cloudkosten voor deze applicatie weergegeven.