Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaGyula Török Megváltozta több, mint 10 éve
1
IT-DEV-CON – 2011. 04. 06. Addig nyújtózkodj, ameddig a felhőd ér! Kőnig Tibor tibork@microsoft.com | blogs.msdn.com/tibork-on-ms | twitter.com/tibork Microsoft Magyarország
2
IT-DEV-CON Lazán csatolt szerepkörökből álló felhőalkalmazások készítése Felhőalkalmazások menedzselése távolról a Service Management API segítségével Automatikusan skálázódó felhőalkalmazások létrehozása Amiről szó lesz
3
IT-DEV-CON A minta
4
IT-DEV-CON Rajzfilm helyett…
5
IT-DEV-CON A Mandelbrot-halmazból származó képek készítése Film „forgatása” a Mandelbrot-halmazban tett utazásról Az alkalmazás összetevőinek skálázása manuálisan automatikusan, a rendszer valamely jellemzője (pl. a képrajzolási feladatokat tartalmazó várakozási sor) alapján A feladat A tavalyi 24 órás programozói verseny feladatára alapozva
6
IT-DEV-CON A Mandelbrot-halmaz pontjainak kiszámítása // Egy ponthoz tartozó iteráció kiszámítása private static int Iterate(Complex point, int iterationCount) { Complex z = Complex.Zero; int i = 0; while (z.Magnitude < 4.0 && i < iterationCount) { z = z * z + point; i++; } return i; }
7
IT-DEV-CON Egy fáziskép megrajzolása, avagy Mandelbrot a saját gépen
8
IT-DEV-CON Azure Storage Azure Compute Egy fáziskép megrajzolása Feladat fogadása várakozási sorból, kép tárolása konténerben renderermessages sor jobs konténer Mandelbrot Renderer munkavégző szerepkör Mandelbrot Explorer webes szerepkör
9
IT-DEV-CON Egy fáziskép megrajzolása, avagy Mandelbrot a felhőben
10
IT-DEV-CON Adattárolási szolgáltatások Blob Storage – bináris állományok és leíró adataik Table Storage – tabuláris adatok Queue Storage – várakozási sorok Használat REST API Client API (.NET-osztálykönyvtár) Egyéb osztálykönyvtárak Felhasznált technológia Azure Storage
11
IT-DEV-CON Az Azure Storage programozása (az Azure Storage Sample segédkönyvtárral) // A rendererjobs sor megnyitása, ha kell, létrehozása QueueHelper queueHelper = new QueueHelper("Storage", true); queueHelper.CreateQueue("renderermessages"); // A jobs konténer megnyitása, ha kell, létrehozása BlobHelper blobHelper = new BlobHelper("Storage", true); blobHelper.CreateContainer("jobs"); while (true) { // Ha van üzenet, beolvasása a sorból CloudQueueMessage message = null; if (queueHelper.GetMessage("renderermessages", out message)) … }
12
IT-DEV-CON Azure Storage Azure Compute Fázisképek sorozatának elkészítése Várakozási sorban érkező feladat további feladatokra bontása dispatchermessages sor renderermessages sor jobs konténer moviedata tábla Mandelbrot Renderer munkavégző szerepkör Mandelbrot Dispatcher munkavégző szerepkör Mandelbrot Explorer webes szerepkör
13
IT-DEV-CON Fázisképek sorozatának elkészítése
14
IT-DEV-CON Azure Storage Azure Compute Film elkészítése Fázisképek figyelése, filmkészítési utasítás kiadása Mandelbrot Producer munkavégző szerepkör producermessages sor jobs konténer moviedata tábla Mandelbrot Dispatcher munkavégző szerepkör Mandelbrot Explorer webes szerepkör
15
IT-DEV-CON Film elkészítése
16
IT-DEV-CON Azure Storage Azure Compute Alkalmazás manuális skálázása Szerepkör példányszámának növelése a többitől függetlenül Fabric Fabric Controller Service Management API Mandelbrot Producer munkavégző szerepkör managermessages sor operationdata tábla Mandelbrot Renderer munkavégző szerepkör Mandelbrot Dispatcher munkavégző szerepkör Mandelbrot Explorer webes szerepkör Mandelbrot Manager munkavégző szerepkör
17
IT-DEV-CON Alkalmazás manuális skálázása
18
IT-DEV-CON Cél: a Windows Azure portálon, interaktív módon elvégezhető műveletek elérhetővé tétele programból is tárolási fiókok, hosztolt szolgáltatások, tanúsítványok és más objektumok kezelése Használat REST API (nincs menedzselt osztálykönyvtár) azonosítás tanúsítványok segítségével Felhasznált technológia Service Management API
19
IT-DEV-CON Service Management API - REST Szolgáltatás konfigurációjának megváltoztatása: https://management.core.windows.net/ /services/hostedservices/ /deploymentslots/ /?comp=config A kérés törzse: <ChangeConfiguration xmlns="http://schemas.microsoft.com/windowsazure"> base-64-encoded-configuration-file
20
IT-DEV-CON Service Management API - Kód // A hosztolt szolgáltatás megadott környezetébe (slot) telepített // alkalmazás adatainak kiolvasása public string GetDeployment(string HostedService, string Slot) { string requestID = ""; string response = SendServiceManagementRequest( String.Format( "https://management.core.windows.net/{0}/" + "services/hostedservices/{1}/deploymentslots/{2}", SubscriptionID, HostedService, Slot), "GET", Certificate, "2009-10-01", "application/xml", null, out requestID); return response; }
21
IT-DEV-CON Azure Storage renderermessages sor Azure Compute Alkalmazás automatikus skálázása Szerepkör példányszámának növelése pl. a sor hossza alapján Fabric Fabric Controller Service Management API Mandelbrot Producer munkavégző szerepkör operationdata tábla Mandelbrot Renderer munkavégző szerepkör Mandelbrot Dispatcher munkavégző szerepkör Mandelbrot Explorer webes szerepkör Mandelbrot Manager munkavégző szerepkör
22
IT-DEV-CON Alkalmazás automatikus skálázása
23
IT-DEV-CON Azure Storage Azure Compute A teljes alkalmazás Virtuális gépek, tárolási megoldások, platformszolgáltatások Fabric Fabric Controller Service Management API Mandelbrot Producer munkavégző szerepkör dispatchermessages sor renderermessages sor producermessages sor managermessages sor jobs konténer moviedata tábla operationdata tábla Mandelbrot Renderer munkavégző szerepkör Mandelbrot Dispatcher munkavégző szerepkör Mandelbrot Explorer webes szerepkör Mandelbrot Manager munkavégző szerepkör
24
IT-DEV-CON Aszinkron, hibatűrő kommunikáció a szerepkörök között várakozási sorok Szabványos felületen (REST) elérhető, gyakorlatilag korlátlan mértékben skálázható erőforrások virtuális gépek adattárolás Hibrid megoldások együttműködés a „föld” és a „felhő” között Összefoglalás A megfelelően felépített alkalmazás rugalmasan skálázható
25
IT-DEV-CON
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.