Windows Azure prakticky 3.časť - .NET a vývoj pre cloud

Miroslav Kubovčík  /  24. 08. 2011, 00:00

Windows Azure vychádza z potenciálu operačného systému Windows Server 2008, čo samozrejme nahráva myšlienke, že .NET vývojár to bude mať pri prechode k cloudovému vývoju ľahké a aplikácie bude chrliť lusknutím prstov. Cloud ale nie je o kopírovaní aplikácií z lokálnych serverov do dátového centra. Bez uvedomenia si špecifík cloudu môže vaša aplikácia v cloude “trpieť” rovnako ako jej používatelia.

.NET nemení v cloude svoju filozofiu

Keď sa Microsoft rozhodol v roku 2002 uviesť prvú verziu .NET Framework-u, vsadil po vzore jazyka Java na cestu riadeného behu aplikácií písaných objektovo-orientovanými jazykmi. O pamäť a správu aplikačného procesu sa vo veľkej miere stará samotný .NET Framework, ktorý prepája aplikačný kód s operačným systémom. Na tom sa samozrejme nič nemení ani v prípade .NET aplikácie napísanej pre cloud. Pre aplikáciu sa totiž v dátovom centre naštartuje požadovaný počet virtuálnych počítačov s OS Windows Server 2008 R2 s predinštalovaným .NET Framework-om verzie 4. Z tohto pohľadu teda môžem každému .NET vývojárovi povedať, že pri kódovaní pre cloud ho nečaká žiadna revolúcia aplikačnej architektúry.

.NET aplikácia sa musí prispôsobiť pravidlám cloudu

Predstavte si dátové centrum typu Platform As a Service, v ktorom si môžete vo virtuálnych počítačoch spustiť akúkoľvek službu, otvoriť akýkoľvek port, nastaviť akékoľvek práva a pritom ešte požadovať automatizovanú správu a záruku dostupnosti 24x7. Pri cloudovom prístupe “platforma ako služba” na to zabudnite. Tu anarchia a bezhraničné voľnomyšlienkárstvo nemá svoje miesto. Existujú základné obmedzenia, s ktorými sa musíte zmieriť (a platia samozrejme aj pre iné ako .NET aplikácie prevádzkované na Windows Azure):

  • Aplikácia nebeží pod administrátorom operačného systému (pokiaľ si túto často riskantnú možnosť nezvolíte sami).

  • Aplikácia nemôže zapisovať kdekoľvek do súborového systému, iba do vopred deklarovaných oblastí. (Nepoužívajte teda v aplikácii “hardkódované” cesty.)

  • Do súborového systému “virtuálu” dátového centra, v ktorom beží kód aplikácie, nezapisujte trvalé dáta. (Virtuálny počítač sa môže “skartovať” pri nasadení novej verzie aplikácie, pri reorganizácii diskov dátového centra atď. Vtedy automatizovaná správa cloudu vezme “čistý” virtuálny server a nasadí do neho archivovaný balíček aplikácie.) Trvalé dáta patria do úložísk Azure Storage alebo SQL Azure.

  • Z rovnakého dôvodu treba aj logovacie a diagnostické dáta ukladať do trvalého úložiska mimo operačný systém.


Základný diagram aplikačných a sieťových vrstviev aplikácie na Windows Azure.

Praktické cvičenie “Úvod do Windows Azure pre .NET vývojára”

Ako som sľuboval už v prvej časti nášho seriálu o Windows Azure (a ako je zrejmé z nadpisu), mojím cieľom je poskytnúť vám praktické návody a rady. A keďže preferujem skutočne detailné návody v dostupnom formáte, kde sa nepreskakujú niektoré kroky častými vsuvkami typu “to by ste už mali vedieť”, budem vám “step by step” návody ukladať do obľúbenej knižnice praktických cvičení pre vývojárov.

V prvom praktickom cvičení si môžete vyskúšať postup vytvorenia webovej ASP.NET aplikácie, ktorú po jednoduchom odladení nasadíte do dátového centra. Aplikáciu “zabalíte” s konfiguráciou webovej role, čo znamená, že po jej nasadení sa spojazdní vo virtuálnom počítači dátového centra pod webovým serverom Internet Information Services.


Asistent v Visual Studiu pre vytvorenie Windows Azure projektu.

V ďalšej časti vystriedame technológiu a ukážeme si, čo stojí za prevádzkovaním PHP aplikácií na Windows Azure spolu s praktickým návodom ako vytvoriť a nasadiť PHP aplikáciu do cloudu.

Neprehliadnite: