Met grote regelmaat wordt de ict-wereld getroffen door een hype. Microsoft is dan gewoonlijk niet veraf. De nieuwste hype heet cloud computing. Microsoft zet in met Azure, een verzameling Windows-centrische diensten aangeboden via het internet.
Het idee achter Azure is eenvoudig. Je wenst ict-diensten op het internet of in je eigen bedrijf aan te bieden. Waarom zou je dan complete servers kopen of huren als die misschien niet eens ten volle benut worden? Het is toch veel logischer alleen te betalen voor de dienst en wel in de mate dat je er gebruik van maakt? Voilà, hiermee hebben we Microsoft Azure gedefinieerd. Je betaalt voor verbruikte capaciteit bij de het uitbaten van een dienst. Bij andere cloudoplossingen betaal je vaak voor volledige servers met een bepaalde cpu-, geheugen-, opslag- en netwerkcapaciteit. Wat is dan het verschil met hosting? De essentie van het hele cloudgebeuren draait rond het aanbieden van diensten en dus applicaties. Bedrijven die net doen alsof fysieke systemen verhuurd worden, gaan aan die essentie voorbij.
De naam van Microsofts clouddienstencentrum is natuurlijk leuk gevonden. Cloud betekent wolk en azuur is immers de kleur van de lucht. Om geen verwarring inzake terminologietermen te veroorzaken, wil Microsoft graag dat we duidelijk maken dat er een verschil is tussen Microsoft Cloud en Microsoft Azure. Microsoft Cloud is de verzamelnaam voor alles wat Microsoft in huis heeft en met cloud computing te maken heeft. Azure is een onderdeel van de Microsoft Cloud. Zoiets als: mussen zijn vogels, maar niet alle vogels zijn mussen.
Stapsgewijs
Voor het gemak kun je Microsoft Azure beschouwen als een online dienstencentrum. Je abonneert jezelf op Azure en dan kun je diensten en applicaties aanmaken en starten. Zoals eerder aangehaald, betaal je dan alleen voor de capaciteit en systeembronnen of resources die je verbruikt. Dat bied je de hoogste vorm van flexibiliteit. Je kunt Azure stapsgewijs toepassen. Een aangemaakte dienst in de testfase zonder klanten kost je immers niks of vrijwel niks. Pas als de dienst effectief draait en dus capaciteit verbruikt, begin je te betalen. Is de dienst veel succesvoller dan je verwacht had, dan moet je dus geen extra capaciteit bij Microsoft gaan aanvragen: nee, dat wordt allemaal flexibel en in real-time toegekend of weer weggenomen. Je komt dus nooit tekort en hebt ook nooit een ongebruikt overschot. Er hangt natuurlijk wel een prijskaartje aan vast. Maar je betaalt alleen voor wat je echt verbruikt. Dat is het essentiële verschil met het huren van gehoste of virtuele servers.
Microsoft spreekt hierbij graag over "platform as a service' in tegenstelling tot "infrastructure as a service", waarvan er heel wat meer aanbieders op het internet actief zijn. Het verschil zit 'm in wat je nog moet uitbaten en wat jouw leverancier voor je uitbaat. Bij platform-als-een-dienst moet je alleen voor de applicaties zorgen en baat jouw leverancier al het onderliggende voor je uit. Bij infrastructuur-als-een-dienst zie je eigenlijk een gehoste server en moet je zelf zorgen voor alles wat op die server moet draaien naast de applicaties en inclusief de nodige beveiliging.
Vier smaken
Diensten staan niet los van een onderliggend platform. Afhankelijk van wat je precies wenst, biedt Microsoft je binnen Azure vier verschillende clouddiensten aan. Windows Azure komt overeen met een gehoste Windows Server waarbinnen je Windows-internetdiensten kunt uploaden en starten. SQL Azure kan je beschouwen als een gehoste SQL Server waarbinnen je databases kunt aanmaken en gebruiken. Azure AppFabric is voor ontwikkelaars, om Azure-applicaties en diensten mee te ontwerpen. Het verbindt ook privé en publieke clouddiensten met elkaar. System Center Azure gaat later dit jaar in bèta en biedt bewakings- en beheergereedschappen voor alle diensten binnen Azure. Ook die bewaking wordt uiteraard aangeboden als een clouddienst.
Microsoft verdeelt Azure nog op in platformdiensten (SQL Azure, Windows Azure AppFabric, Live Services, SharePoint Services en Dynamics CRM Services), softwarediensten (Exchange Online, SharePoint Online, Office Communications Online en Dynamics CRM Online) en applicatiediensten (Bing, Windows Live, Office Live, Microsoft HealthVault, Microsoft Advertising en XBox Live). Op deze manier kan Microsoft je een totale IT-dienstenoplossing aanbieden, gaande van IaaS (infrastructuur als een dienst), PaaS (platform als een dienst) tot SaaS (software als een dienst). Azure dekt hierbij PaaS en SaaS, maar Microsoft kan uiteraard ook IaaS bieden mocht je dat wensen.
Ingebruikname
Je begint met een abonnement op Microft Azure. Binnen jouw account kun je dan een Azure-dienst of -site creëren. Hierbij moet je het soort dienst opgeven. In dat geval betekent 'webdiensten' overigens alleen Microsoft Internet Information Server (IIS). Wens je Apache te gebruiken, dan kan dat, maar dan moet je een 'worker role' gebruiken en niet een 'web role'. Wij kozen voor een webrolinstantie. Die vul je in met behulp van de gebruikelijke ontwikkelomgevingen van Microsoft. Dat kan bijvoorbeeld MS Visual Studio zijn. Een 'hello World'-website hadden we binnen een minuutje klaar en konden we vanuit Visual Studio direct naar Azure uploaden. Daarna moesten we alleen nog onze website starten en konden we er direct bij vanaf elke browser, ook bijvoorbeeld Firefox.
Een web- of werkerrolinstantie draait in zijn eigen virtuele machine (VM). Die worden naar behoefte gerepliceerd. Zo kan Microsoft je binnen Azure vrijwel onbeperkt schaalbare resources bieden. Azure controleert dat alles met een 'weefselcontroller' (fabric controller). Die bepaalt voor elke instantie de VM-specificaties en de opslagparameters en kan die naar behoefte doen aangroeien of krimpen.
Windows-centrisch
De hele opzet van Microsoft Azure blijkt wel degelijk en niet geheel onverwacht Windows-centrisch te zijn. Hoewel Microsoft tegen ons zei dat het op termijn mogelijk moet worden ook Linux-servers binnen Azure te integreren, is dat momenteel nog niet het geval. Standaard biedt Azure dus alleen Windows-servers die je kunt gaan invullen met diensten. Ook hier is het weer erg specifiek gericht op de eigen producten van Microsoft. Een webdienst steunt per definitie op Internet Information Server (IIS). Als je Apache wenst, dan mag je dat niet als een webdienst uitrollen (web role), maar moet je dat als een andere dienst (worker rol) opgeven. Dat heeft natuurlijk gevolgen voor de parametrisering en de invulling van het resourceverbruik. Ook voor het in gebruik nemen van de diensten heb je de software van Microsoft nodig.
Hoewel ons werd verteld dat de webbeheerinterface van Azure met alles zou moeten werken, liep het bij ons fout met Firefox, zowel onder Linux als onder Windows. We moesten echt een Windows-systeem met Internet Explorer gebruiken voordat we behoorlijk met die webbeheerinterface konden werken.
Ontwikkeling
Microsoft gaat er prat op dat je voor Azure gebruik kunt maken van bestaande expertises voor het ontwikkelen van applicaties en diensten. De .NET-ontwikkelomgevingen zoals Microsoft Visual Studio kunnen meteen communiceren met jouw Azure-sites voor het uploaden en bijwerken van gemaakte sites. Bovendien ondersteunt Azure ook ontwikkelomgevingen van derden, in het bijzonder Java, PHP, Python en Ruby. Ook kunnen MS Visual Basic, Visual C++ en Visual C# vanaf versie 2008 gebruikt worden om Azure-applicaties en -diensten te ontwikkelen. Hierbij ondersteunen deze ontwikkelingsplatformen het gebruik van een offline cloud, zodat je kunt ontwikkelen en testen op je eigen computers. Als alles getest is en klaar is voor uitrol, dan pas gaat het naar de publieke cloud.
Microsoft beweert dat Azure met open protocollen en formaten communiceert, met name XML, SOAP en REST (Representational State Transfer), zodat plaatselijke applicaties en diensten altijd kunnen communiceren met applicaties en diensten binnen de Azure cloud. Het zal je wel niet verrassen dat het door Microsoft opgegeven geprefereerde ontwikkelingsplatform voor Azure toch de eigen ontwikkelomgeving Visual Studio is.
Beveiliging
Qua fysieke beveiliging garandeert Microsoft je dat het Azure aanbiedt vanaf state-of-the-art datacenters met alle nodige beveiligingen. Die datacenters zijn trouwens ook lokaal beschikbaar. Voor Nederland heeft Microsoft bijvoorbeeld een Azure-datacenter in Amsterdam. Bij die fysiek beveiliging horen redundante stroombronnen van verschillende leveranciers met batterij- en dieselback-upgenerators, klimaatregeling en uiteraard brandpreventie- en blusmaatregelen. Qua continuïteit biedt Microsoft meerdere datacenters in verschillende geografische locaties. Gebruikers kunnen kiezen waar ze hun applicaties willen onderbrengen. Dat kan zowel op een specifieke locatie als geografisch verspreid. Alle opgeslagen data wordt meermaals gerepliceerd en het hele Azure-weefsel is ontworpen om volautomatisch en regelmatig geback-upt te worden en zonodig hersteld vanaf checkpoints.
Op logisch vlak biedt Microsoft uiteraard beheertoegang via de in https voorziene encryptie. Windows Azure biedt geen beheer(der)toegang aan zijn gasten en applicaties, waardoor de onderliggende Windows-systemen dus niet 'bijgewerkt' kunnen worden door gebruikers of applicaties. Naleving van wetten, lokale en bedrijfsregels en vereiste certificaties kan Microsoft je bieden voor het onderliggende platform van Azure. De diensten en applicaties van de klanten van Azure zijn echter hùn verantwoordelijkheid en als klant moet je dus zelf zorgen dat die alle vereiste certificaties hebben en de wetten en andere regels naleven.
Conclusie
Als je erg Microsoft- en Windows-centrisch werkt met volle ondersteuning van .NET en de Microsoft-variant van SQL, dan zijn de Azure clouddiensten interessant. Voor het uitbesteden van Linux-systemen, diensten en applicaties kunnen we dit niet aanraden, maar dat zal je wel niet verwonderen.
Productinfo
Product: Azure
Producent: Microsoft, www.microsoft.com/azure
Leverancier: Microsoft, www.microsoft.nl
Adviesprijs (excl. BTW): Windows Azure 8,52 eurocent/uur voor het basisverbruik van een dienst + 10,04 eurocent/GB/maand opslagverbruik + 0,71 eurocent/10.000 opslagtransacties;
Systeemvereisten: Windows en Internet Explorer, Visual Studio of andere Microsoft-ontwikkelingsomgeving
De kern
* Azure is momenteel een Windows-centrische cloudoplossing.
* Je kunt het zien als "gehoste Windows-serverapplicaties" zonder ingebouwde resourcebeperkingen (zolang je betaalt voor het verbruik, tenminste).