Mijn cloud is beter dan die van jou
De laatste tijd zien we steeds meer vergelijkingen tussen diverse cloud providers op duiken. Deze zijn vaak in de vorm van:
- Mijn cloud is sneller dan die van jou
- Mijn cloud is goedkoper dan die van jou
- Of als variatie: ik heb Cloud A met B ‘onafhankelijk’ vergeleken en A is sneller/goedkoper dan B.
De eerste 2 vormen zijn vaak het resultaat van een ijverige marketing afdeling van een cloud provider. De laatste is schijnbaar ‘onafhankelijk’ maar vaak gesponsord door de (marketing afdeling van de) winnaar van de vergelijking.
Het is niet vreemd dat dit soort onderzoeken nu steeds meer opduiken; de markt word steeds volwassener en voller. Cloud providers moeten zich proberen te onderscheiden in deze steeds vollere markt.
Oplossingen die ver zijn gestandaardiseerd en derhalve vaak commodity zijn laten zich uitstekend vergelijken op performance en/of prijs. Denk aan server hardware; een commodity die zijn goed laat vergelijken op performance per $$ of performance per Watt. Ook commodity software zoals een tekstverwerker laat zich goed vergelijken op basis van prijs. De extra features die bepaalde server hardware of een tekstverwerker levert, zijn marginaal en vaak niet erg onderscheidend meer. Cloud oplossingen zijn echter verre van gestandaardiseerd en laten zijn dus slecht onderling vergelijken.
Referentie architectuur
Het leveren van een IT dienst zoals rekenkracht (als bij IAAS) of een programmeer omgeving (als bij PAAS), blijft een complexe bezigheid. Zeker als we kijken naar additionele zaken die nodig zijn om alles te laten werken. Zo is de rekenkracht niets zonder de toegang tot die rekenkracht. Hierbij komen dan zaken zoals DNS en CDN kijken. De programmeer omgeving is niets zonder een framework voor toegang en toegangscontrole (Identitymanagement / access).
De kracht van veel cloud leveringen is het feit dat al deze complexe zaken worden afgehandeld door de cloud leverancier en daar mee de wereld makkelijker bruikbaar gemaakt word voor de afnemer. Zodra we echter naar benchmarks voor snelheid gaan kijken, is het echter wel degelijk van belang hoe deze levering is opgebouwd en hoe of deze op een juiste manier gebruikt word.
De cloud leveranciers leveren hun IT omgeving volgens een bepaalde ontwerp gedachte en visie. Deze is vastgelegd in de referentie architectuur. In deze architectuur staan de kaders en principes die van toepassing zijn op de geboden omgeving. Als men zich niet aan deze kaders houd, dan werkt de omgeving niet of is de performance slecht. Bij het afnemen van een cloud omgeving bij bijvoorbeeld Amazon dient men zich dus wel te houden aan de referentie architectuur.
Dit is extra duidelijk bij de Platform As A Service (PAAS) leveringen. Al eerder gaf ik aan dat een applicatie niet zo maar verplaatst kan worden naar een cloud omgeving. Deze dient vaak aangepast te worden om bijvoorbeeld schaalbaarheid mogelijk te maken. Zodra we een applicatie op een Microsoft Azure omgeving plaatsen of ontwikkelen, dan houden we ons aan de referentie architectuur voor Azure en zorgen we er voor dat deze hier voor geoptimaliseerd word. Dat is niet anders dan op dit moment in een traditionele IT omgeving ook gedaan word. Dit alles maakt het creëren en draaien van benchmarks wel erg lastig. Een test applicatie op Azure kan bagger traag werken op een Google AppEngine omdat deze zich niet aan de spelregels (architectuur) van Google houd en er zeker niet voor geoptimaliseerd is. Dit alles is ook van toepassing op de vergelijkingen die ik rond IAAS leveringen voorbij zie komen op dit moment waarbij CloudHarmony op dit moment de beste poging tot vergelijking van cloud providers doet.
Daarnaast moet men benchmark publicaties met een flinke korrel zout nemen, zoals ik aangaf in ‘Waar benchmarks zijn… wordt vals gespeeld…’
Performance of feature ?
Naast de referentie architectuur, is het belangrijk om te kijken naar de geboden producten en diensten van de cloud leverancier. Hierbij zien we namelijk grote verschillen ontstaan tussen de aanbiedingen op dit moment. De feature set bij Amazon is op dit moment groter dan bij diverse andere aanbieders. Daarnaast bereid Amazon deze set in zeer hoog tempo uit.
Recent schreef Derrick Harris (Gigaom):
It’s arguable that a virtual machine is a virtual machine in the sense that they all provide standard image types and are capable of hosting standard applications, but different classes of users have different requirements for what’s underlying or surrounding their machines. It’s very easy to see why some developers would prefer the breadth of capabilities afforded them by choosing AWS
De beschikbare benchmarks moeten dus duidelijk niet leidend zijn in de keuze voor een cloud provider. Veel belangrijker is het om te kijken of de referentie architectuur en onderliggende producten en diensten passen bij jou wensen. Het geheel van deze diensten beïnvloed namelijk ook nog eens de TCO voor het gebruik er van. In de diverse vergelijkingen rond kosten word dit vaak vergeten als men enkel de pay-per-use bekijkt.
Als je je committeert aan de kaders van de cloud leverancier, de omgeving gebruikt waar voor hij bedoeld is en je je ontwikkeling optimaliseert voor het gebruik van deze cloud omgeving kun je een zeer gelukkig ‘cloud leven’ leiden zoals bijvoorbeeld Netflix.
En als je dan toch een vergelijking/benchmark bekijkt: kijk dan goed of het appels-met-appels is en geen appels-met-peren.
Meer vergelijking:
2 comments