Blog pre slovenských vývojárov

Zdroj čerstvých informácií pre vývojárov priamo z kuchyne

Mikrodáta do Azure (1.časť) – Ako a prečo vytvoriť IoT Hub ( krok za krokom )

Stručnosť vyjadrovania je priam nevyhnutná pri komunikácii založenej na vysoko frekventovanom zbere mikrodát z väčšieho  množstva zdrojov. Príkladom môže byť všadespomínaný „Internet vecí“, popisovaný často ako svet senzorov odosielajúcich a prijímajúcich malé dátové informácie. Svet mikrodát nie sú len senzory. Existuje aj bez nich. Príkladom sú weby, ktoré chrlia v každej sekunde logy o každej „session“, alebo aplikácie v rýchlom slede ukladajú telemetrické dáta (ako napr. Halo5), či skutočnosť, že do súborových úložísk každou sekundou pribúdajú nové „bloby“ so stručnou popiskou v metadátach. Analyzovanie mikrodát raz za niekoľko dní (dávkovo) rozhodne nereaguje na stav dát v reálnom čase. A práve tu je možnosť použiť službu Azure IoT hub na ich zber a postspracovanie v reálnom čase, pretože:
– Nevyžaduje vystavanie infraštruktúry (serverov, sietí) pre spracovanie veľkého množstva dát prijímaných naraz z rôznych zdrojov
– Ponúka jednoduché škálovanie pridávaním a odoberaním zdrojov (tzv. units) pre alokovanie výkonu a optimalizáciu nákladov
– Umožňuje v reálnom čase mikrodáta konsolidovať a posuvať ich do úložiska alebo do analytickej služby
Pre znalcov Azure Event Hub (predchodca Azure IoT Hub) by v tomto zozname mali byť aj vylepšenia, ktoré IoT Hub prináša v porovnaní so svojim starším súrodencom:
– „Messaging“ nielen z zdroja mikrodát do Azure, ale aj naspäť na zdroj
– Identita pre každé zariadenie
– Podpora nielen .NET a C ale aj .Node.js a Java

Aby sme si vedeli predstaviť (ne)náročnosť vytvorenia „výkonnej zberne malých dát v reálnom čase“, teda základnej funkčnosti Azure IoT Hub-u, krok za krokom si jeden Azure IoT Hub vytvorme. Použijeme ho v ďalšej časti seriálu „Mikrodáta do Azure“ na zber telemetrických dát obsahujúcich informáciu „miesto prihlásenia registrovaného používateľa webovej aplikácie“.

1. Prihláste sa na portál správy Azure služieb https://portal.azure.com Microsoft Account-om (LiveID), ktorý ste použili pri aktivácii Azure benefitu v MSDN alebo BizSpark-u, alebo ho používate v Azure Trial, prípadne v zakúpenej Azure subskripcii.

2. Na hlavnej obrazovke správy vašej Azure subskripcie vyberte vľavo hore menu „New“.

3. Z zobrazeného submenu vyberte Internet of Things -> Azure IoT Hub.

4. Zadajte názov hub-u, ktorý sa prenesie do jeho DNS mena a “connection string-ov”. Vyberte úroveň škálovania a spoplatnenia. Pre vývoj a základné testovanie si vystačíme s bezplatnou úrovňou „F1 Free“, ktorá nám umožní používať iba jednu škálovaciu jednotku (IoT Hub Unit = obsluha 500 zdrojov dát) a dve partície pre správy prichádzajúce zo zdroja mikrodát, pričom správ môže byť v „free“ móde najviac 8 tisíc za deň. Zadajte novú skupinu zdrojov, ktorá bude zgrupovať služby pre náš projekt a zvoľte si dátové centrum pre prevádzkovanie IoT Hub-u. Potvrďte vytvorenie IoT Hubu tlačidlom Create.

obr1_vytvorenie
Poznámka: Free mód je určený iba na vývoj a testovanie. Nie je ho možné „prepnúť“ na produkčné úrovne Standard. Ak už ale budete mať IoT hub v móde Standard a zistíte, že vybraná úroveň v rámci Standard vám nepostačuje, stačí, aby ste zmenili škálovaciu úroveń na vyššiu, napr. z S1 na S2.

5. Po niekoľkých minútach sa úšpešné vytvorenie IoT Hub-u prejaví zobrazením panela s aktuálnym základným nastavením IoT Hub-u a diagramom aktuálnej spotreby kreditu správ.

obr2_vytvorenyHub

6. Nastavenia IoT hub-u nie sú komplikované. Potvrďte v hornom menu Settings a vyberte menu Shared access policies. Nájdete pod ním politiky prístupu do IoT Hub-u s rôznymi právami.

obr3_sas

Základným právom umožňujúcim pripojenie zdroja mikrodát je „device connect“. Ak teda senzor, alebo aplikácia odosielajúca telemetrické dáta, bude chcieť poslať dáta do IoT Hub-u, bude musieť použiť na pripojenie “connection string” povoľujúci prístup pre zariadenia/aplikácie „Device connect“.

obr4_policy
7. Vyberte z ponuky Settings položku Messaging.

obr5_messaging

Základné nastavenia pre správy odosielané z zdroja mikrodát a naspäť nám pre vývoj prvého projektu budú stačiť, preto si len objasnime význam troch najdôležitejších:

– Default TTL  – čas životnosti správy, ktorá sa má z IoT hubu doručiť na zdroj dát (senzor, aplikácia,…). Ak sa do tejto doby nepodarí správu doručiť, IoT Hub ju odloží ako expirovanú.

– Feedback retention time – centrálna „back-end“ aplikácia, ktorá spolupracuje s IoT Hub-om, niekedy požaduje potvrdenky o doručení správ na zdroj dát alebo potvrdenky o expirácii správ pre možnosť ich opätovného zaslania. Tieto tzv. „feedbacky“ majú tiež svoj čas životnosti a práve hodnota „feedback retention times“ určuje, ako dlho bude IoT Hub držať v sebe informáciu, ktorú si môže centrálna „back-end“ aplikácia načítať.

– Partitions – správy odosielané zo zdroja dát zberá a ukladá IoT Hub v partíciach. Úlohou particiovania je efektívna organizácia dát a ich klasifikácia, čo určuje ako efektívne budú dáta distribuované v streamoch ich odberateľom (napr. službe Azure Stream Analytics).

IoT Hub máme vytvorený, a tak sa v ďalšej časti nášho miniseriálu môžeme zamerať na vytvorenie aplikácie, ktorá bude simulovať  odosielanie telemetrie prihlásení do sledovanej webovej aplikácie do IoT hub-u.

 

Miro

P.S. Ak ste členmi BizSpark programu pre začínajúce vývojárske “startupy” (firmy alebo živnostníkov) , alebo máte kúpené Visual Studio s MSDN, môžete si bezplatne aktivovať Azure benefit v týchto programoch (Microsoft Azure pre členov BizSpark , Microsoft  Azure pre MSDN predplatiteľov). Pri registrácii Azure benefitu v MSDN alebo BizSparku nie je požadované overenie platobnou kartou. Ak nie ste členmi týchto programov, môžete si Microsoft Azure bezplatne vyskúšať na dobu 30 dní cez Microsoft Azure Trial.