Category Archives: Felhő

Meglepő kapcsolat bontások SQL Azure-ban

Gyakran lehet találkozni azzal a ténnyel, hogy mivel az SQL Azure ugyanazt a tabular data stream (TDS) protokollt támogatja, mint a teljes SQL Server, a programozási modell teljesen azonos a két esetben. Ebből viszont – a közhiedelemmel ellentétben – nem következik az, hogy az alkalmazásunk felhőbe költöztetése mindössze annyiból áll, hogy átállítjuk a connection stringet!

Az SQL Azure ugyanis számos olyan esetben is hajlamos bontani a kapcsolatot, amihez nem vagyunk hozzászokva a saját szervereinken. Íme két példa:

  • 40197 – The service has encountered an error processing your request. Please try again.
  • 40501 – The service is currently busy. Retry the request after 10 seconds.

Ennek az alapvető okai a hibatűrésben és a rendelkezésre állásban keresendőek. Ha a kérés kiszolgálásában részt vevő valamelyik szereplő hibás lesz vagy épp frissül, akkor a felhőnek köszönhetően nem lesz tartós leállásunk, de szolgáltatás visszaállásáig (ami rövid idő) a kapcsolatokat bontani fogja a szerver. A másik ok, hogy mivel az adatbázisok osztoznak bizonyos erőforrásokon, az SQL Azure query és connection throttling szolgáltatásai biztosítják, hogy egyik ügyfél se akaszthassa le teljesen a kiszolgálást. Ha túllépjük a limitet, hibát fogunk kapni.

Mindennek az az eredménye, hogy időnként elszállnak az adatbázis lekérdezéseink, de mivel ezek okai alapvetően átmeneti jelenségek, bátran megismételhetjük a lekérdezést kicsit később. Ez sajnos nagyon kellemetlen, mert általában arra számítva írjuk meg az adatelérési rétegünket, hogy ha az adatbázis nem elérhető, akkor nagy baj van, és nem szoktunk arra számítani, hogy a hiba másodperceken belül megszűnik magától.

Magyarul: SQL Azure-on futó alkalmazások esetén gondoskodnunk kell ezeknek a hibáknak a kezeléséről, és a hiba jellegétől függően meg kell ismételnünk a lekérdezést. Ha korábban nem volt az alkalmazásunkban ilyen intelligens retry-logika, akkor a felhőbe költöztetéskor ezt bele kell tennünk.

Néhány segítség:

 

Technorati-címkék: ,,,
Advertisements

Virtuális gépek védelme a felhőben

Mikor a rendszereinket a felhőbe költöztetjük, annyira meg szoktunk örülni annak, hogy minden “megy magától”, hogy gyakran megfeledkezünk az alapvető biztonsági teendőkről (amiket pedig a saját gépeinken amúgy meg szoktunk tenni). Az első öröm általában akkor ér minket, amikor a varázslóval pikk-pakk létrehozunk egy új virtuális gépet az Azure-ban:

create-vm

A problémák – legalábbis részben – ebből az egyszerűségből fakadnak:

  • A rendszergazda felhasználónevet nem kell megadnunk, sőt nem is lehet (lásd fent, disabled), hiszen az minden esetben Administrator.
  • A gép IP címét nem kell megadnunk, hiszen az Azure a saját tartományából ad majd neki egyet.
  • A RDP-t nem kell beállítanunk, hiszen az minden esetben engedélyezve lesz az alapértelmezett 3389-es porton.

Sajnos ez a kényelem jelentősen megkönnyíti a támadók dolgát: csak végig kell nézniük az Azure IP tartományát és be kell próbálkozniuk a 3389-es porton az Administrator felhasználóval és valamilyen jelszóval. Ilyen RDP brute force támadásra számos eszköz létezik már, és sajnos van már hír olyan esetről is, amikor a támadók sikerrel jártak.

Amit mindenképp érdemes megtenni:

  • Az RDP ne az alapértelmezett porton fusson.
  • Célszerű beállítani, hogy milyen kliens IP címekről lehet RDP-zni a gépre.
  • A rendszergazda felhasználóneve ne az alapértelmezett legyen.
  • Az admin jelszó legyen erős.

Sandrino Di Mattia cikke részletesen leírja, hogy mindezt hogyan tehetjük meg.

 

Technorati-címkék: ,,

Windows Azure Mobile Services

A Microsoft Scott Guthrie blogján keresztül bejelentette a Windows Azure szolgáltatáscsalád legújabb tagját, a Windows Azure Mobile Servicest. Leegyszerűsítve a képletet: az új szolgáltatás segítségével a felhőben lévő SQL táblákban lévő adatainkat publikálhatjuk kliensek felé pillanatok alatt, méghozzá szerver oldali kód írása nélkül.

mobile-services-diagram

A kliens oldali kód megírásához pedig kapunk osztálykönyvtárat, így egészen minimális kódot kell írnunk, például (ScottGu posztjából kölcsönözve):

mobile-services-code

Néhány kiegészítés a cikkhez:

A bejelentés mindenhol Windows 8 kliensről szól, a fenti ábrán is ezek láthatók. Ez valójában egyelőre kizárólag WinRT alkalmazásokat jelent, mert az osztálykönyvtár erre készül.

A névben a “Mobile” szerintem nem kicsit félrevezető. Valójában bármilyen klienssel használható a szolgáltatás, alacsonyabb szinten ugyanis – egyáltalán nem meglepő módon – ODatás HTTP REST API van és JSON formátumú adatok. Hamarosan erről a REST API-ról is lesz leírás és a meghívásukat támogató osztálykönyvtár/metódusok.

Amitől talán valóban kicsit mobilos, az a push notification támogatás, amiben az az izgalmas kérdés, hogy mennyire csak WinRT és mennyire WP7.

Ha már mobil, akkor felmerül az offline elérés kérdése. Ezt jelenleg out-of-the-box nem támogatja a szolgáltatás, kézzel kell megcsinálni. Fontos, hogy a jelenleg.

Van lehetőség felhasználó azonosításra és jogosultság ellenőrzésre is, bár ezen a területen még várható fejlődés.

Lehet saját szerver oldali kódot adni a szolgáltatáshoz, pontosabban Insert, Update, Delete és Read műveletek esetén lefuthat egy általunk megadott JavaScript függvény, amit a Windows Azure Management Portalra kell bemásolnunk (ne ehhez mit szóltok?). Az adatok szerver oldali validálása is így valósítható meg.

A funkció már mindenki számára elérhető, pontosabban csak azoknak, akik engedélyezik a preview szolgáltatásokat a beállítások között. További információ a Windows Azure honlapon a mobile szekción belül a Tutorials and Resources oldalon érhető el.

 

A Windows Azure Mobile Services nyilván nagyon hasznos lesz azoknak, akik 5 perc alatt akarnak feladatlista alkalmazást készíteni Windows 8-ra. És szerintetek még mire?

 

Technorati-címkék: ,,,

Windows Azure Training Kit – 2012. augusztus

A Windows Azure Training Kit az Azure lehetőségeit kiválóan bemutató, önálló tanulásra használható előadás és gyakorlat gyűjtemény. Ezt a gyűjteményt a Microsoft rendszeresen frissíti és bővíti, nemrég jelent meg a 2012. augusztusi változat az alábbi újdonságokkal:

  • 7 új Windows Azure DevCamp előadás
  • 4 új előadás SQL Azure témában
  • Új előadás biztonság témában
  • Új előadás skálázható és nagy rendelkezésre állású webalkalmazásokról
  • És természetesen javítások

Ebből talán már érezhető, hogy nem kis csomagról van szó, hiszen immár 42 gyakorlaton és 20 előadáson keresztül ismerhetjük meg a felhő képességeit. Aki szeret egyedül, a saját kényelmes tempójában tanulni, annak mindenképp érdemes letölteni.

watk-githubrepo

Mint minden tananyagban, természetesen előfordulhat, hogy ebben is vannak hibák, de a Microsoft nyitottságát jelzi, hogy az egész tartalom a GitHubon van több, egymástól független repoban, így ha hibát találunk, könnyen jelezhetjük a javítást.

 

Technorati-címkék: ,,

TechEd Europe 2012 – 1. nap

A mai nap a plenáris előadással kezdetét vette a TechEd Europe 2012 konferencia Amszterdamban. Pontosabban már hétfőn voltak egész napos ún. “pre-conference seminar”-ok, de azokról nem tudok beszámolni, mert az idén nem voltunk rá hivatalosak, de a többi általam hallgatott előadásról igyekszem hírt adni. Ezt már reggel el is kezdtem a nyitó előadás alatt a Twitteren, de az előző évek hagyományait folytatva (aki emlékszik még Cheese-re, az tudja, hogy akkor flottabbul mentek a dolgok) az idén is összeomlott a wifi a konferencia központban, így csak utólag tudom összefoglalni a nap történéseit. Holnaptól remélhetőleg már nem lesz ilyen probléma és folyamatosan közvetíthetek.

teched-welcome

A nyitó előadást a Management & Security Division vezetője, Brad Anderson tartotta, olyan vendégszereplőkkel, mint Jason Zander (Corporate Vice President, Visual Studio), Mark Russinovich és Scott Guthrie (CVP, Server and Tools Business Division).

Akkor most tartsunk egy gondolatnyi szünetet: vajon mi köti össze ezeket az embereket és a területeiket? Hát persze, hogy a felhő. Ez a konferencia az Azure-ról szól, csak néha üzemeltetői, máskor meg fejlesztői szemmel. Windows Phone előadás van egy-kettő, de nincs Office, nincs Silverlight, nincs se WPF, se WCF, sőt a korábbi évek nagy slágere, a biztonság is csak elvétve jelenik meg. Van viszont cloud és persze rajta IAAS, PAAS, na meg SharePoint és SQL+BI. Szép új világ, tessék hozzászokni. Még egy új kifejezést is tanultam: “my clouds” (még emésztem).

A nyitó előadáson alapvetően két fontos irányból közelítették meg a felhőt:

  • A Windows Azure immár nem csak PAAS, hanem IAAS a nem régen bejelentett  virtual machine és networking szolgáltatásoknak köszönhetően.
  • A felhő alapja a Windows Server. Mindegy, hogy az Azure-ról van-e, vagy private cloud-ról, annak Windows Server a lelke.

A Windows Server 2012-ben nagyon hisz a Microsoft, amit talán az is bizonyít, hogy a Bing szerverei már a Windows Server 2012 RC változaton futnak. Hogy a Bing méretét érezni lehessen: 300+ petabájtnyi adatról van szó.

Hatalmas újdonságok nem hangzottak el a keynote-on, de persze a vakítás megvolt. Rövid demó egy “industry standard hardware”-en: 256 GB RAM, 80 CPU, 40 SSD hoszt gépként, amin virtualizálva fut egy vendég gép, ami kap 64 processzort és 64GB RAM-ot, és persze a 40 SSD-t. Ezen sikerült olyan eredményt villantani, hogy 1 millió I/O művelet másodpercenként, meg olyat, hogy 1 gigabájt/sec sebességű fájl másolás. Ééééés? (Kérdezzünk meg egy átlagos anyukát, mit gondol arról, hogy Hófehérke vidáman dalolva, egyedül látott el hét törpét.)

teched-keynote-server

A megnyitó után jöttek a foundational session-ök: egy blokkban mindössze 5 előadás a kiemelt témákról. SQL Server, ALM, consumerization of IT (?), Jeffrey Snover és a PowerShell, illetve Scott Guthrie és az Azure. Én persze Scott előadására ültem be, de lényegében ugyanazt mondta el, mint a június 7-i bejelentésen, csak jobban: VM, networking és website.

A megnyitónál sokkal érdekesebbnek és hasznosabbnak találtam Mark Russinovich Windows Azure Virtual Machines and Virtual Networks című előadását. Ez ugyan egy 200-as szintű előadás (egyesek szerint ez az a szint, amit még a főnököd is értene), és már elég sokat hallottam erről a témáról, de Russinovich előadását akkor is meghallgatom, ha már végigültem egyszer. Azzal kezdte, hogy nagyon logikusan levezette, hogy az új perzisztens virtuális gép és a hálózati szolgáltatások azért kellenek, hogy a korábbi alkalmazásokat fel lehessen vinni a felhőbe. Végre őszintén kimondta valaki a Microsofttól, hogy a VM Role nem IAAS megoldás, még akkor sem, ha a marketing részleg korábban ezt állította róla. Az alkalmazások egy jelentős részének, különösen a szerver alkalmazásoknak igenis kell az állapotmegőrzés, nem véletlenül volt ennek a szolgáltatásnak a kezdeti munkaneve “persistent VM role”. Ők azzal az alapelvvel álltak neki az új funkciók fejlesztésének, hogy mindennek simán kell mennie, és “ha fejlesztő kell hozzá, akkor az nem IAAS”.  És íme a példa, hogy a végeredmény teljesíti az elvárásokat, még egy született nem fejlesztő is meg tudja csinálni Mosolygó arc

Két érdekes apróság az előadásból:

  • A VHD-k dinamikus diszkek, tehát a blob storage-ban csak annyi tárolódik, amennyit már beleírtunk és folyamatosan nő a mérete.
  • Az Azure Storage magát tanítja. Figyeli a használati mintákat, megtalálja a “hot spotokat” és tuningolja magát, ezért ha teljesítményt akar mérni az ember, akkor érdemes legalább 45 perces bemelegedési időt hagyni az alkalmazásnak. A következő hónapokban további teljesítmény javítások várhatók a storage területén.

A virtuális gépek kapcsán még gyakrabban felmerül a kérdés, hogy “meddig” látnak a gépek, azaz hogy hol vannak a private network határok. Ezt is röviden, de korrektül végigmondta, és ha felkerülnek a webre a videók, megnézem megint. Persze van terminológiai zavar itt is,  a “cloud service” itt egy fontos fogalom, ő a határ. A cloud service-en belül pedig “a virtual machine is a single instance role” (ezt inkább nem fordítom le, így egyértelműbb).

Délután meghallgattam a Web Sites on Windows Azure előadást, ami számomra azért volt kevéssé izgalmas, mert én már májusban, a bejelentés előtt tesztelhettem az új portált és a szolgáltatásokat, így igazán túl sok újdonságot itt nem hallottam. Az előadópáros nem volt a legprofibb, de azoknak tudom ajánlani, akik step-by-step demót szeretnének mindenről (szerintem ennek is fel fog kerülni a videója előbb-utóbb a webre). Egyszerű az egész, mint a faék: Start simple, code smart, go live.

Az utolsó szekcióban sajnos több általam preferált előadás is elmaradt, ezért a konferencia központ többszöri végignyargalása után végül a Twenty Free Windows Tools That You Never Knew Existed címűre estem be. A hosszú cím valójában Windows client managementet takar és a hozzá kapcsolódó hasznos eszközöket. Tavaly az amerikai TechEden már elhangzott ez az előadás, most közkívánatra ismételték. Aki ezzel a témával foglalkozik, annak hasznos lehet a lista, a tavalyi PPT-ben megtalálhatóak a linkek. Én nem foglalkozom aktívan Windows desktop managementtel, de ezeket kiírtam magamnak (megvoltak már korábban, de már elhalványultak az emlékek, pedig hasznos eszközök):

  • Windows2Go
  • Windows Performance Recorder
  • Problem Steps Recorder

A nap végén az ilyenkor szokásos módon a látogatók ellepik a kiállítási területet, végigkóstolják a helyi söröket és megy a lazulás. Az idei év sztárjai a Kinect vezérelt, életnagyságú bokszoló robotok, amik a keynote videó elején is láthatóak. Íme a robotok a ringben:

teched-robots1

És mikor összecsapnak (oldalt látható a két irányító játékos):

teched-robots2

A bemutató videót érdemes megnézni, elég csak annyit mondani, hogy a Coding4Fun csapat készítette Mosolygó arc

Folyt. köv. @gyorgybalassy

 

Technorati-címkék: ,,

Windows Azure újdonságok – ma!

meet-azureAki teheti, mindenképpen nézze meg a mai Meet Windows Azure esemény ingyenes közvetítését San Franciscoból. A nyitó előadást az a piros pólós Scott Guthrie tartja, akinek már korábban is sikerült felkavarnia a felhő állóvizét (huh!), mióta az Azure csapatot is maga alá hajtotta. Sokan féltek ettől a váltástól, de szerintem nagyon jól sült el. Mióta ő ott van, a csapat sorra “támadja” a gyenge pontokat.

Két nagy újdonság várható a mai nap, sajnos a bejelentés előtt egyikről sem mondhatok el konkrét részleteket. Volt szerencsém viszont alaposan kipróbálni őket egy zárt körű tesztben és nekem mindkettő nagyon bejött.

Az egyikre azóta várok, hogy megjelent az Azure és lehetővé vált webalkalmazok gyors publikálása a felhőbe. Az eddigi lehetőségek sajnos nem biztosítottak ideális környezetet a kisebb webhelyek számára, így az Azure nem tudott hatékonyan versenyezni a filléres szolgáltatókkal, ami nem csak a felhőt, de az egész ASP.NET platformon érintette. Itt most jelentősen változik a kép.

A másik újdonságra azóta várok, hogy először megláttam a Windows Azure Management Portalt. Végre ez is megérkezett.

Érdemes csatlakozni, ütős lesz!

 

Technorati-címkék:

Viszlát Azure!

A Microsoft megválik az Azure-tól. Ez most nem áprilisi tréfa, ugyanis ahogy azt több hírportál is megírta, múlt héten az Azure előfizetések tulajdonosai az alábbi levelet kapták a Microsofttól:

Dear Customer, 
In the coming weeks, we will update the Windows Azure Service names that appear in the usage records you download. These are only name changes – your prices for Windows Azure are not impacted. The table below summarizes the changes:

Prior Service Name New Service Name
Windows Azure Compute Cloud Services
Windows Azure Platform – All Services All Services
Windows Azure CDN CDN
Windows Azure Storage Storage
Windows Azure Traffic Manager Traffic Manager
Windows Azure Virtual Network Virtual Network
AppFabric Cache Cache
AppFabric Service Bus Service Bus
AppFabric Access Control Access Control
SQL Azure SQL Database
SQL Azure Reporting Service SQL Reporting

Tehát mindössze névváltásról van szó, csak az egyes szolgáltatások nevei egyszerűsödnek, a szolgáltatás és az árak természetesen maradnak. Örülök ennek a váltásnak, mert az egyszerűsödés mindenképpen jó, és eltűnnek olyan zavaró tényezők mint a Windows Server AppFabric és a Windows Azure AppFabric közötti különbségek. A felhő a default, már ki sem írjuk.

Ellentmondásos hírek vannak arról, hogy mi lesz a teljes felhő-csomag elnevezésével. Ott marad-e az évek alatt bevezetett Azure brand, vagy ott is áttérnek egy Microsoft Cloud Services-hez hasonló mindenki által azonnal felfogható elnevezésre.

Mit gondoltok erről az átnevezési hullámról, ami korábban a Live termékek között is végigsöpört?

 

Technorati-címkék: