Windows Azure: met je software in de wolken

0

Microsoft biedt met Windows Azure een ‘cloud services operating systeem’. Je hoort erg veel over Cloud Computing en bedrijven die ‘in de cloud zitten’. Private- , personal- en public clouds; de termen duikelen over elkaar heen.  Cloud Computing is zo’n beetje op het hoogtepunt van de media hype. Maar wat is dat precies, die ‘Cloud’, en wat kun je ermee?

Wat is die Cloud nou precies?

IT marketeers hebben de onhebbelijke eigenschap om iedere trend te gijzelen en hun producten, indien nodig, te hernoemen tot een Cloud-propositie. Hierdoor zijn er vele definities van Cloud computing en de invulling is afhankelijk van de leverancier. Het Engelse woord Cloud betekent eigenlijk gewoon ‘wolk’. In presentaties wordt de Cloud dan ook heel eenvoudig weergegeven als een wolkje. Hierin zit ook een inherente essentie van het woord Cloud: dat het ‘ergens op het internet gebeurt of is opgeslagen’ en dat je niet precies weet waar. Daarnaast is een belangrijk element van sommige Clouds dat je betaalt voor datgene wat je gebruikt. Het is dus een DIENST die wordt geleverd, die desgewenst per uur kan worden afgenomen. Daarnaast is de schaalbaarheid (de mogelijkheid om meer of minder computers te gebruiken) een belangrijk element in de definitie.

Als je toch een definitie wilt, dan vind je op Wikipedia nog de beste, met name de tweede alinea geeft de elementen van Cloud goed weer.

Computing moet simpeler

In het verleden is ‘Utility Computing’ als term in zwang geweest, waarmee werd bedoeld dat computercapaciteit net zo eenvoudig is (voor de eindgebruiker) als water uit de kraan. Ook Wikipedia gebruikt deze vergelijking in de beschrijving wat Cloud Computing is. Diegenen die wel eens met mensen uit de water- of energiebranche hebben gesproken, weten dat wat voor ons als eindgebruiker simpel is, voor de leverancier een technisch en organisatorisch hoogstandje is. Hetzelfde geldt voor het beheer van IT-infrastructuur en platform.

Het principe dat computercapaciteit net zo eenvoudig is als water uit de kraan heeft een bijna universele aantrekkingskracht, zowel voor de consument als voor het bedrijfsleven. Als je dit combineert met een ander betalingsmodel, namelijk niet meer alles zelf aanschaffen maar betalen voor datgene wat je echt gebruikt, krijg je een voor veel bedrijven interessante propositie: Cloudcomputing.

Dit is makkelijk gezegd, maar zeker minder makkelijk gedaan. Dit artikel is bedoeld om uit te leggen wat Windows Azure platform is. Ik blijf daarbij weg van (te) technische aspecten  Ik ga verder niet in op de definitie van Cloud, hoe een Cloud in detail werkt of hoe je bijvoorbeeld in de Cloud een ‘instantie’ (een virtuele computer) opstart.   Voor liefhebbers van dat soort technische informatie zijn er voldoende resources beschikbaar bij de diverse leveranciers, zoals Microsoft, Amazon enzovoort.

IAAS, PAAS, SAAS

Bij het praten over Cloud computing vallen vaak drie acroniemen: IaaS, PaaS en SaaS. De laatste drie letters betekenen As A Service en de I,P en S staan voor Infrastructure, Plaform en Software.  De onderste laag, de infrastructuur, is de hardware en netwerken die het harde stuk van Cloud Computing uitmaken. Daar bovenop komt de besturingslaag, het platform. Bovenop het platform komt dan de SaaS laag, Software As A Service. SaaS is al jaren een begrip en maakt gebruik van het concept om ‘zaken’ als service te verkopen in plaats van producten. Salesforce.com is een goed voorbeeld van SaaS, maar er zijn legio voorbeelden!

Private, Public, Personal, Community en Hybrid Clouds

Om alles nog iets complexer te maken, heeft men het onderscheid gemaakt tussen public, private, personal en hybride Clouds. Een public Cloud is toegankelijk voor iedereen die er voor betaald, dus jij en ik die allebei Windows Azure in de Cloud gebruiken, zitten in de public Cloud.

Een private Cloud is een Cloud die in de infrastructuur van je bedrijf of bij een trusted partner draait. Waarom wil je een private Cloud? Is dat niet helemaal in tegenstelling met het kernelement van die ‘wolk’? Nou dat valt wel mee, er zijn bedrijven of bedrijfstakken die bijvoorbeeld vanwege wet- en regelgeving of concurrentie geen gebruik willen of mogen maken van een public Cloud . Microsoft heeft hiervoor in combinatie met partners zoals Dell, Fujitsu en HP de Azure Appliance ontwikkeld.

Als je bij appliances denkt aan een klein apparaat dat bijvoorbeeld in een server rack past, moet ik je teleurstellen: denk eerder aan de afmeting van een flinke zeecontainer. Deze appliance wordt in het datacenter geplaatst en vormt daar de private Cloud. Community Clouds zijn van groepen bedrijven die een gemeenschappelijk doel of belang hebben en hybrid Clouds zijn combinaties van bovengenoemde Clouds.

Een personal Cloud maak je thuis door al je apparaten aan elkaar te koppelen en aan internetdiensten. Personal Clouds zijn wat mij betreft een mooi voorbeeld van het gijzelen van een hype door marketeers. In veel gevallen wordt hiermee online opslag van persoonlijke data bedoeld. Je ziet als het ware nog bijna het label ‘ONLINE STORAGE’ zitten als je de websites van providers van dit soort diensten leest.

Betaal wat je gebruikt

Een voorbeeld van Cloud Computing is het huren van een virtuele server voor een bepaalde tijd, die vervolgens een bepaald programma of taak uitvoert. Die virtuele server draait dan op een grotere server in een afgesloten stuk geheugen, totdat je ermee stopt. Je hoeft dus geen PC aan te schaffen, te onderhouden en te updaten om een taak te laten uitvoeren.  Voordelen zijn dan ook duidelijk, geen aanschafkosten, geen onderhoudskosten van infrastructuur en platform. Via een webbrowser start je een zogenaamde ‘instantie’ van jouw virtuele pc met de opdracht die moet worden uitgevoerd.  Je betaalt voor de hoeveelheid capaciteit die je gebruikt.

De kleinste virtuele computer kost bij Microsoft ongeveer 0,10 euro per uur (exclusief optionele andere kosten als opslag, datatransfer enzovoort) . Dus een dag een virtuele computer laten draaien kost 24 x 0,10 = 2,40 euro.  Je hoeft daarvoor geen computer aan te schaffen, geen elektriciteit te betalen en het onderhoud en beheer ligt ook bij Microsoft. Vanuit financieel oogpunt is er een verschuiving van Capital Expenditure (Capex) naar Operational Expenditure (Opex). Hierdoor hebben de kosten een directere link met het gebruik.

Voor bedrijven of particulieren?

Microsoft mikt met Azure duidelijk op bedrijven, niet op consumenten. Daar zijn diverse redenen voor: ten eerste hebben bedrijven meer software/processen die passen bij de schaalbaarheidsmogelijkheden die Aure (en Cloud Computing ) biedt. De beheerskosten (met name menskracht) van datacenters zijn (naast elektriciteit) de grootste kostenpost en in het kader van kostenreductie heel interessant. Het verminderen van investeringen (de zogenaamde capital expenditure of CAPEX) ten gunste van betalen voor gebruik (operational expenditure of OPEX) is een belangrijke trend die, zo denkt men, kosten verlaagt en helderheid in de kosten structuur biedt.

Banken zijn al jaren grootverbruikers van IT. Niet alleen omdat onze bankzaken in toenemende mate online plaatsvinden, maar ook vanwege de scenario’s die worden doorgerekend met zogenaamde Monte Carlo simulaties. Hierbij worden miljoenen willekeurige combinaties doorgerekend om bijvoorbeeld risico’s voor de bank in kaart te brengen. Dit vergt zeer veel rekencapaciteit en voor banken was de enige manier om dit te doen veel computers aanschaffen om de simulaties uit te voeren. De hoeveelheid benodigde IT-capaciteit werd dan ook aan de piekbelasting afgemeten. Deze overprovisioning  is echter erg kostbaar en banken zijn jaren geleden al bezig geweest om via Gridcomputing (het aan elkaar koppelen van systemen om een super computer te maken) dit soort scenario’s te berekenen. Onderstaande afbeelding geeft een overzicht van geschikte taken om op een Cloud uit te voeren.

Optimal Cloud workload patronenMet Cloud Computing ontstaat een schaalbaar platform waar dit soort zware opdrachten kunnen worden uitgevoerd in een korter tijdbestek en op basis van betalen voor het gebruik. Voor de consument speelt dit voordeel niet.

Competitie

Microsoft is niet de eerste die in Cloud stapt, Amazon is daar al een aantal jaren mee bezig. Amazon’s business model is van het verkopen van boeken uitgebreid met Cloud Services (Amazon AWS). Door hun eigen ervaring met het hosten van Amazon.com is Amazon in staat geweest om hun technische capaciteit ook voor derden in te zetten, eerst door het hosten van andere online-winkels (onder andere Barnes & Noble, hun grootste concurrent) en later door het aanbieden van Cloud services. Amazon doet geen uitspraak over de winstgevendheid van Cloud services, behalve dan dat het double digit (dus 10% of meer) is.

Wat kost dat nou?

Dat is nog niet eens zo gemakkelijk. Bij de leveranciers van Cloud Computing betaal je per gebruikseenheid, in de meeste gevallen is dat per uur. Bij Microsoft komen naast de uren die je gebruikt en de gekozen ‘instance’ ook nog kosten voor storage (per Gb per maand)  en data transfer (ook per Gb per maand). Daarnaast zijn er zogenaamde abonnementen die weer korting geven op bovengenoemde kosten in ruil voor een maandelijks vast bedrag. Als je gebruikt maakt van de SQL Azure versie of App Fabric (integratie met andere/legacy systemen) komen deze kosten er ook nog bij.

Microsoft Azure Pay As You Go:

  • Compute
  • Small instance (default): $0.12 per hour
  • Medium instance: $0.24 per hour
  • Large instance: $0.48 per hour
  • Extra large instance: $0.96 per hour

Amazon kent een soortgelijke structuur en prijsstelling, waarbij het in prijs uitmaakt of je Linux of Windows draait (de laatste is duurder).  Ook hierbij zijn zogenaamde reserved instance mogelijk (vergelijkbaar met Windows Azure abonnement). Amazon heeft nog wel een micro instance voor applicaties die kunnen volstaan met lagere specificaties. Andere leveranciers hebben weer hun eigen pricing schemes, waarbij de verwachting is dat deze sterk op elkaar zullen lijken in verband met de sterke competitie in de markt.

Appels en Appels of Peren?

Wat is nou de beste leverancier?  Om deze vraag te beantwoorden moet je naar een aantal aspecten kijken, zoals kosten, mogelijkheden van het platform in de zin van legacy-integratie, gebruiksgemak, beschikbare expertise enzovoort. Het vergelijken van de kosten en de specificaties is al niet eenvoudig. De Microsoft Small Instance heeft als specificaties: 1,6 Ghz processor, 1,75 GB intern geheugen en 225 GB opslag (allemaal virtueel). Amazons vergelijkbare instance heeft:  1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit ongeveer 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor) en 160 GB of opslag. De kosten zijn afhankelijk van gebruik en gekozen type resources en abonnement,  waardoor eerst een goede rekensom of zelfs business case moet worden gemaakt voordat je kunt bepalen wat het voordeligst is, nog even afgezien van de benodigde technische expertise en het gebruiksgemak van het platform en de applicaties die naar de Cloud moeten worden gebracht. Kortom, de keuze voor een Cloud provider maak je niet op een achternamiddag!

Iets nieuws onder de zon?

Als je je verdiept in Cloud Computing kan het gevoel je bekruipen of Cloud nou wel iets nieuws is. De kernelementen van Cloud, virtualisatie, outsourcing van hardware en infrastructuur en betalen voor gebruik zijn al jaren bekend en mogelijk. Ook het eerder genoemde concept van Utility Computing en zelfs het meer technische Grid Computing hebben elementen van Cloud Computing in zich, en andersom ook.

In de afgelopen 50 jaar hebben we verschillende veranderingen doorgemaakt, sommige daarvan waren echte grote doorbraken, zoals de overgang van het centrale mainframe naar de decentrale pc. Als reactie op de pc kwam toen de (centrale) server architectuur en met het internet veranderde de wereld weer. Door het gebruik van standaard protocollen en geavanceerde software werd het wereldwijd web ons netwerk en de browser de interface. Het hosten van jouw privéwebsite wordt gedaan door een provider (zeg dus maar: ergens in de Cloud).

De vraag of we met Cloud iets nieuws in handen hebben, is wat mij betreft dan ook een vraag die met ‘ja’ en ‘nee’ wordt beantwoord. ‘Nee’ omdat een aantal concepten al bekend waren of waren uitgetest. Was de Oracle Network Computer (NC) eigenlijk de voorloper van  Cloud Computing? Aan de andere kant, Windows Azure – en Cloud Computing in het algemeen – zijn wel een nieuw concept door de combinatie van technologieën  en concepten en natuurlijk door een andere kostenstructuur: die van Platform as a Service.

Daarnaast is een van de sterke punten van Azure dat ze integratie met bestaande (legacy) systemen via een zogenaamde Service Bus (een eenvoudige manier om berichten tussen applicaties die in verschillende domeinen kunnen draaien uit te wisselen) hebben geïntegreerd met toegangs- en identiteitsmanagement. Door hiervan gebruikt te maken, zijn connecties makkelijk te maken zonder veel wijzigingen aan de bestaande niet-Cloud infrastuctuur.

Als je Windows Azure samen wilt vatten, is het eigenlijk een nieuwe manier van het leveren van computercapaciteit aan bedrijven waarbij de vernieuwende aspecten liggen in de combinatie van de manier van betalen (als dienst op basis van gebruik), de geboden dienst (een compleet platform waar je geen omkijken naar hebt) en schaalbaarheid.