Första dagen spenderade jag på en workshop med kille från Nya Zeeland (Chris Auld) som pratade om Windows Azure. Architecting and Developing for Windows Azure och där och då bestämde jag mig för att mitt fokus skulle helt och hållet ligga på Windows Azure under veckan. Det har inte riktigt gått att hålla fullt ut eftersom att en del sessioner har visat sig för tråkiga eller för att andra har varit för intressanta för att missa.
Förra veckan släpptes Nov SDK för Windows Azure med flera nyheter. B la så går det nu att använda Visual Studio 2010 för att bygga applikationer för Azure men än så länge är det bara .NET Framework 3.5 SP1 som stöds. .NET 4 kommer så klart inom kort. En annan nyhet är att Worker Roles nu också kan ta emot externa anrop. Tidigare har det bara varit Web Role som kunnat göra det men nu alltså även Worker Role. Vad innebär då det? Vad är det för skillnad då på en Web och en Worker? En skillnad är att en Web Role är hostad i IIS vilket en Worker Role inte är. Det skulle då t ex kunna innebära att du skulle kunna bygga din egen web server och hosta den i en Worker Role.
En annan nyhet i Nov SDK är att det nu också finns stöd för scale up, dvs olika storlekar av virtuella maskiner.
Under Chris dragning blev det också tydligt att det är applikationer som kräver möjlighet till elasticitet eller extrem ökning av krav på resurser som lämpar sig bäst för Azure. Detta är för att den största anledningen till att flytta eller bygga en applikation på en molnplattform är en ekonomisk och inte en teknisk. Det pratas dock om att det kan komma en annan prismodell för applikationer som inte kräver lika stor flexibilitet eller last där man kanske betalar en fast månadskostnad och då inte har samma möjligheter att skala upp men mer om det när det närmar sig årsskiftet.
Windows Azure är tillgängligt idag, den 1 januari kommer det att börja synas hur mycket en körande applikation kostar och from den 1 feb så startar faktureringen.
Chris tog också upp en del patterns för utveckling av applikationer mot Windows Azure och hur de kan påverka den totala prisbilden av en applikation eftersom att delar av plattformen betalas per transaktion. Värt att tänka på är att ibland de-normalisera och duplicera data beroende på om den totala kostnaden för lagring blir billigare än kostnaden för transaktioner. Det dyker alltså upp helt nya faktorer för att fatta beslut för hur arkitekturen ska se ut för en applikation. En refactoring som inte är genomtänkt skulle t ex kunna innebära att man ökar den totala kostnaden för applikationen.
En viktig sak att tänka på när man jobbar med köer är Idempontency. För mig som inte är så mattematiskt bevandrad var det ett nytt begrepp som innebär att f(x) = f(f(x). Dvs att ett anrop till en funktion ska alltid ge samma resultat oavsett om den anropas flera gånger. Windows Azure garanterar att meddelanden i en kö blir hanterade minst en gång. Så även om den VM som just nu hanterar ett meddelande går ner så kommer någon annan att hantera det meddelandet senare. Dock så kan det hända att ett meddelande blir hanterat flera gånger och vi måste hantera det i våra applikationer.
Hela konferensen är väldigt bra organiserad. Det är stora rum och aldrig något problem att få plats på en session. Enda nackdelen är att LA Convention Center är gigantiskt och det är fem – tio minuters promenad från en sal längst bort i hörnan till andra sidan. Det gör att det ibland blir svårt att hinna med alla roliga saker som Ask the Experts och Hands on Labs. Att det varje dag är lunch-sessioner gör inte direkt att man får mer tid!
Nu är det dags för en session av en av mina favorittalare: Clemens Vasters som ska prata om “Building Hybrid Cloud Applications With the Service Bus”. Senare ska jag skriva ett inlägg med länkar till de videor jag kan rekommendera.
Panorama från pre conference workshop
Container från ett datacenter till Windows Azure