2010-01-20: Sven-Håkan Olsson
AZURE UNDER LUPPEN Det var molnigt i Berlin och det handlade framför allt om Cloud Computing på TechEd, Microsofts årliga konferens om teknikinnehåll. Parallellt fanns förstås andra teman, det viktigaste var nog Windows 7.
Microsoft har en återkommande konferens med fokus på teknikinnehåll, TechEd. Numera hålls den i Berlin i slutet av året. En och annan kanske saknar forna år när den hölls i Barcelona eftersom Berlinvädret så sent på året tenderar att vara molngrått och kallt. Å andra sidan, på sitt sätt passar själva staden med all sin livaktiga undergroundkultur ihop med gråväder och dunkelt ljus.
I mässhallarna var det däremot ljust (men dragigt) – och självklart visar Microsoft upp ett ljust framtidsbudskap - om kunden bara satsar på företagets produkter… Många konferenssessioner är om Exchange 2010, Visual Studio 2010, Sharepoint 2010, Office 2010 och förstås Windows 7, men påtagligt många saker handlar om Azure, Microsofts satsning på molnet.
För egen del gick jag på diverse sessioner som verkade intressanta, men framförallt lyssnade jag på talare som avhandlade Azure.
En gång i tiden var Microsoft uppstickaren som sa att du kan strunta i it-avdelningen med alla sina oflexibla stordatorer. Ställ bara en liten PC på skrivbordet och sätt igång att snabbt förädla data med Excel, publicera enklare trycksaker med Word och skriva små behändiga fönsterapplikationer med Access och tidig Visual Basic.
Så småningom växte ambitionerna avsevärt och idag skapas många stora och verksamhetskritiska applikationer inom it-avdelningen med Microsoft-verktyg. Microsoft bytte tilltal och talade nu it-chefens språk.
Men när Azure:s fördelar idag presenteras, då lyfter Microsoft fram att en verksamhetsenhet kan strunta i den ”trögrörliga it-avdelningen” – fråga inte ens dem, utan kom snabbt igång med behändiga applikationer ute i molnet, i Azure. Ingen investeringspeng behövs och månadsavgiften blir så låg (kanske!) att du kan gömma den i kontorsbudgeten så aldrig högre chefer eller it-avdelningen får reda på det. Pendeln svänger ibland.
Många blev förvånade när Azure först presenterades, man hade inte väntat sig en så bred ansats. De olika delarna av Azure och Microsofts andra molntjänster är lite som äpplen och päron, det är ganska olika saker egentligen, precis som alla erbjudanden som går under samlingsnamnet Cloud Computing. Jag har i en tidigare trendspaning försökt kategorisera upp i den röran.
Den tekniskt mest intresanta delen kanske jag tycker är Azure Compute som normalt är av det slag som numera brukar kallas Platform as a Service (PaaS). I min tidigare trendspaning kallade jag den också för molntyp 4. Själv tycker jag att ordet ”platform” leder tanken fel, jag associerar ordet mer till operativsystem än till applikationsserver som istället är den bästa liknelsen till den normala formen av Azure Compute.
I denna Azuremiljö kan jag som systemutvecklare lägga in programklasser, stora som små, för exekvering i molnet. Programmen måste designas så de är av en av två typer, antingen har de användargränssnitt (web role) eller också är de till för bakgrundsbearbetning (worker role).
Mycket av programmeringen är precis som vanligt i Visual Studio, man använder .NET-biblioteken och skriver i C# eller Visual Basic. Annat skiljer, eftersom man befinner sig i en gigantisk teknikmiljö som ska kunna delas av miljoner samtidiga program. Till exempel används anrop till en speciell Azure-kö för att skicka uppdrag från web role till worker role.
Kod som är skriven för Azure är alltså inte rakt av migrerbar till en vanlig Windowsserver i din egna datahall om du skulle bli missnöjd med Azure. Microsoft har angett att endast de själva ska få köra Azure (undantaget den begränsade utvecklingsservern). Om man är eftertänksam vid designen av en applikation kan man förmodligen isolera de icke-migrerbara delarna så att endast en liten omprogrammering måste till för att migrera till egen drift.
Något av en överraskning var när Microsoft annonserade att språket php ska gå att köra i Azure. Dessutom finns vissa möjligheter att köra Java, eller att med ett Java-SDK nå Azure. Lustigt nog kanske det enklaste sättet att ordna migrerbarhet vore att inte utveckla i C# eller VB, utan i php eller Java för Azure. Men vill man få motsvarande funktionalitet som med C#/VB i Azure måste man troligen ändå hantera anrop till specifika bibliotek.
Förutom PaaS-varianten med Azure Compute har Microsoft flera SaaS-liknande lösningar att hyra (Software as a Service, typ 5 i min kategorisering).
Dessa liknar mer traditionell outsourcing även om man förstås på vanligt moln-vis bör kunna förvänta sig extra hög skalbarhet, flexibilitet mm. Här kan du köpa Dynamics CRM, Exchange Online och Sharepoint Online vilka tydligen inte inkluderas i Azure-begreppet.
Däremot heter det SQL Azure. Denna tillkom sent. Tidigare presenterades någon slags kraftigt avskalad SQL-databas men utvecklarna gjorde tummen ner så nu är det en i stort sett normal SQL Server som kan köpas som tjänst. Dock stöds inga stora databaser ännu. Man ska också notera att det finns datalagringstjänster inom Azure Storage som kan konkurrera med SQL, men dessa (blobs/tables/queues) är mycket simpla och programmerare har kanske tyckt att de verkat besvärliga att använda, man är invand vid SQL. Dock ska man räkna med att Azure Storage är mycket mer skalbart än SQL Azure.
Azure var inte i drift under TechEd men gick formellt i full drift vid nyår, efter att ha funnits i betaversion ganska länge. Microsoft själva säger att många saker ännu är enkla och kommer att vidareutvecklas mycket. Ett exempel, även om det mest är en namnändring, är det som under TechEd hette .NET Services Service Bus och som nu tycks ingå i Azure AppFabric.
De investeringar du gör i programmering idag kan alltså behöva göras om inom något år, men grundläggande affärslogik borde kunna stå sig eftersom den vanligen skrivs i normal C#/VB utan speciella Azure-anrop.
Jag har inte sett några siffor på hur många som verkligen redan kör i produktion i Azure, men Microsoft brukar ju ha en viss förmåga att nå ut med sina lösningar. Man kan tänka sig att det som är lättast för kunden att starta med är de andra molntjänsterna, som Exchange Online.
Hur är prisbilden? Den kommer de förmodligen att justera när de ser hur marknaden utvecklas, men det är tydligt att Microsoft har sneglat på priserna hos värsta konkurrenterna Amazon och Google. Dock kommer inte Microsoft att ha någon gratisvariant, och inte heller någon lågprissatsning som kunde konkurrera med enkla webbhotell. SQL Azure känns relativt högt prissatt.
Lär mer om moln (och även knytningen till SOA) på kurs
För- och nackdelar med de olika molnen, liksom SOA, integrationslösningar och migrering gås igenom noggrant i tredagarskursen ”Cloud computing – migrering och integration” som ges igen våren 2010 med undertecknad som kursledare. Se Dataföreningen Kompetens, www.dfkompetens.se.
Sven-Håkan Olsson är en fristående konsult som särskilt arbetar med att kombinera verksamhetsnytta med teknikhöjd. Han har en lång karriär sedan 70-talet som it-konsult (it-arkitektur, systemdesign, programmering, reviewer, utredningar, kursledning). Sven-Håkan är också medgrundare av Know IT och var dess teknikchef 1990-2003. Han utsågs till en av "Sveriges topputvecklare" av Computer Sweden 2008.
Sven-Håkan håller regelbundet kurser åt Dataföreningen Kompetens, till exempel ”Cloud Computing integration och migration”. Läs gärna mer på hans blogg www.definitivus.se.