X Blogs

who you gonna call?

Windows Azure Mobile Services novosti

clock April 1, 2014 15:56 by author Rok Bermež

 

Pred kratkim so Windows Azure Mobile Services dobile podporo za .Net in ASP.NET Web API. Ta kombinacija je naredila gradnjo oblačnih mobilnih 'backendov' še toliko enostavnejšo.

Začnemo lahko enostavno tako, da gremo na azure management portal in naredimo nov Mobile service, pri tem pa zberemo .NET kot jezik uporabe.

clip_image002[4]

Ko bo servis narejen, pridemo do priročne začetne strani

clip_image004[4]

Kjer z klikom na gumb 'download' dobimo v naprej prirpavljen projekt temelječ na Web API predlogi z nekaj dodatnimi NuGet paketi.

clip_image006[4]

Če odpremo privzet ToDoItemConroller lahko vidimo kako se uporablja vgrajeni TableController<T> .NET razred, ki nam omogoča enostavno serviranje podatkov v mobilne aplikacije.

clip_image008[4]

Prav tako je omogočeno lokalno razhroščevanje in razvoj, ko pa smo z svojo storitvijo zadovoljni, jo pa enostavno objavimo na njeno oblačno mesto s pomočjo njenega 'publish' profila.

clip_image009[4]



Windows Azure Active Directory

clock January 23, 2014 00:45 by author Rok Bermež

Windows Azure Active Directory (WAAD) je celovita rešitev za upravljanje identitet in dostopa, gostovana v oblaku. Združuje bistvene storitve imenika, napredno upravljanje z identiteto, varnostjo in dostopa aplikacij ter razvijalcem tako ponuja dostopno platformo za zagotavljanje nadzora dostopa do njihovih aplikacij, ki temelji na centralizirani politiki in pravilih.

Uporabimo ga lahko za:

·         Urejanje uporabniških računov preko portala za upravljanje Windows Azure-a, na istem mestu kot upravljanje uporabniških dostopov do Windows Azure-a in drugih Microsoftovih spletnih storitev, kot so na primer Microsoft Office 365 in ogromno drugih, z Microsoftom nepovezanih SaaS aplikacij, ki jih vaša organizacija lahko že uporablja.

·         Razširitev svojega lokalnega aktivnega imenika v oblak, tako da se lahko uporabniki avtenticirajo v aplikacije, ki tečejo v oblaku, na enak način, kot ga uporabljajo v podjetju. Uporabniški podatki se lahko samodejno sinhronizirajo v WAAD z uporabo brezplačnega orodja DirSync. Avtentikacija se izvede bodisi prek Federacije ali pa sinhronizacije gesel.

·         Celovito izkušnjo 'enotne prijave' (Single-SignOn) v vse Microsoftove online storitve ter stotine priljubljenih ne Microsoftovih aplikacij. Končni uporabniki lahko hitro in učinkovito zaganjajo svoje aplikacije iz personalizirane spletne dostopne plošče – Access Panel (http://technet.microsoft.com/en-us/library/dn308586.aspx).

·         Omogočanje več-faktorske avtentikacije (Multi-Factor Authentication) za Windows Azure AD uporabnike bistveno prispeva k izboljšanju zaščite do več sto oblačnih storitev in aplikacij. Priročne možnosti za preverjanje pristnosti so mobilne aplikacije, telefonski klici, in SMS sporočila.

·         Razvijalcem ponuja učinkovit način za Integracijo upravljanja z integritetami v aplikacijah s centraliziranim mehanizmom za avtentikacijo in avtorizacijo, s pomočjo identitet, gostovanih v WAADu ali pa družabnih loginih, kot na primer Microsoft, Facebook, Yahoo! ali Google račun. Prav tako so s pomočjo Graph APIja omogočene poizvedbe po podatkih, shranjenih v aktivnem imeniku.

 

Windows Azure Active Directory PremiumPREVIEW

Za podjetja z zahtevnejšimi potrebami pa je na voljo Windows Active Directory Premium, ki je trenutno v predogledu in še poveča nabor funkcionalnosti.

·         V svoji prvi fazi Windows Azure Active Directory Premium ponuja:

·         Uporabnik lahko sam zamenja svoje geslo

·         Skupinsko provizioniranje in upravljanje za SaaS aplikacije

·         Boljši ‘branding’

·         Varnostna poročila

Storitev Windows Azure Active Directory Premium bo še naprej rasla in skrbela za novo identiteto in nove zahteve za upravljanje  z dostopi  v dobi oblaka.



Windows Azure Storage Tables - drugi del

clock September 13, 2013 15:54 by author Rok Bermež

V prejšnjem članku smo naredili uvod v NoSql podatke v oblaku ter 'Windows Azure Storage', tokrat pa bomo nadaljevali z raziskovanjem 'Tables' aspekta te storitve.

Dandanes obstaja mnogo podatkovnih platform od katerih ima vsaka svoje prednosti slabosti. Mnogo od teh deluje po konceptu NoSQLja, kar pomeni da ni uporabljen RDBMS (a relational database management system) model. Skratka nimamo tabel in SQL stavkov, temveč druge podatkovne strukture, ki so po navadi masovne zbirke ključ/vrednost parov ali pa asociativnih nizov.  Priljubljeni izbori danes so are MongoDB, Cassandra, HBase, CouchDB, Neo4j in Windows Azure Tables, od katerega zadnjemu se bomo posvetili tokrat.

Kljub velikim razlikam imajo tako SQL in NoSQL baze eno skupno stvar: te tehnologije so (lahko) na voljo kot storitev v oblaku in tako  sprostijo razvijalce pred ročnim provizioniranjem in de-provizioniranjem podatkovnih strežnikov. Tako so tudi Windows Azure Tables ponujene kot storitev in nam razvijalcem ni treba razmišljati o tem, kot o nekem ločenem fizičnem strežniku.

Ena od pomembnejših značilnosti Windows Azure tabel je, da je njihovo hranjenje na voljo na treh geografsko porazdeljene regijah, ki so ZDA, Evropa in Azija. Vsak Microsoftov datacenter je v skladu z  Mednarodno organizacijo za standardizacijo (ISO) 27001, SSAE 16 ISAE 3402, EU Model Clauses and Health Insurance Portability and Accountability Act (HIPAA) business associate agreement (BAA) standards. Druga pomembna značilnost je georedundanca, ki vam omogoča hranjenje podatkov v drugem podatkovnem centru v isti regiji, kar doda še eno stopnjo varnosti pri naravnih nesrečah.

WAS (Windows Azure Storage) zmogljivosti in kapacitete so povezane z računi za upravljanje z njimi, tako posameznikov račun vključuje do 200TB prostora za shranjevanje. Windows Azure Tables so optimizirane za zagotavljanje neverjetno hitrega delovanje poizvedb v stanju velike obremenitve s pisanjem. Več o tem si lahko preberete na bit.ly / cMAWsZ.

<!--[if !vml]-->clip_image002<!--[endif]-->

Prav tako so na voljo WAS analitike, ki nam omogočajo sledenje zahtevkov za shranjevanje, analizo trendov uporabe in optimizacijo vzorcev podatkov ter beleženje dostopov iz računa za shranjevanje (več na bit.ly/XGLtGt).

Najbolj jedrnat način za izražanje vrednosti Windows Azure Tabel je, da so podprte NoSQL ključ / vrednost (key/value) poizvedbe in to tudi med pisanjem pri veliki obremenitvi. Iz razvijalskega stališča  so Windows Azure tables namenjene za shranjevanje velikih zbirk neenakomernih objektov ali za serviranje spletnih strani z veliko prometa. Do podatkov shranjenih v  Windows Azure tabelah je mogoče dostopati od skoraj kjerkoli.

Celoten sistem shranjevanja podatkov je osnovan na REST-u (is Representational State Transfer), kar pomeni da lahko katerikoli klient, ki je sposoben http komunikacije, deluje z WAS sistemom. Prav tako, REST API podpira vse potrebne operacije za delo s podatki.

V naslednji številki, bomo pa videli kako to poteka v praksi.

 

 



Windows Azure Storage Tables - prvi del

clock May 23, 2013 00:41 by author Rok Bermež

Cena shranjevanja podatkov na disku je padla tako dramatično, da se zdi  kot znanstvena fantastika. To omogoča podjetjem shranjevanje ogromnih količin podatkov. Gospodarno shranjevanje velikih podatkov pa reši le polovico problema, saj je količina tako velika in kompleksna, da so tradicionalna orodja za upravljanje podatkovnih baz ter aplikacij za obdelavo podatkov,  neustrezna.  

 

S tako veliko količino shranjenih podatkov na disku, so se pojavila nova vprašanja, kot so kako izvajati poizvedbe nad njimi, izmenjava podatkov, analiza ter

v končni fazi tudi vizualizacija.

 

Moč računalništva v oblaku je tu vstopila ter zapolnila to potrebo.

Sposobnost izvajanja masivno vzporednih programskih rešitev, ki tečejo na

desetine,  stotine ali celo tisoče strežnikov - je čudežna rešitev, ki omogoča

organizacijam obdelavo vseh teh shranjenih podatkov.

 

Microsoft je ta pomemben trend spoznal že kar nekaj let nazaj. Storitev Windows

Azure Storage (WAS) je bila lansirana  novembra 2008 in je dramatično izboljšala sposobnost podjetij, da bi dobili vrednost iz masivne količine podatkov.

 

Po besedan Microsoftovih inženirjev, ki so sodelovali na tem projektu je WAS:

"Windows Azure Storage je sistem za shranjevanje podatkov v oblaku, ki omogoča

strankam hranjenje navidezno neomejene količine podatkov

za kakršno koli časovno obdobje in je zelo visoko dostopen ter vzdržljiv.

Ko uporabljate Windows Azure Storage, boste imeli dostop do vaših podatkov od

kjerkoli, kadarkoli in plačali boste zgolj uporabo ter hrambo."

 

WAS se znotraj Microsofta uporablja za aplikacije, kot so družabne

mreže, serviranje video in glasbe ter zabavnih vsebin, vodenje zdravstvenih evidenc. Prav tako se uporablja v Bing isklaniku za praktično takoj dosegljive javne vsebine iz Facebooka in  Twitter-ja. S približno 350 TB podatkov na dan je obseg tega izjemen. Ko se podatki obdelajo, doseže število transakcij tudi do 40000 transakcij na sekundo in konča nekje med 2 in 3 miljarde na dan.

 

V naslednji seriji člankov si bomo pogledali en vidik WAS storitve – Windows Azure Tables, kako deluje ter kako razvijalci te storitve uporabimo.

 



Aplikacijski model platforme Windows Azure – drugi del

clock November 19, 2012 16:03 by author Rok Bermež

3. Kaj morate upoštevati pri načrtovanju gostovane storitve

Pri razvoju aplikacije, ki bo delovala v oblaku, morate upoštevati več dejavnikov, kot so zakasnitve, visoka razpoložljivost in razširljivost.

Pri vpeljavi gostovane storitve v okolje Windows Azure je pomembno vprašanje, katero lokacijo boste izbrali za namestitev svoje aplikacije. Običajno aplikacije namestite v podatkovne centre, ki so najbližje vašim strankam, s čimer zmanjšate zakasnitve in zagotovite najvišjo možno zmogljivost. Lahko se odločite tudi za podatkovni center, ki je bližje vašemu podjetju ali vašim podatkom, če vas skrbijo vprašanja pristojnosti in pravne zahteve glede shranjevanja podatkov. Po vsem svetu imate na voljo šest podatkovnih centrov, v katerih lahko gostujejo vaše aplikacije. V spodnji tabeli so prikazane lokacije, ki so vam na voljo:

Država/regija

Podregije

ZDA

Južna osrednja in severna osrednja

Evropa

Sever in zahod

Azija

Jugovzhod in vzhod

Tabela 1: Lokacija strežnikov Windows Azure

Ko nameščate gostovano storitev, izberite podregijo, ki ustreza lokaciji, na kateri želite izvajati svojo kodo.

Za zagotavljanje visoke razpoložljivosti in razširljivosti je ključnega pomena, da so podatki vaše aplikacije shranjeni na osrednji lokaciji, ki je dostopna virtualnim strežnikom z različnimi vlogami. V ta namen Windows Azure zagotavlja več možnosti za shranjevanje podatkov, kot so binarni objekti, tabele in SQL Azure. Za več informacij o teh tehnologijah za shranjevanje podatkov preberite članek Možnosti shranjevanja podatkov na platformi Windows Azure. Na spodnji sliki je prikazano, kako sistem za upravljanje delovnih obremenitev v podatkovnem centru Windows Azure posreduje zahteve odjemalcev na virtualne strežnike z različnimi vlogami, pri čemer vsi strežniki uporabljajo podatke z iste lokacije za shranjevanje.

image

Slika 4: Primer posredovanja zahtev odjemalcev na različne strežnike z različnimi vlogami pri čemer vsi strežniki uporabljajo podatke z iste lokacije za shranjevanje

Običajno aplikacijo in podatke vpeljete v isti podatkovni center, saj tako zagotovite manjše zakasnitve (hitrejše delovanje), ko aplikacija dostopa do podatkov. Poleg tega vam pri prenosu podatkov znotraj istega podatkovnega centra ni treba plačevati za porabljeno pasovno širino.

4. Kako razviti razširljive aplikacije

Včasih morda želite razviti eno samo aplikacijo (na primer, preprosto spletno stran) in z njo gostovati na platformi Windows Azure. Toda pogosto vašo aplikacijo sestavlja več vlog, ki se med seboj povezujejo. Na spodnji sliki je prikazan primer aplikacije, ki jo sestavljata dva virtualna strežnika v vlogi spletne strani, trije virtualni strežniki za obdelavo naročil in en virtualni strežnik v vlogi za pripravo poročil. Te vloge so med seboj povezane in programsko kodo za vse vloge je mogoče združiti in na platformo Windows Azure vpeljati kot eno samo enoto.

image

Slika 4: Primer aplikacije, ki jo sestavljata dva virtualna strežnika v vlogi spletne strani, trije virtualni strežniki za obdelavo naročil in en virtualni strežnik v vlogi za pripravo poročil

Glavni razlog za razdelitev aplikacije v različne vloge, ki se izvajajo na različnih virtualnih strežnikih, je možnost medsebojno neodvisne razširljivosti vlog. Na primer, med novoletnimi prazniki številne stranke pri vašem podjetju kupujejo darila, zaradi česar morda želite povečati število virtualnih strežnikov, na katerih gostujeta vlogi Spletna stran in Obdelava naročil. Ko se prazniki končajo, se poveča število vrnjenih izdelkov, zaradi česar potrebujete več virtualnih strežnikov s spletno stranjo in manj virtualnih strežnikov za obdelavo naročil. Med letom morda potrebujete le nekaj virtualnih strežnikov za spletno stran in obdelavo naročil. Obenem ves ta čas potrebujete le en virtualni strežnik v vlogi za pripravo poročil. Windows Azure nudi prilagodljivo vpeljavo aplikacij na podlagi vlog, kar vam omogoča, da aplikacijo preprosto prilagajate svojim poslovnim potrebam.

Običajno virtualni strežniki v različnih vlogah, ki sestavljajo vašo gostovano storitev, komunicirajo med seboj. Na primer, vloga spletne strani sprejme kupčevo naročilo, vendar obdelavo naročila prepusti virtualnim strežnikom za obdelavo naročil. Najboljši način za prenos delovnih obremenitev z enega nabora virtualnih strežnikov v eni vlogi na virtualne strežnike v drugi vlogi je uporaba tehnologije čakalne vrste, ki jo zagotavlja Windows Azure. Uporabite lahko storitev čakalne vrste Queue Service ali čakalne vrste storitvenega vodila Service Bus Queue. Uporaba čakalne vrste je ključen del naše zgodbe saj gostovani storitvi omogoča neodvisno povečevanje ali zmanjševanje zmogljivosti virtualnih strežnikov za posamezne vloge, kar pomeni, da lahko stroškovno učinkovito uskladite delovne obremenitve. Če se število sporočil v čakalni vrsti povečuje, lahko povečate število virtualnih strežnikov, ki izvajajo vlogo obdelave naročil. Če se število sporočil v čakalni vrsti zmanjša, lahko zmanjšate število virtualnih strežnikov, ki izvajajo vlogo obdelave naročil. Tako boste plačevali le za tiste virtualne strežnike, ki jih potrebujete za dejanske delovne obremenitve.

Čakalna vrsta prav tako zagotavlja zanesljivost storitve. Ko zmanjšate število virtualnih strežnikov za obdelavo naročil, platforma Windows Azure sama odloči, kateri virtualni strežniki bodo odstranjeni. Pri tem se lahko odloči, da odstrani strežnik, ki ravno obdeluje sporočilo v čakalni vrsti. Toda ker obdelava sporočila ni bila uspešno zaključena, sporočilo ponovno postane vidno drugemu virtualnemu strežniku za obdelavo naročil, ki ga prevzame in obdela. Zaradi vidnosti sporočil v čakalni vrsti ste lahko prepričani, da bodo sporočila sčasoma obdelana. Čakalna vrsta prav tako deluje kot sistem za razporejanje delovnih obremenitev, saj sporočila pošilja vsem virtualnim strežnikom, ki jih zahtevajo.

Tudi za virtualne strežnike v vlogi spletne strani lahko spremljate dohodni promet in se odločite, ali boste število virtualnih strežnikov povečali ali zmanjšali. Čakalna vrsta vam omogoča, da število virtualnih strežnikov, ki izvajajo vlogo spletne strani, povečate neodvisno od števila strežnikov za obdelavo naročil. S tem pri upravljanju storitve pridobite izjemno prilagodljivost. Če vašo aplikacijo sestavlja še več vlog, lahko vključite dodatne čakalne vrste za komunikacijo med njimi, pri čemer lahko prav tako izkoristite prednosti na področjih razširljivosti in stroškov.

5. Definicija in nastavitve gostovane storitve

Ob vpeljavi gostovane storitve v okolje Windows Azure morate pripraviti datoteki z definicijo in konfiguracijo storitve. Obe datoteki sta v formatu XML in vam omogočata, da z deklarativnimi ukazi določite možnosti za vpeljavo vaše gostovane storitve. Datoteka z definicijo storitve opisuje vse vloge, ki sestavljajo vašo gostovano storitev, in načine, kako komunicirajo med seboj. Datoteka za konfiguracijo storitve opisuje število virtualnih strežnikov za vsako vlogo posebej in nastavitve posameznih virtualnih strežnikov.



Aplikacijski model platforme Windows Azure – prvi del

clock September 22, 2012 20:12 by author Rok Bermež

1. Prednosti aplikacijskega modela platforme Windows Azure

Ko aplikacijo namestite kot gostovano storitev, platforma Windows Azure ustvari enega ali več virtualnih strežnikov (VM), na katerih je nameščena koda vaše aplikacije. Nato platforma virtualne strežnike zažene na fizičnih strežnikih, ki se nahajajo v podatkovnih centrih Windows Azure. Ko zahteve odjemalcev, ki dostopajo do vaše gostovane aplikacije, dosežejo podatkovni center, sistem za upravljanje delovnih obremenitev enakomerno porazdeli zahteve na posamezne virtualne strežnike. Aplikacije, ki gostuje na platformi Windows Azure, vam zagotavljajo tri glavne prednosti:

  • Visoka razpoložljivost. Visoka razpoložljivost pomeni, da platforma Windows Azure zagotavlja, da vaša aplikacija čim dlje deluje neprekinjeno in se lahko odziva na zahteve odjemalcev. Če pride do izpada aplikacije (na primer, zaradi neobravnavane izjeme), bo platforma Windows Azure to zaznala in samodejno ponovno zagnala vašo aplikacijo. Če pride na napravi, na kateri deluje vaša aplikacija, do okvare strojne opreme, platforma Windows Azure to zazna in samodejno ustvari nov virtualni strežnik na delujoči fizični napravi. Programska koda se nato izvaja na novem fizičnem strežniku. OPOMBA: če želite izkoristiti 99,5-odstotno raven razpoložljivosti, določeno v Microsoftovem dogovoru o ravni storitev, se morajo aplikacije izvajati na vsaj dveh virtualnih strežnikih. Tako lahko en virtualni strežnik obdeluje zahteve odjemalcev, medtem ko platforma Windows Azure vašo kodo z nedelujočega virtualnega strežnika premakne na delujočega.
  • Razširljivost. Windows Azure vam omogoča preprosto in dinamično prilagajanje števila virtualnih strežnikov, na katerih se izvaja vaša aplikacija. Na ta način zagotavlja, da lahko vaša aplikacija uspešno obdela dejanske delovne obremenitve. Aplikacijo lahko tako prilagodite delovnim obremenitvam, obenem pa plačujete le za virtualne strežnike, ki jih potrebujete in ko jih potrebujete. Ko želite spremeniti število virtualnih strežnikov, se Windows Azure odzove v le nekaj minutah, s čimer vam omogoča dinamično prilagajanje števila virtualnih strežnikov tako pogosto kot želite.
  • Preprosto upravljanje. Windows Azure je platforma, zagotovljena kot storitev. To pomeni, da upravlja infrastrukturo (strojno opremo, električno napajanje in omrežne povezave), potrebno za delovanje naprav. Windows Azure upravlja tudi platformo, kar pomeni, da vedno uporabljate popolnoma posodobljen operacijski sistem s pravimi popravki in varnostnimi posodobitvami ter nameščenimi posodobitvami posameznih gradnikov, kot sta ogrodje .NET Framework in strežnik Internet Information Server. Ker vsi virtualni strežniki zagotavljajo okolje Windows Server 2008, Windows Azure omogoča tudi dodatne možnosti, kot so spremljanje delovanja, podporo za oddaljena namizja, požarne pregrade in nastavitve shranjevanja certifikatov. Vse te dodatne možnosti so na voljo brezplačno. Ko aplikacije namestite na platformi Windows Azure, je v ceno vključena tudi licenca za operacijski sistem Windows Server 2008. Vsi virtualni strežniki zagotavljajo sistem Windows Server 2008, kar pomeni, da vsa koda, razvita za operacijski sistem Windows Server 2008, brez težav deluje tudi na platformi Windows Azure.

2. Ključni koncepti gostovanih storitev

Ko svojo aplikacijo kot gostovano storitev namestite na platformi Windows Azure, deluje v eni ali več vlogah. Vloga se nanaša na aplikacijske datoteke in konfiguracijo. Za svojo aplikacijo lahko določite eno ali več vlog, pri čemer ima vsaka vloga svoj nabor aplikacijskih datotek in konfiguracij. Za vsako vlogo v vaši aplikaciji lahko določite število virtualnih strežnikov v določeni vlogi (role instance), na katerih bo aplikacija delovala. Spodnja slika prikazuje dva preprosta primera aplikacije, ki je zasnovana kot gostovana storitev in uporablja vloge in virtualne strežnike za posamezne vloge.

image

Slika 1: Ena vloga s tremi virtualnimi strežniki, ki deluje v podatkovnem centru Windows Azure

image

Slika 2: Dve vlogi, od katerih vsaka deluje na dveh virtualnih strežniki v podatkovnem centru Windows Azure

Virtualni strežniki običajno obdelujejo zahtevke odjemalcev, ki prek interneta v podatkovni center vstopijo preko t.i. vhodne končne točke (input endpoint). Ena vloga ima lahko 0 ali več vhodnih končnih točk. Vsaka končna točka označuje protokol (HTTP, HTTPS ali TCP) in vrata. Običajno se vloga nastavi tako, da uporablja dve vhodni končni točki: pričakovanje prometa HTTP na vratih 80 in pričakovanje prometa HTTPS na vratih 443. Spodnja slika prikazuje primer dveh različnih vlog z dvema različnima vhodnima končnima točkama, ki preusmerjajo zahtevke odjemalcev na ustrezne vloge.

image

Slika 3: Primer dveh različnih vlog z dvema različnima vhodnima končnima točkama, ki preusmerjajo zahtevke odjemalcev na ustrezne vloge.

Ko v okolju Windows Azure ustvarite gostovano storitev, je storitvi dodeljen javen naslov IP, prek katerega lahko odjemalci dostopajo do storitve. Ko ustvarite gostovano storitev, morate izbrati tudi predpono naslova URL, ki bo povezan s tem naslovom IP. Predpona mora biti enolična, saj z njo pravzaprav rezervirate naslov URL predpona.cloudapp.net, ki ga ne more uporabljati nihče drug. Odjemalci z vašimi virtualnimi namreč komunicirajo prek naslova URL. Običajno ne boste pošiljali ali objavili naslova URL predpona.cloudapp.net. Namesto tega pri svojem ponudniku registracije domen kupite ime DNS, ki ga nato nastavite tako, da zahteve odjemalcev preusmerja na naslov URL storitve Windows Azure.



HDInsight

clock September 15, 2012 21:49 by author Rok Bermež

Microsoft je skupaj s partnerjem Hortonworks naredil velik korak k izboljšanju Big Data funkcionalnosti na Windows strežnikih ter v svojem oblaku Windows Azure.

V predogledu je testna različica HDInsight strežnika. Lokalna različica je na voljo za prenos in namestitev na lastni infrastrukturi, oblačna pa zahteva on-line registracijo s katero dobite povabilo, ki vam omogoča zastonjsko pet dnevno preizkušanje. Obe pa sta na voljo na Microsoftovem Big Data portalu.

V ozadju HDInsight strežnika se nahaja Hadoop, ki je s strani Apache Software Foundationa sponzorirana odprtokodna implementacija Googlovega pristopa k hranjenju in obdelovanju masovne količine podatkov. Pristop MapReduce omogoča ‘scale-out’ procesiranja kupov strukturiranih in nestrukturiranih podatkov čez številčne gruče strežnikov.

Velika podjetja, kot na primer Yahoo, so že dolgo uporabljala Hadoop za obdelavo podatkov o uporabniških klikih in s tem pridobila svojevrsten marketinški vpogled v svoje storitve. Microsoftov partner, Hortonworks, prodaja odprtokodne Hadoop rešitve in je bil ustanovljen s strani računalniških inženirjev iz Yahoojeve Hadoop ekipe. Tako Microsoft, kot Hortonworks, prispevata vso kodo razvito za potrebe HDInsight strežnika nazaj v odprtokodno skupnost.

HDInsight strežnik je zastavljen tako, da omogoča organizacijam, ki uporabljajo Microsoftova BI (business intelligence) orodja, enostaven vplogled v masovne Hadoop podatke. Ta orodja vključujejo PowerPivot za Excell in PowerView za Sharepoint storitve, ki lahko prikažejo rezultate Hadoop poizvedb.

Prav tako je na voljo obojestranski konektor, ki za potrebe analize strukturiranih podatkov omogoča uporabnikom premike podatkov med Hadoopovim datotečnim sistemom in Microsoft SQL Server 2012 strežnikom ter SQL Server 2012 Parallel Data Warehouse podatkovnim skladiščem. Tudi tehnologija StremInsight se lahko uporabi za obdelovanje pretočnih (streaming) podatkov, kot na primer procesiranje kompleksnih dogodkov.

Microsoft je sodeloval pri integraciji upravljanja s svojim System Center produktom. Tako je mogoča uporaba Apache Ambari [i]v kombinaciji z System Centrom za upravljanje Hadoop gruč skupaj z ostalimi viri računalniškega okolja. Varnost je na Windows strežnikih nadgrajena z integracijo z Active Direktorijem.

HDInsight trenutno vsebujen tako ‘stabilno’ različico Hadoop datotečnega sistema (HDFS) in MapReduce sistema za distribuirano procesiranje, kot ostale dele Hadoop ekosistema (Hive, Pig in Sqoop).

Razvijalci pa smo dobili .NET SDK, ki nam omogoča pisanje MapReduce opravil s pomočjo Visual Studia. Na voljo je tudi možnost uporabe JavaScripta, tako za pisanje MapReduce opravil, kot Pig in Hive poizvedb. Uporaba JavaScripta v primerjavi z Javo zmanjša število vrstic kode za 10 krat.


[i] Ambari je spletno orodje za namestitev upravljanje in nadzorovanje Apache Hadoop gruč



Migracija Windows Azure storitev med različnimi uporabniškimi računi

clock August 10, 2012 16:45 by author Rok Bermež

 

Windows Azure je v Sloveniji komercialno na voljo od 7.6. To je precej dobra novice za vse nove uporabnike, predstavlja pa zanimiv problem za vse tiste, ki so te oblačne storitve, preko raznih proksi podjetij iz drugih držav, uporabljali že prej. Smiselno bi bilo vse obstoječe rešitve prestaviti na slovenske uporabniške račune ter tako dobiti popolno kontrolo nad njimi in se pri tem še izogniti dodatnim posredniškim stroškom.

Prenos Windows Azure storitev med naročninami je s pomočjo Microsoftove podpore možen, se pa je pri tem treba držati nekaterih pravil in poskrbeti, da je okolje za prenos pripravljeno.

Za začetek postopka moramo seveda imeti ustvarjen nov uporabniški račun na katerega bi radi prenesli obstoječe storitve. Ta mora biti za uspešen prenos popolnoma prazen, kar posledično pomeni, da ne bo mogoče prenesti vsebine storitev iz več računov na enega.

Prvi korak, ki ga moramo opraviti, je migracija SQL Azure podatkovnih baz. To lahko naredimo, če smo lastniki obeh uporabniških računov ali administratorji oz. co-administratorji na obeh računih. Na staremu upravljalen portalu (silverlight) izberemo virtualni SQL Azure strežnik, pritisnemo na gumb 'Move Server...' ter izberemo ciljni

 
  clip_image002


uporabniški račun.

Nekaj trenutkov za tem se bodo SQL Azure baze pojavile na novem računu, pri vsem tem pa baze s podatki ostanejo dosegljive pod enakimi pogoji kot prej.

Nato preverimo (prav tako najbolje v starem portalu), če se na ciljnem računu res ne nahaja popolnoma nič, razen seveda prenešenih SQL Azure baz. Nobena zadeva ni dovoljena, ker bo že nek neuporabljen 'affiniti group' povzročil prekinitev prenosa.

Preden stopimo v kontakt z Microsoftovo podporo moramo še poskrbeti, da bo administrativen email na obeh računih enak, kar naredimo tako da na spletnem mestu izberemo https://account.windowsazure.com 'account', nato naročnino in 'Edit subscription detail' ter spremenimo e-mail administratorja storitev.

clip_image004

Postopek ponovimo še za drugi račun in smo pripravljeni na stik z Microsoftovo podporo za uporabnike. Na https://www.windowsazure.com/en-us/support/contact/ izberemo 'Windows Azure', temo 'Other' in opcijo pomoči preko spletne forme, kjer navedemo guid identifikatorja obeh računov ter vse ACS/Service bus/Caching imenske prostore, ki jih naše storitve uporabljajo.

V kratkem nato pričakujte telefonski klic, v katerem se boste z Microsoftovim pogovorili o postopku vaše migracije ter razrešili morebitne nejasnosti. Ta pa se bo začel takoj, ko boste po e-mailu potrdili zapisnik tega telefonskega pogovora.

Kot lahko vidimo, prenos storitev brez izpada njihovega delovanja ni nemogoč, zahteva pa nekaj dela in planiranja z naše strani. Če na kratko povzamemo celoten postopek, ki ga moramo opraviti na naši strani: Sql Azure baze selimo preko portala ročno, administratorski e-mail mora biti pri obeh računih enak, ciljni račun mora biti popolnoma prazen (razen SQL Azure) ter izvorni račun je po prenosu avtomatsko izklopljen.



Oracle z oblaka

clock March 27, 2012 21:41 by author Rok Bermež

Oracle z oblaka

Včasih dobi kdo fiksno idejo, da integracija med aplikacijami pomeni pisanje ene aplikacije direktno v podatkovno bazo druge. V primeru, da naša aplikacije teče v Microsoftovem oblaku, druga pa uporablja Oracle podatkovno bazo skrito na neki skriti interni mreži, pridemo do zanimivega problema. Če ga razdelimo na dva dela, vidimo da moramo prvo nekako fizično povezati naše oblačne VM na katerih teče naša aplikacija z strežnikom na katerem se nahaja Oracle, brez da bi ga pri tem izpostavili celotnemu internetu. Nato, pa bo treba še našo aplikacijo prepričati oziroma mogoče bolje primerno rečeno VM na katerem teče, da se bo dejansko znala pogovarjat z #«!#!.

Za rešitev prvega problema lahko uporabimo mehanizem, ki sliši na ime Windows Azure Connect , in nam omogoča 'point to point' VPN povezavo med računalniki, ne glede na to na kakšnih mrežah in za kakšnimi požarnimi se nahajajo, seveda če imajo ti vsaj internetno povezavo.

Tega se lotimo tako, da na Windows Azure management portalu prisurfamo na 'Virtual Network' sekcijo, izberemo naročnino ter zahtevamo aktivacijski žeton in s tem vklopimo to storitev za našo naročnino.

clip_image001

Nato v naših oblačnih vlogah vklopimo Connect modul, tako da v ServiceDefiition.csdef dodamo:

clip_image002

Ter mu v csconfig datoteki nastavimo specifično naš aktivacijski žeton:

clip_image004

Za dostop do lokalnih virov, pa morama na vse računalnike do katerih bi radi dostopali namestiti Windows Azure Connect Endpoint programsko opremo, ki jo dobimo na naslovu (pri čemer moramo obvezno uporabiti Internet Explorer brskalnik): https://waconnecttokenpage.cloudapp.net/Default.aspx?token=moj_žeton_guid.

clip_image005

Po namestitvi, se bo nekaj sekund kasneje računalnik pojavil kot aktiviran na management portalu.

clip_image007

Preostane nam samo še konfiguracija naše virtualne mrežne topologije, kar naredimo tako da ustvarimo EndPoint skupino ter nastavimo primerna pravila.

clip_image009

Pri čemer lahko obkljukajo 'Interconnected' opcijo in s tem poskrbimo, da se bodo tudi lokalni EndPointi videli med seboj ter bodo tako dosegljivi tudi drug za drugega in ne zgolj z oblačnih virov.

clip_image011

Privzeto vlog v oblaku ne moremo pingati ker imajo vklopljen požarni zid, ki pa mu lahko z enostavno zagonsko nalogo (Startup task) dodamo novo pravilo in tako omogočimo tudi ping v oblak.

clip_image013

Prvi problem je tako rešen in se lahko posvetimo drugemu. Povezava na Oracle podatkovno bazo iz .NET kode z uporabo Oracle.DataAccess knjižnice ni problematična dokler imamo na sistemu nameščene Oraclove ODAC komponente, ki pa jih privzeto na VMjih v Windows Azure Compute storitvah ni.

Za njihovo namestitev bomo morali tako poskrbeti sami in sicer mora biti zadeva avtomatsko nameščena ob vsakem novem deploymentu. Prvi korak je iz oraclovega spletnega mesta poberemo zahtevane komponente; trenutno ODAC 11.2 Release 4 (11.2.0.3.0) with Xcopy Deployment, ki pa morajo biti 64 bitne in jih ni malo (okoli 60MB v kompresirani obliki). Tako bi v primeru, da bi jih deployali z našo aplikacijo, kar precej povečalo čas deploymenta. Zato jih je precej bolj smiselno odložiti v Azure Storage in poskrbeti da se v okviru zagonske naloge (Startup taska) naložijo na VMjev sistem, odpakirajo ter namestijo.

PowerShell skripta, ki bo vse te naloge opravila bo izgledala nekako tako:

clip_image014

Preden pa jo bomo v okviru zagonske naloge poklicali pa moramo poskrbeti, da bo poklicana zgolj v pravem in ne tudi v emuliranem okolju ter nastaviti politiko izvajanja PowerShell skript.

clip_image015

Preostane nam zgolj registracija zagonske naloge v ServiceDefinition.csdef datoteki.

clip_image017

Pozorni moramo biti, da imajo vse potrebne datoteke (*.cmd, *.ps1) 'Copy to Output Directory' opcijo nastavljeno na ' Copy always', nato pa lahko brez skrbi glede nadaljnjih popravkov in deplyomentov, na oblak namestimo našo aplikacijo, ki je sposobna komunicirati z 'on premises' Oracle podatkovno bazo.



Microsoft Cloud Training

clock February 17, 2012 23:01 by author joze

Dear Microsoft student,

Expand your existing skills and acquire new skills on Microsoft’s cloud technologies including: Microsoft Office 365, Microsoft Exchange Online, Windows Azure, Windows Intune, Microsoft Hyper-V Server, Microsoft SharePoint Online, Microsoft Dynamics CRM Online, Microsoft System Center 2012 and SQL Azure.

Microsoft has made available over 30 learning resources to enable you to explore these technologies, including: eBooks, E-learning clinics, short videos (a.k.a. learning snacks), and classroom training courses.

Many of these valuable resources are free. To name a few:

· Understanding Microsoft Virtualization Solutions (eBook)

· Introduction to SQL Server 2012 (eBook)

· Microsoft® Office 365: Connect and Collaborate Anywhere, Anytime (eBook)

· Introducing Hyper-V in Windows Server 2008 R2 (learning snack)

· SQL Server 2012: Cloud on Your Terms (learning snack)

· Introduction to Microsoft Windows Azure Platform (learning snack)

Microsoft’s cloud-based technologies are relevant to specific job roles. Start here: Microsoft Cloud Training

To understand more, check out the Microsoft Learning Cloud Brochure.

Thank you, and good luck!



About the author

Rok Bermež is Slovenian Windows Azure MVP, he works as a Software Engineer and Microsoft Certified Trainer at Kompas Xnet. His primary interests include cloud computing and web development. With extensive experience in development and architecture he participated in many projects and since the CTP release of Windows Azure much of those projects are based on Windows Azure platform. Rok has been delivering courses, writing code and speaking at conferences and community events on Microsoft technologies for the last couple of years. You can also find him on Twitter (@Rok_B).

Month List

Sign In