1 / 25

Addig nyújtózkodj, ameddig a felhőd ér!

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. Amiről szó lesz. A minta. Rajzfilm helyett…. A Mandelbrot-halmazból származó képek készítése

Télécharger la présentation

Addig nyújtózkodj, ameddig a felhőd ér!

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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. Amiről szó lesz

  3. A minta

  4. Rajzfilm helyett…

  5. 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. A Mandelbrot-halmaz pontjainak kiszámítása // Egy ponthoz tartozó iteráció kiszámítása privatestaticintIterate(Complexpoint, intiterationCount) { Complex z = Complex.Zero; int i = 0; while (z.Magnitude < 4.0 && i < iterationCount) { z = z * z + point; i++; } return i; }

  7. Egy fáziskép megrajzolása, avagy Mandelbrot a saját gépen

  8. Egy fáziskép megrajzolása • Feladat fogadása várakozási sorból, kép tárolása konténerben Azure Compute Mandelbrot Explorer webes szerepkör Mandelbrot Renderer munkavégző szerepkör Azure Storage renderermessages sor jobs konténer

  9. Egy fáziskép megrajzolása, avagy Mandelbrot a felhőben

  10. 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. Az Azure Storage programozása(az Azure Storage Sample segédkönyvtárral) // A rendererjobs sor megnyitása, ha kell, létrehozása QueueHelperqueueHelper = newQueueHelper("Storage", true); queueHelper.CreateQueue("renderermessages"); // A jobs konténer megnyitása, ha kell, létrehozása BlobHelperblobHelper = newBlobHelper("Storage", true); blobHelper.CreateContainer("jobs"); while (true) { // Ha van üzenet, beolvasása a sorból CloudQueueMessagemessage = null; if (queueHelper.GetMessage("renderermessages", outmessage)) … }

  12. Fázisképek sorozatának elkészítése • Várakozási sorban érkező feladat további feladatokra bontása Azure Compute Mandelbrot Explorer webes szerepkör Mandelbrot Dispatcher munkavégző szerepkör Mandelbrot Renderer munkavégző szerepkör Azure Storage dispatchermessages sor renderermessages sor jobs konténer moviedata tábla

  13. Fázisképek sorozatának elkészítése

  14. Film elkészítése • Fázisképek figyelése, filmkészítési utasítás kiadása Azure Compute Mandelbrot Explorer webes szerepkör Mandelbrot Dispatcher munkavégző szerepkör Mandelbrot Producer munkavégző szerepkör Azure Storage producermessages sor jobs konténer moviedata tábla

  15. Film elkészítése

  16. 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 Azure Compute Mandelbrot Explorer webes szerepkör Mandelbrot Dispatcher munkavégző szerepkör Mandelbrot Renderer munkavégző szerepkör Mandelbrot Producer munkavégző szerepkör Mandelbrot Manager munkavégző szerepkör Azure Storage managermessages sor operationdata tábla

  17. Alkalmazás manuális skálázása

  18. 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. Service Management API - REST Szolgáltatás konfigurációjának megváltoztatása: https://management.core.windows.net/<subscription- id>/services/hostedservices/<service- name>/deploymentslots/<deployment-slot>/?comp=config A kérés törzse: <?xml version="1.0" encoding="utf-8"?> <ChangeConfiguration xmlns="http://schemas.microsoft.com/windowsazure"> <Configuration> base-64-encoded-configuration-file </Configuration> </ChangeConfiguration>

  20. Service Management API - Kód // A hosztolt szolgáltatás megadott környezetébe (slot) telepített  // alkalmazás adatainak kiolvasása publicstringGetDeployment(stringHostedService, stringSlot) { stringrequestID = ""; stringresponse = 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, outrequestID); returnresponse; }

  21. 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 Azure Compute Mandelbrot Explorer webes szerepkör Mandelbrot Dispatcher munkavégző szerepkör Mandelbrot Renderer munkavégző szerepkör Mandelbrot Producer munkavégző szerepkör Mandelbrot Manager munkavégző szerepkör Azure Storage renderermessages sor operationdata tábla

  22. Alkalmazás automatikus skálázása

  23. A teljes alkalmazás • Virtuális gépek, tárolási megoldások, platformszolgáltatások Fabric Fabric Controller Service Management API Azure Compute Mandelbrot Explorer webes szerepkör Mandelbrot Dispatcher munkavégző szerepkör Mandelbrot Renderer munkavégző szerepkör Mandelbrot Producer munkavégző szerepkör Mandelbrot Manager munkavégző szerepkör Azure Storage dispatchermessages sor renderermessages sor producermessages sor managermessages sor jobs konténer moviedata tábla operationdata tábla

  24. 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ó

More Related