Bug Online

Softver – Razvojni alati - Microsoft Windows Azure Tools 1.0

Tvornica oblaka

Razvoj web uloga obavlja se u Visual Studiju na način uobičajen za web aplikacije
Razvoj web uloga obavlja se u Visual Studiju na način uobičajen za web aplikacije

“Oblačno računalstvo” (spretnog li hrvatskog prijevoda!) kod Microsofta već dugo nije novost – još je krajem 2008. godine Microsoft predstavio prvi set Azure usluga. Platforma se u međuvremenu razvila u današnji oblik koji obuhvaća tri proizvoda: Windows Azure (operacijski sustav u oblaku, tj. na Internetu), SQL Azure (potpuna relacijska baza podataka u oblaku) i Windows Azure platform AppFabric (služi za spajanje cloud i lokalnih aplikacija). Naravno, cloud aplikacije ne nastaju same od sebe – potrebno ih je razviti i implementirati, a što može biti prirodnije za razvoj na nekoj od Microsoftovih platformi od proširenja Visual Studija potrebnim funkcionalnostima.

Alati za razvoj na Azure platformi

Alati se instaliraju kao dodatak na Visual Studio, na operacijski sustav Windows 7, Server 2008 ili Vista. Instalacija je uobičajena, putem čarobnjaka, a njene posljedice vide se pri prvom sljedećem pokretanju Visual Studija – u obliku novog projektnog tipa Windows Azure Cloud Service. Tri su vrste Azure projekata u Visual Studiju 2008: Cloud Service Project (povezuje se sa web i worker role projektima u rješenju, uključuje definicije servisa i konfiguracijske datoteke servisa, koji sadrže runtime parametre za pokrenute instance servisa), Web Role Project (ovdje se nalaze ASP.NET web aplikacije, WCF servisi ili FastCGI aplikacije, koji se programiraju više-manje na potpuno uobičajeni način) i Worker Role Project (obavlja obradu u pozadini, komunicirajući sa storage servisima i ostalim servisima na Internetu). Visual Studio 2010 podržava još dvije vrste: ASP.NET MVC2 web role i F# worker role. .NET Framework 4.0 još nije podržan za Azure projekte.


Konfiguracija projekta obavlja se kroz dvije datoteke: ServiceDefinition.csdef i ServiceConfiguration.cscfg. Prva sadrži metapodatke s pomoću kojih Azure domaćin razaznaje potrebe naše aplikacije i podešenja koja se odnose na sve instance (uključujući i koje uloge aplikacija sadrži). Druga sadrži vrijednosti podešenja iz definicijske datoteke servisa i navodi broj instanci koje se izvršavaju za svaku ulogu. Iako je to moguće, nije potrebno izravno modificirati kôd u tim datotekama: Visual Studio nudi odgovarajuće property stranice preko kojih se obavlja konfiguracija.


Uloge (roles) u Azure svijetu odnose se na zasebne aplikacije unutar jednog Azure servisa – svaka web aplikacija ima svoju Azure (web) ulogu. Uloge se mogu dodjeljivati postojećim aplikacijama, mogu se uklanjati, mijenjati, itd.


Svi ti podaci moraju se negdje spremati, a u tu svrhu služe Windows Azure Storage Services, koji se u oblaku konfiguriraju kroz Windows Azure Development Portal (http://windows.azure.com – potreban je Windows Live ID). Tri su osnovna skladišna servisa: Blob (spremanje binarnih podataka), Queue (pouzdan servis za razmjenu poruka između instanci uloga) i Table (strukturirani podaci prema kojima se mogu slati queryji). Alternativno, oblak nudi i spremanje podataka u Microsoft SQL Azure (relacijsku bazu na osnovi SQL Servera). U razvojnom okruženju, ove se funkcionalnosti simuliraju korištenjem lokalnog SQL Servera (defaultnog SQL Expressa ili bilo kojeg drugog, što se namješta naredbom “DSInit /sqlinstance:<instanca SQL Servera>” iz Windows Azure SDK Command Prompta). Inicijalizacija lokalnog skladišta obavlja se automatski prilikom pokretanja projekta iz Visual Studija (a može i ručno u properties projekta servisa). Razvojna verzija ima svoja ograničenja: blob ne može biti veći od 2 GB, redak u tabeli ne može biti veći od 1 MB, postoje neka ograničenje usporednih operatora, a podržan je samo jedan fiksni korisnički račun (devstoreaccount1) i jedan autentifikacijski ključ (koji ovdje nema smisla navoditi).


Pokretanje i debugiranje projekta (F5 i Ctrl+F5) obavljaju se kao i kod uobičajenih projekata u Visual Studiju. Ono što uobičajeni VS projekti nemaju jesu servisi Development Fabric i Development Storage koji rade u pozadini i imaju svoja administrativna korisnička sučelja u kojima se mogu zaustavljati i pokretati servisi i vidjeti različite korisne informacije o servisu i ulogama (lifecycle, logging i dijagnostičke informacije, u radu i tijekom debugiranja).


Na kraju ovog procesa, razvijeni je servis potrebno postaviti u oblak. Cijeli proces deploymenta ima pet koraka: testiranje i debugiranje servisa u razvojnom okruženju (development fabric i development storage), spajanje s odgovarajućim korisničkim računom na Windows Azure Developer Portal i kreiranje skladišnog računa (storage account), modificiranje servisa za rad sa skladišnim računom u oblaku, kreiranje novog hostanog servisa na Developer Portalu i deployment i testiranje paketa na Azure Developer Portalu. Ako sve radi kako treba – to je sve, do sljedeće prilike!

 

Windows Azure Platform Training Kit (i SDK)
Training Kit moguće je instalirati na Windows Server 2008 i Vistu. Sastoji se od alata za startanje Development Fabrica i Storage Servera, dokumentacije, a tu je i moćni Command Prompt sa setom specifičnih Azure naredbi. Dokumentacija obuhvaća sve što je potrebno – na kraju krajeva, oblačni se razvoj ne razlikuje baš toliko od “normalnog”. Osnovne se razlike tiču upravljanja hostanim servisima, a dobro je pokriveno i poglavlje o troubleshootingu.

Azure platforma pomalo uzima sve više maha, iako Hrvatska uobičajeno kaska za nekim drugim zemljama. Svakako, ovakav sustav ima i svoje mane: manja je kontrola nad sustavom, kao i fleksibilnost softvera, neki potencijalni korisnici mogu imati i malo straha za povjerljivost informacija, a tu je i načelno pitanje pouzdanosti platforme, koje se u praksi nije pokazalo kao problem. Prednosti koje sustav nudi očite su i manje će organizacije sigurno naći dobre razloge da ga isprobaju – naročito sada u doba krize.

zadnji komentari na forumu (1)

naxeem pon 1.3.2010 13:14

Microsoft Windows Azure Tools 1.0

Vjerovao ili ne, ali u Hrvatskoj Azure nije uopće dostupan. ;(...

Napomena: Članci iz časopisa se ne prenose uvijek kompletni, sa svim slikama, potpisima pod slike, okvirima, tablicama i sličnim. Ponekad se ne prenosi niti cijeli tekst članka. Svrha članaka na Webu jest da pruže uvid u način obrade teme i potaknu interes za proučavanjem tiskanog broja. Za cjelovit uvid u članke - savjetujemo da pogledate papirnato izdanje časopisa. Hvala.
Prošlo je više od godine dana od prvog ozbiljnog susreta s platformom Azure. Ona je u međuvremenu dobila svoj konačni oblik, spreman za komercijalizaciju. Kao što je i red, uz svaku platformu idu i odgovarajući razvojni alati i upute

Tip

Dodatak za razvoj na Azure cloud computing platformi

Plus

Iskustvo razvoja uobičajenih web aplikacija dovoljno je i za razvoj Azure aplikacija. Sve je prilično jednostavno, a specifičnosti se brzo pohvataju

Minus

Zapravo ništa. Sve eventualne zamjerke mogu ići na račun platforme, a ne samih alata. Testiranje nije pokazalo ni iole bitnije bugove

Dojam

Ako cloud computing koncept i ima svojih mana, ovaj ih komplet alata gotovo i nema. Ovo je prvi korak – verzija 1.0.0 – ali sve radi

Ustupio

Microsoft Hrvatska

Besplatan (dodatak za Visual Studio)

izdvojeni tekstovi - ožujak 2010.

Oleg Maštruko

Frka s bandwidthom sub 20.2.2010

ISO 27001 u Konzumu

Certifikacija internetske prodavaonice sub 20.2.2010

Globalni IT

Povratak u 2008? sub 20.2.2010

Žene i IT

Informatika nije samo za muškarce sub 20.2.2010

Danijel Bačelić, General Manager, IPG Hewlett-Packard

Hrvatski kralj ispisa sub 20.2.2010

Sjena nad ADSL-om

Problemi na vidiku (ali i rješenja) sub 20.2.2010

SQL Server 2008 Data Mining

Potraga za zlatom sub 20.2.2010

Kingston SSDNow E Series SNE125-S2 64 GB

Redefiniranje brzine sub 20.2.2010

Ruckus ZoneFlex

Zrela bežična tehnologija sub 20.2.2010

Kineski napadi na Google

Google – Kina 0:1 sub 20.2.2010

Microsoft Windows Azure Tools 1.0

Tvornica oblaka sri 10.2.2010