Jeg har netop afholdt en offline præsentation omkring storage modellen i Windows Azure. Præsentationen var i CNUG.
Jeg synes selv det gik fint og jeg håber selvfølgelig alle fremmødte fik noget ud af, at høre på mig.
I de næste par blogposts vil jeg forsøge at redegøre for:
- hvad windows azure er
- hvorfor man skal vælge windows azure fremfor andre
- hvordan man kan bruge windows azure i sine løsninger
- hvornår man skal bruge windows azure i sine løsninger
Hvad er Windows Azure ?
I oktober 2008 gik en Microsoft’s CSA, Ray Ozzie på scenen til PDC og meddelte at Microsoft’s nyeste operativ system ville blive kaldt Windows Azure. Tidligere kendt som projekt Red Dog!
Mange var begejstret, og hos de fleste kom det nok som en ret stor overraskelse. Absolut ingen havde hørt om Windows Azure og kun få vidste hvad Red Dog var. Selvom jeg er en af de farvede, var f.eks ikke klar over annonceringen på PDC.
Nu er der gået over et langt over et halvt år siden PDC og Windows Azure blev offentliggjort, og jeg synes nu, at det er på tide at få spredt budskabet om hvad det nye operativ system egentlig er.
Siden Amazon lancerede deres EC2 platform tidligt i 2006 har “skyen” været på manges læber. Flere er kommet til, og bla. SalesForce, Google og Zoho forsøger at tilbyde sine kunder en fleksibel, hodlbar og billig cloud platform. Vi har med Windows Azure fortalt omverdenen og kokurrenterne, at vi mener det seriøst og vil være med i kampen om skyen.
Mange mener, at cloud computing ikke er et nyt fænomen, og jeg er tilbøjelig til at give dem ret et stykke af vejen. De største trends omkring skyen de sidste par år har været:
- Infrastructure as a Service (IaaS)
- Platform as a Service (PaaS)
- Software as a Service (SaaS)
IaaS gør det muligt at købe sig ind på en leverandørs infrastruktur. Som kunde vil du typisk få adgang til en eller flere instanser af udbyderens virtuelle servere og bruge dem som dine servere. Ved at gøre dette spare du penge på at skulle købe hardware, hoste dine egne servere, dyre software licenser til operativ system samt database systemer. IaaS er den nemmeste, men også den dyreste form for cloud computing.
Med PaaS køber du dig ind på udbyderens egen platform, uden reelt set at få adgang til den fysiske/virtuelle server. Med Windows Azure har du pt. gode muligheder for at tilgå bla. en servicebus, sql data services, asp.net hosting, service hosting etc. En af de største fordele ved PaaS og Windows Azure er de åbne arkitektur-standarder såsom REST og som .NET udvikler skal du ikke tilegne dig yderligere tekniske kompetencer. Nogle frygter det såkaldte “vendor-lockin” med PaaS, idet bindingen imellem udbyder og kunde bliver ret hård. Man kan ikke bare flytte fra en cloud udbyder til en anden når man har købt sig ind på PaaS, og det kan være en ulempe.
SaaS er nok en af tidens største software trends. SaaS går i store træk ud på at leje sig ind på noget på software istedet for at skulle af med dyre licenskroner up-front. Personligt vil jeg sige, at SaaS ikke er et nyt fænomen, man har haft dette lej-en-løsning i mange år. Men der er flere store software virksomheder der har valgt at gå i denne retning da forretningsmodellen ofte er bedre for både udbyderen og kunden. I Danmark har vi en rigtig SaaS leverandør ved navn E-conomic. E-conomic lever af at leje et light-weight regnskabsprogram over internettet og de har haft forrygende success med det.
Windows Azure er en fuld sky platform som idag gør det muligt at “hooke” sig ind på både PaaS og SaaS. I nærmeste fremtid også være mulighed for IaaS, altså virtualliserede servere i Microsoft datacentre.
I bunden af “PaaS versionen” af Windows Azure ligger der i virkligheden en “skimmed down, custom build” windows 2008 server med en en ligeså fintunet IIS 7. Tag dog ikke fejl af denne opsætning; Windows Azure er bygget til at køre ovenpå mange tusinde servere og skalere imellem mange forskellige datacentre i hele verden. Som bruger af Windows Azure får du et administrations interface med mulighed for at oprettet forskellige typer af projekter og services, alt sammen noget som vil blive hostet i vores datacentre i USA (kommer naturligvis også i EU). Et eksempel på en hostet applikation kunne være et ASP.NET website. Windows Azure muliggør det også at køre bla. PHP igennem FastCGI.
Ovenpå denne Windows Azure server opsætning er der stillet en god håndfuld services til rådighed. Services som det er meningen man kan bruge i sine egne løsninger. Man behøver ikke hoste hele sin løsning i Windows Azure, men kan sagtens have noget af sin løsning stående “on-premise”, det er som altid op til en selv.
Herunder er nogle af de services man allerede idag kan benytte sig af. Senere vil det også være muligt at købe sig ind på Sharepoint, CRM og Exchange services. Jeg vil i fremtidige posts vise demoer af dem alle sammen, så fortvivl ikke.
Access control
Ved hjælp af ACS (Access Controller Service) på Windows Azure kan du kontroller hvem og til hvad brugere og roller, har adgang til i din applikation. ACS er baseret på en “claims in claims out” arkitektur. Man spørger ganske simpelt ACS servicen i Azure om den pågældende bruger har adgang til en metode ved at sende et sæt claims op og får et nyt sæt claims retur.
Service bus
Windows Azure Service Bus er reelt set en måde hvorpå du kan registere applikationer der skal kunne snakke med hinanden. Du kan registrere en applikation som en “service” som har et endpoint hvor en klient kan få fat i den. Det super fede er at service bus’en benytter sig af “router tunneling” hvilket betyder at din “service” og/eller din klient kan hostes hvor som helst – også bag en firewall – beskeden kommer frem uanset hvad. Det er smart!
Workflow
Med Workflow servicen på Windows Azure får du mulighed for deklarativt, at styre flows direkte i én applikaion, men også imellem applikation(er) som enten befinder sig i “skyen” eller “on-premise”. med Workflow services kan man også nemt have interaktion imellem bla. Windows Azure service bus’en og Access control servicen.
SQL services
SQL services har tidligere været designet udfra en ACE arkitektur; Authority, Container, Entity. I det store hele det samme som man kan opnå med “tables” under Azure kernen (A=database, C=tabel, E=rækker). Men vi har, efter stort ønske af partnere, valgt at gøre SQL services til en “rigtig” database hvor man vil have muligheder som vi kender det fra idags SQL server databaser; tabler, stored procedures, triggers etc. Det vil som vi har lovet, stadig være muligt at skalere som man har lyst og “pay as you grow”.
Live services
Under Live services er der et ret stort subset af services, tools og andet godt. Jeg vil forsøge at udpensle det i sin egen blog serie, så vend tilbage snarest.
SharePoint og CRM services
Begge vil være en del af den endelige version af Windows Azure og gøre det muligt bla. at bruge CRM og SharePoint funktionalitet i sin egen løsning.
Azure kernen
Bunden af Windows Azure består som tidligere nævnt af mange mange tusinde fysiske servere. Disse servere står pt. i forskellige datacentre i Nordamerika, og der planlægges yderligere opførelse af et par håndfulde ekstra, bla. i Europa . I sidste ende har du adgang til flere hundrede tusinde fysiske maskiner, og har du penge nok kan kan du bruge så mange af dem du vil :0)
Ovenpå styresystemet i Windows Azure ligger der nogle helt klare muligheder som er: hosting, data lagring, regnekraft og nem skalering af en applikation. Det kommer vi selvfølgelig alt sammen til at se nærmere på.
For at kunne arbejde med Azure er der et par ting vi først skal have på plads. Følgende skal du gøre for at kunne komme igang med selve Windows Azure:
Følg instruktionerne på følgende side: http://www.microsoft.com/azure/register.mspx; nu er du faktisk klar til at udvikle din første Azure applikation.
Life online, in the hands of others, strangers even is here to stay. We are all plugged in and reliance on the machine though crippling, cannot be avoided.