2009-04-28
Anteckningar från Windows Azure-seminarium (Addskills)
Varför Azure?
Azure är för de som inte själva vill investera stort i hårdvara för att drifta webbapplikationer.
Man kan börja litet och skala enkelt från 1 användare till 100 000-tals användare.
Istället för att ha egen har hårdvara tilltagen för att klara belastnings-toppar. Jfr Universitets ansökningssystem som har en enda gigantisk belastning på våren och då "alltid" kraschar.
Microsoft har byggt gigantiska datorparker (datorlandskap) för att drifta Windows Azure-baserade
applikationer. Just nu finns 4 anläggningar stora som Älvsjömässan i USA. 10 fotbollsplaner till med servrar byggs i Irland i år. Fler Europa-baserade kommer.
Vad är Azure?
En plattform för att köra webbapplikationer på där man själv slipper stå för hårdvaran.
Du kan koncentrera dig på att bygga bra applikationer istället för installations-, deployment- och driftproblem.
Alltså - istället för att "Skala upp" kan man nu "Skala ut" - till Azure.
OBS! Azure-appar går ENDAST att köra i Microsofts data-centers.
Sagt om Azure
”Azure är Microsofts svar på Amazons och/eller Googles webb-världar.”
”Azure är Microsofts fjärde OS, där de tre första är Windows Mobile, Windows Vista och Windows Server.”
Windows Azure OS
"Ett OS för molnet".
"Windows Azure är inte samma sak som Azure". Azure är konceptet med specar på gränssnitt etc. Windows Azure är det OS som applikationerna ska rulla på.
All kommunikation är baserat på Internetstandarder - REST-baserat (som Twitter/Google/Flickr, som SOAP fast nyare och enklare), kör via vanliga http-requests etc, dvs hela Internets nuvarande cachningsteknik etc passar bra för Azure.
För att stödja applikationsbyggande finns .NET Services, ServiceBus och Storage:
- NET Services (tjänstelager, f.d. BizTalk services)
För att bygga appar använder men Visual Studio .NET.
Det finns två roles: Web Role och Worker Role. Web Role har gränssnitt ut mot webben. Worker Role kommunicerar med data(baser). Allt sker stateless, så Storage (se nedan) måste användas för att lagra state (eller hos klienten). Debug kan bara göras via loggar.
Loggarna måste hämtas till lokal pc innan de kan analyseras.
(Verktyget Local Fabric används). Bygger mycket på stödet för Power Shell. - Storage
Än så länge finns inte MS SQL-server stöd. MS ville inte ha det från början, men pga
efterfrågan kommer det (troligen) senare.
Det finns dock en Storage-area som man kan lagra data i redan nu. Men dessa går mest att
jämföra med objekt-databaser (blobs, tables och Queues hanteras)
(Intressant: Allt man lagrar replikeras 2 ggr, dvs allt man skriver till Storage finns
lagrat 3 gånger)
- ServiceBus
Utvecklare skapar tjänster med Windows Communication Foundation som routas via Service Bus.
Klienter kör också via Service Bus. WCF tar hand om autentisering bl a.
Workflow Services kan användas för arbetsflöden.
Kör TCP 828, dvs de flesta brandväggar släpper igenom.
Staging används för deployment. Idag finns bara en för test och en för produktion.
Windows Live
Windows Live och Windows Azure har en del gemensamt. Windows Live ID används för autentisering i Azure. De som använder Live-tjänster idag kan lätt börja använda Azure-tjänster. Integration av dessa kan ske, en fil lagrad i Windows Live-miljön ska kunna accessas från Azure. Exempel på Live-tjänst: Live Mesh gör att man kan synka datat mellan alla sina PC (och Mac snart), mobiler och sin virtuella desktop. Detta är ej för företag, bara för privatpersoner. (Idag kan man få 25 GB gratis lagring via SkyDrive och sitt Live ID!)
Framtiden
Azure är än så länge pre-beta! Mycket saknas för att Windows Azure ska gå att använda friktionsfritt, men det är nu man kan påverka om man vill! (Vilket betonades flera gånger).
Det som saknas är t ex stöd för Kontinuerlig Integration, fler stagingnivåer än pre-prod och prod, remote debugging, relationsdatabas m m, m m, m m. MS SQL Server kanske kommer (ej 100% säkert).
Publik lansering troligen hösten 2009.
Hur förbereder man sig?
Lär dig först Windows Communication Foundation och Silverlight. Och även REST och Power Shell (givetvis .NET 3.5 om man inte kan det).
Det går redan nu att att bygga – och prova! – applikationer. Anmälan på www.azure.com för att få ett "token". (Tar i bästa fall några dagar att få)
Teched 2009 i Berlin kan säkert vara bra att vara med på.
Etiketter: programmering
