Šioje dalyje aš padarysiu trumpą įvadą į Windows Azure, paaiškinsiu svarbiausias sąvokas bei aprašysiu pagrindinius komponentus. Prieš tęsiant, rekomenduoju jums susipažinti su debesų kompiuterija bendrai.

Windows Azure – tai Microsoft debesų kompiuterijos variantas, kuris šiuo metu yra priskiriamas prie Platform-as-a-Service (toliau PaaS) paslaugų tipo, bet anot Microsoft greitu metu bus siūlomos ir Infrastructure-as-a-Service (toliau IaaS) tipo paslaugos. Šiuo metu Windows Azure platformą sudaro:

azure1

Windows Azure

Windows Azure galima įsivaizduoti kaip virtualių Windows serverių rinkinį, kuris yra valdomas, stebimas bei esant gėdimui automatiškai atstatomas specialios programinės įrangos, kuri vadinama Fabric (nepainioti su Windows Azure platform AppFabric).

Visi virtualūs serveriai yra pasiekiami naudojant apkrovos paskirstytoją (angl. Load Balancer), taip užtikrinant, kad visa apkrova bus tolygiai paskirstyta tarp visų vienos rolės serverių. Šiuo metu egzistuoja dvi serverių rolės: Web rolė ir Worker rolė. Pirmą galima įsivaizduoti kaip Web serverį, o antrą – kaip aplikacijų serverį. Svarbu pažymėti, kad jūsų programa nebūtinai turi naudoti abi roles, galima, pavyzdžiui, naudoti tik Web rolę. Aplikacijos naudojamų rolių skaičius irgi gali skirtis, pavyzdžiui, dvi Web rolės ir viena Worker rolė, viskas priklauso tik nuo poreikio. Pagrindinė Worker rolės paskirtis – užtikrinti ypač gerą atliekamų operacijų plečiamumą (angl. Scalability) naudojant asinchroninį apsikeitimą žinutėmis paremtą eilėmis. Asinchroninį komunikavimą ir eiles detaliau aprašysiu ateinančiuose straipsniuose.

Paskutinė svarbi Windows Azure dalis – objektinės saugyklos. Šiuo metu jos yra dvi: BLOBai ir lentelės (aš vadinsiu esybių lentelėmis). BLOB (Binary Large Object) – tai bendro pobūdžio binarinė saugykla, skirta bet kokio tipo informacijai saugoti. BLOBą galima įsivaizduoti kaip konteinerį, į kuri mes galime saugoti failus. Šiuo metu BLOBą galima pasiekti per unikalią HTTP nuorodą arba naudojant GUIDą. Artimiausiu metu atsiras galimybė prijungti jį prie Windows Azure serverio failų sistemos ir matyti iš aplikacijų kaip paprastą diską. Esybių lentelės pagal paskirtį yra panašios į SQL lenteles (tik nenaudojamos norminės formos). Kiekviena esybių lentelė savyje saugo esybes, kiekviena esybė yra sudaryta iš savybių, kiekviena savybė saugo informaciją apie jos pavadinimą, tipą bei saugomą reikšmę. Visos esybių lentelės yra pasiekiamos ADO.NET Data Services ir LINQ pagalba (per HTTP protokolą).

Windows Azure yra paremtas Windows Server 2008 x64 su IIS 7 ir palaiko:

  • .NET 3.5 SP1
  • Java
  • Ruby (Ruby on Rails)
  • PHP
  • C, Assembler
  • MySQL, SQLite

Windows Azure virtualius serverius galima plėsti tiek į plotį (pridedant naujus serverius), tiek į aukštį (pasirenkant galingesnę konfigūraciją). Šiuo metu yra siūlomos 4 galimos konfigūracijos:

VM CPU RAM HDD
Small 1 x 1.7 GHz 1.7 GB 250 GB
Medium 2 x 1.7 GHz 3.5 GB 500 GB
Large 4 x 1.7 GHz 7 GB 1000 GB
Extra Large 8 x 1.7 GHz 15 GB 2000 GB

 

SQL Azure

SQL Azure tai yra specialiai debesims adaptuota SQL Server versija, kuri palaiko pagrindines SQL Server ir T-SQL galimybes. Ateityje žadama, kad šis skirtumas pakankamai greitai mažės. SQL Azure įgyvendina TDS protokolą, todėl įmanoma naudotis tokiais įrankiais kaip Bulk Copy, SQL Management Studio, pasiekti SQL Azure iš Visual Studio, jungtis iš esamų aplikacijų vien pakeitus prisijungimo eilutę konfigūracijos faile.

Vienas didžiausių SQL Azure apribojimų šiuo metu yra duomenų bazių didžiai: 10 GB arba 1 GB. Norint išlaikyti gerą plečiamumą esant didesniam duomenų kiekiui, teks pasinaudoti duomenų bazių horizontalaus plečiamumo technika – sharding. Laimei, jau šių metų pabaigoje Microsoft žada gerokai padidinti maksimalų duomenų bazės dydį.

Kartu su SQL Azure yra prieinamas Microsoft Sync Framework praplėtimas, skirtas sinchronizacijai tarp SQL Azure ir SQL Server – SQL Azure Data Sync.

Windows Azure platform AppFabric

Windows Azure platform AppFabric, anksčiau žinomas kaip Azure .NET Services, yra aktyviai plėtojama Windows Azure platformos dalis. AppFabric sudaro: Service Bus ir Access Control komponentai. Service Bus leidžia apjungti programas, duomenų bazes ir servisus, esančius skirtinguose tinkluose ar debesyse. Jų autentifikacija yra naudojamas Access Control. Šiuo metu autentifikacijai galima naudoti Active Directory Federation Services (ADFS) bei atvirus protokolus Web Resource Authorization Protocol (WRAP) ir Simple Web Token (SWT).

Kitoje dalyje…

Pereisime prie kodo ir sukursime mūsų pirmą Windows Azure “Hello World” Web aplikaciją.

Patiko (3)

Rodyk draugams