Programovanie

Azure Service Fabric: Čo potrebujete vedieť

Cloudové služby ako Azure sú jadrom masívnych distribuovaných systémov, ktoré poskytujú všetky druhy služieb. Niektoré z nich sú hostovanou infraštruktúrou, niektoré sú kontajnery a mikroslužby, niektoré vývojové platformy a niektoré využívajú vzory bez servera.

Všetci potrebujú jednu vec: platformu pre správu a orchestráciu. Univerzálne cross-cloudové nástroje, ako je Kubernetes, ponúkajú jednu cestu k poskytovaniu spravovaného kontajnerového prostredia, ale je tu tiež miesto pre vlastné prostredia, ktoré sa zameriavajú na potreby konkrétnej cloudovej platformy. V prípade Azure to rieši nástroj, ktorý je tu od najskorších dní verejného cloudu spoločnosti Microsoft: Azure Service Fabric.

Predstavujeme Azure Service Fabric

Service Fabric, skrytý v základoch Azure, sa dá len ťažko opísať. Vidíme to však stále, v nástrojoch, ktoré používame na vytváranie vlastného cloudového natívneho softvéru. Je jadrom Azure Event Hubs a platformy IoT, jej databáz SQL a Cosmos DB a mnohých podnikových a spotrebiteľských služieb, ktoré používame každý deň. S Azure Service Fabric získate prístup k rovnakým nástrojom, ktoré používa spoločnosť Microsoft na spustenie a správu svojich vlastných služieb, a to ich zabudovaním do vlastného kódu.

Zámerom Azure Service Fabric je uľahčiť nasadenie a správu mikroslužieb, ktoré spracúvajú stavové aj bezstavové operácie v inštancii PaaS Azure. Nie je to len pre Azure, pretože miestny vývojový nástroj je úplná verzia Azure Service Fabric, čo znamená, že bude bežať na akomkoľvek systéme Windows. Verzia pre Linux umožňuje prenosnosť aj do viacerých cloudov a umožňuje prácu s existujúcim aj vlastným kódom.

Azure Service Fabric spravuje váš životný cyklus aplikácií pomocou rozhraní API, ktoré poskytujú ďalší prístup na platformu nad rámec čisto samostatného kódu. Podporuje tiež svoje vlastné mikroslužby herec / správa a hosťovanie základného kódu ASP.Net. Služby môžu bežať natívne ako procesy alebo ich môžete hostiť v kontajneroch, vďaka čomu budete mať možnosť rýchlo preniesť existujúci kód do služby Azure PaaS. Kontajnery sa miešajú s inými modelmi aplikácií Azure Service Fabric, vďaka čomu môžete rýchlo zahrnúť existujúce funkcie zdvihnutím a posunutím alebo zahrnutím konkrétnych zabalených aplikácií.

Začíname s Azure Service Fabric

Asi najrýchlejším spôsobom, ako začať s vývojom v Service Fabric, je jeho rámec Reliable Services. Toto je sada API, ktoré sa integrujú s funkciami správy životného cyklu aplikácie Azure Service Fabric. Môžete napísať kód v ktoromkoľvek podporovanom jazyku alebo vo vami vybranom aplikačnom rámci. Služby môžu byť bez štátnej príslušnosti alebo stavové. Bezstavové služby využívajú na spracovanie stavu externé úložisko. Stavová možnosť je zaujímavejšia, pretože na správu stavu aplikácie používa vlastné nástroje Service Fabric. Nemusíte brať do úvahy škálovanie alebo vysokú dostupnosť; všetko je za vás.

Ak ste použili zbierky C #, bude vám spoľahlivá zbierka spoľahlivých služieb známa. Konajú sa tiež v rovnakom prípade ako vaše výpočty, čo znižuje latenciu. Ak služba zlyhá, môže získať stav pri opätovnom spustení. Mať rôzne modely stavu vám umožňuje zvoliť si model, ktorý najlepšie vyhovuje vašim službám. Jednoduché služby, ktorých fungovanie vyžaduje iba vstupné údaje, môžu byť bez štátnej príslušnosti, ale ak pracujete s kódom, ktorý potrebuje poznať predchádzajúci stav, budete si musieť vytvoriť spoľahlivú službu.

Spoločnosť Microsoft uľahčuje vytváranie známych webových a aplikačných rozhraní typu backend na Azure Service Fabric s podporou technológie ASP.Net Core. Aj keď to nie je stopercentne kompatibilné s kódom s ASP.Net MVC, môžete migrovať existujúci kód na novú platformu. K dispozícii je podpora pre budovanie bezstavových aj stavových služieb, odovzdávanie orchestrácie aplikácií a škálovania do Azure Service Fabric.

Škálovateľná súbežnosť s hercami

Aplikácie Born-in-the-Cloud by mali využívať výhody rámca Reliable Actor. Toto rozširuje spoľahlivé služby o implementáciu virtuálnych hercov (ako ich používa otvorený rámec Project Orleans, ktorý je populárny v koncovkách hier). Používanie vzoru herec / správa na zvládnutie mikroslužieb funguje dobre, pretože jeho základný model súbežných systémov sa rýchlo rozširuje a dokáže spracovať veľa aktérov pracujúcich súčasne.

Spoľahlivý herec nie je pre každý scenár. Najlepšie to funguje, keď sa váš kód dá rozdeliť na jednoduché výpočtové bloky, ktoré je možné implementovať ako neblokujúce objekty s jedným vláknom, ktoré buď nemajú žiadny stav, alebo majú svoj vlastný stav. Je to najlepšie pre úplne nové aplikácie, pretože je ťažké rozložiť existujúci kód. Budovanie aplikácie pomocou nástroja Reliable Actor môže byť zložité, aj keď ste definovali svojich aktérov. Musíte mať na pamäti, že zatiaľ čo hercov je možné zhromažďovať odpadky, ich stav bude pretrvávať a bude k nim prístup, keď v budúcnosti zavoláte herca s rovnakým ID.

Spoľahlivý herec rieši mnoho zložitých problémov s distribuovaným výpočtom, aj keď budete musieť starostlivo premyslieť, ako mapujete objekty na hercov a ako ich budete používať vo svojich aplikáciách.

Azure Service Fabric sa stáva otvoreným zdrojom

Spoločnosť Microsoft nedávno oznámila, že ponúka Service Fabric s otvoreným získavaním zdrojov, pričom mení vývojový model na model, ktorý bude prijímať žiadosti od tretích strán, ako aj umožňuje verejný a otvorený proces návrhu.

Prechod na model rozvoja otvoreného zdroja je popri procese otvoreného návrhu obrovským záväzkom pre základnú technológiu, ako je Azure Service Fabric. Zatiaľ čo počiatočná tranža otvoreného zdrojového kódu je založená na systéme Linux, vývojový tím spoločnosti Microsoft naznačil, že čoskoro bude nasledovať kód založený na systéme Windows, ktorý momentálne beží na Azure. Vývoj bude prebiehať na GitHube, pričom veľká časť počiatočnej práce sa zamerala na dokončenie prechodu z interných platforiem spoločnosti Microsoft na proces orientovaný na verejnosť.

Spoločnosť Microsoft plánovala dodať open source Azure Service Fabric už nejaký čas - prinajmenšom od začiatku pobočky kódu Linux. Pretože ide o novší kód a používa iný nástroj ako verzia pre Windows, bolo oveľa jednoduchšie dostať túto vetvu do podoby pre verejné vydanie. Nástroj Windows je zložitejší a má desaťročie histórie, ktoré je potrebné rozlúštiť a zrekonštruovať. Veľa z toho je spôsobené používaním vývojových nástrojov iba pre Microsoft, ktoré nie sú dostupné vonkajšiemu svetu, a potrebou prepracovania ich presunu k verejne dostupným nástrojom.

Mať k dispozícii nástroj ako Azure Service Fabric vám dáva oveľa viac možností ako tradičné PaaS, najmä pri vytváraní nových aplikácií od nuly. Podpora kontajnerov pridáva do vášho kódu možnosť priniesť zabalené aplikácie. Podobne, použitie známych rámcov a vzorov môže skrátiť krivku učenia. S budúcnosťou otvoreného zdroja, Azure Service Fabric by mohol byť multicloudový aplikačný rámec, ktorý hľadáte.

$config[zx-auto] not found$config[zx-overlay] not found