Kosteneffectief schalen met AWS Spot-instances

Auteur
Tom Meulensteen
Datum

Wat is een spot-instance nou eigenlijk?

Amazon Web Services (AWS) - onze Cloud partner - heeft een hoop datacenters. Deze datacenters worden veelal niet gelijktijdig optimaal benut. Er is altijd wel ergens capaciteit over die door niemand wordt gebruikt.

Om deze (tijdelijke) overcapaciteit zo veel mogelijk in te zetten, biedt AWS je de mogelijkheid om hierop te bieden, voor meer informatie klik hier. Het werkt als volgt, je vult het volgende in: ‘’Ik wil instance X en ik wil daar maximaal X voor betalen.’’

Indien dit verzoek wordt geaccepteerd krijg je voor de marktwaarde de instance. Dit blijft zo totdat iemand meer biedt dan jij hebt gedaan. Dan wordt de instance verwijderd.

Als je je autoscaling zo inricht dat je een basis hebt van on-demand instances kun je de eventuele overige capaciteitsvraag invullen met spot instances. Kost weinig en toch veel voordeel. Je moet natuurlijk wel in de gaten houden of je niet overboden wordt, want dan zit je met te weinig capaciteit en eindig je met performance issues in je backend. Het is dus slim om wat tooling in te zetten of te schrijven om een gewone instance in te zetten, mocht je geen spot-instance kunnen krijgen van AWS.

Spot-instance in de praktijk

Binnen het backend systeem van de NVM, waar alle koop/verkoop informatie is opgeslagen vanaf 1970 tot heden, wordt veel data verwerkt. Er wordt data toegevoegd door makelaarskantoren en er vervolgens uitgehaald door externen zoals bijvoorbeeld Funda en het Nederlands Woning Waarde Instituut. Het gaat hier om flink wat data, data die we binnen AWS verwerken, opslaan en back-uppen. Een belangrijk deel van de totale dataset is ‘media’ zoals filmpjes en plaatjes. Dit is uiteindelijk waar jij en ik toch wel de meeste interesse in hebben. Lees hier meer over de nieuwe media-oplossing die we eerder dit jaar voor NVM lanceerden.

Veel processor-kracht is nodig

Vooral het verwerken van media gebruikt de nodige processor-kracht. De hoeveelheid processorkracht die nodig is, verschilt per dagdeel. Een makelaar zal immers in de nacht weinig media uploaden en dan is de vraag dus relatief klein. Ik zeg relatief, omdat er in de nacht wel degelijk vraag is naar media, maar niet zoveel als overdag.

Omdat de load overdag hoger is dan in de nacht, is het mogelijk om met servers te schalen. Zo hoef je ’s nachts de servers die je niet gebruikt, ook niet te betalen. Maar je kan verschil in kosten nog een stapje interessanter maken als je gebruik maakt van spot-instances. Klik hiervoor meer informatie.

Amazon Elastic Compute Cloud running Windows Spot Instances

0.0031 USD per t1.micro Windows Spot Instance-hour in EU West (Ireland) in VPC Zone 2
2,612 Hrs $8.10 0.02 per hour = $52

Wat levert dit nou op? Afgelopen maand hebben we in totaal 2612 uur aan spot instances op de rekening staan. Totale kosten daarvan komen neer op $8,10, slechts $0,0031 per uur. Als we dit vergelijken met de bestaande on-demand instance die per uur $0,02 kost (maandelijks $52,24), dan scheelt dit toch wel een serieus bedrag.

OnDemand vs Spot Pricing v2

Dit voorbeeld is gericht op kleine instances waardoor de prijs per uur relatief laag is en de besparing dus ook. Maar als je dit op een grotere schaal doet, kunnen de voordelen hoog oplopen.

Tags