maandag 11 januari 2010

Eén van de grote onderwerpen van de afgelopen PDC (2008) was het Azure Services Platform. Ik heb de laatste weken de tijd genomen om dit platform wat beter te bekijken. Het Azure Services Platform heeft alles te maken met cloud computing. Nadat Amazon en Google al eerder initiatieven hebben gebracht rondom cloud computing, komt Microsoft nu ook met een initiatief. Het is interessant om een applicatie in de cloud te laten leven, maar bijvoorbeeld ook om data in de cloud te laten leven. Met het Azure initiatief gaat Microsoft verder, zij biedt ook diverse services aan in de cloud die gebruikt kunnen worden. Het platform staat open voor een Service + Software applicatie model. Vanuit je .NET applicaties is het dus mogelijk om gebruik te maken van de services die het Azure Services Platform biedt.

Wat is het Azure Services Platform?


Het Microsoft Azure Services Platform is groep van cloud technologieën. Iedere technologie geeft een specifieke set services die kunnen worden gebruikt door ontwikkelaars. Het is mogelijk om applicaties te draaien op het Azure Services Platform, maar je kunt ook alleen gebruik maken van de services. Het platform bestaat uit de volgende onderdelen:


  • Windows Azure
Om applicaties te draaien heb je een omgeving nodig, Windows Azure geeft deze omgeving. Naast het draaien van applicaties heeft Windows Azure ook de mogelijkheid om data te bewaren, zoals een operating systeem een file system heeft. Windows Azure maakt een onderscheid in Queues, Tables en blobs.

  •  Microsoft .NET Services
Services die gebruikt kunnen worden door applicaties die draaien in de cloud, of door “traditionele” applicaties. In basis worden er drie services geleverd: access control, service bus en workflow. De services zorgen voor een cloud based infrastructuur.
  • SQL Services

Een set van cloud-based services om data te bewaren die eerst bekend was onder de naam SQL Data Services (SDSS). Dit kan gestructureerde relationele data zijn, maar ook ongestructureerde data. De data moet op verschillende standaard manieren te bereiken zijn, zowel SOAP als RESTful services kunnen worden gebruikt. Alle data wordt op een hiërarchische manier gestructureerd. Microsoft zorgt voor de beschikbaarheid en schaalbaarheid…
  • Live Services

De Live services zijn nu reeds op de een of andere manier beschikbaar. Het betreft o.a. messaging, contact informatie en search. Al deze applicaties bewaren data, deze data wordt via services beschikbaar gesteld. Om deze data te gebruiken heb je het Live Framework nodig


Wat betekent dit voor mijn architectuur en ontwikkelplatform?


Je kunt nog steeds Visual Studio gebruiken en .NET applicaties ontwikkelen. Er zijn diverse .NET APIs beschikbaar om de services te gebruiken. Zijn er dan helemaal geen wijzigingen? Wijzigingen zijn er wel degelijk, je kunt bijvoorbeeld niet zomaar een applicatie “debuggen” in de cloud, logging is dus heel belangrijk. Zeker op het gebied van architectuur zijn er belangrijke voorwaarden. Je hebt in basis geen idee waar in de cloud jouw proces komt te draaien, je moet dus volledig stateless zijn. Verder heeft Microsoft het idee van een Starbucks winkel overgenomen (eindelijk). Starbucks is mijn favoriete winkelketen, ik ben hier dus blij mee. Dit is in essentie een loosely coupled architectuur. 



In basis betekent dit het volgende: wanneer je binnenkomt in een Starbucks bestel je jouw favoriete koffie bij de persoon achter de kassa. Je betaald je koffie. Deze Starbucks medewerker schrijft op een beker wat je wilt hebben en plaatst de beker in een queue. Een tweede persoon maakt de koffie. Deze medewerker leegt de queue. Zodra jouw beker uit de queue komt wordt jouw favoriete koffie gemaakt en overhandigd. Dit principe is ook aanwezig in het Azure Services Platform. Je hebt in basis twee soorten processen en een queue. Deze zijn standaard in de infrastructuur. Je hebt een input proces die de “bestelling” op neemt en de gewenste koffie opschrijft en in de queue plaatst. Je hebt een worker proces om het echte werk te doen en de queue te legen. Het resultaat: een eenvoudig schaalbaar proces (en heerlijke koffie).

 
Voor wie is het interessant?


Ik denk dat het Azure Services platform voor iedere organisatie interessant kan zijn. Er zijn verschillende scenario’s denkbaar. Het basis voordeel is wat mij betreft het idee van “utility computing”. Je betaald voor wat je gebruikt. Wanneer je dus klein begint, betaal je een “klein” bedrag. Wanneer je gaat groeien, dan ga je meer betalen. Het business model gaat concurreren met Amazon en Google. Dit betekent dat je voor een paar euro per dag terecht kunt op het Azure Services Platform. Persoonlijk denk ik dat de prijs veel “angst” zal weg nemen. Want er zijn natuurlijk genoeg bedenkingen en bezwaren. Gaat Microsoft wel goed om met mijn data? Is het platform wel snel genoeg? Al deze vragen zullen als sneeuw voor de zon verdwijnen wanneer de CEO het investeringsmodel over ziet…


Daarnaast komt Microsoft ook met een CRM en SharePoint variant binnen het Azure Services Platform. Dit is een logische stap waar veel organisaties van kunnen gaan profiteren.

 
Hoe kan je beginnen?


Microsoft heeft een CTP gereleased. Je kunt dus in de cloud aan de gang. Voor de ontwikkelaar is het interessant dat er een SDK beschikbaar is met een lokale “cloud omgeving”. Een omgeving waarin je lokaal de cloud kunt nabootsen, een omgeving waar je kunt debuggen in de cloud. Cloud computing, een interessante ontwikkeling. Met het Azure Services Platform kun je vandaag aan de slag. Je kunt de bekende tools gebruiken maar wel gebruik maken van een innovatief platform en een nieuwe ontwikkeling in Microsoft land!






Geen opmerkingen:

Een reactie posten