Dajbych.net


Práce se službou Azure Batch

, 3 minuty čtení

azure2017 logo

Azure Batch je velmi praktická a vysoce přizpůsobitelná služba. Jedná se o jednu ze služeb Azure Compute navržených pro provádění výpočetně náročných nebo datově náročných úloh. Azure Batch v kombinaci s Azure Storage je dvojice tahových koní, kteří zvládnou neobvyklé úlohy. Nastavení je velmi snadné a rozhraní programu je intuitivní a snadno se s ním píše. K dispozici je dokonce API pro načítání souborů z pracovního adresáře vaší aplikace.

Pro jakou úlohu je Azure Batch vhodná

Azure Batch je vhodný pro transformaci dat. Je ideální, když potřebujete velké množství výpočetního výkonu na krátkou dobu. Azure Batch bych asi nedoporučoval pro scénáře s vysokou dostupností. V takovém případě Service Fabric slouží mnohem lépe. Ani nevím, jak aplikovat aktualizace operačního systému na výpočetní uzly Azure Batch. Prostě jsem je nepotřeboval. Přidělil jsem více než sto virtuálních počítačů, provedl jsem, co jsem potřeboval vypočítat, a po dokončení práce jsem je zrušil.

Kde jsou uloženy vstupy a výstupy

Je neefektivní přistupovat k jedné databázi ze stovek strojů najednou. Azure Batch je připravená ke čtení a zápisu dat z/do Azure Blob Storage. Tuto logiku nemusíte psát sami. Azure Batch před zahájením úlohy stáhne vstupní soubory z úložiště do výpočetního uzlu. Po dokončení úlohy se výstupní soubory automaticky nahrají zpět do úložiště (pokud již objekt blob se stejným názvem existuje, přepíše se).

Jak kódovat logiku, která se provádí

Obchodní logika musí být zabalena do staromódní tradiční (.exe) aplikace, což je skvělé, protože nejste omezeni žádným sandboxem. Jediným omezením, které máte, je hranice virtuálního počítače. Chtěl jsem říci, že aplikace může běžet s oprávněními správce.

Nasazení a aktualizace aplikací

Aplikace je uložena jako jeden archiv ZIP ve službě Azure Storage. Odtud se po přidělení nasadí do každého výpočetního uzlu. Aplikaci můžete snadno aktualizovat, ale musíte restartovat výpočetní uzel, aby se aktualizovaná aplikace automaticky nasadila. Nejste omezeni pouze na jednu aplikaci (nesmíte však překročit 20 aplikací), pomocí které lze závislosti aplikací rozdělit do jednotlivých balíčků, které lze nezávisle aktualizovat.

Organizace

Uzly virtuálních počítačů jsou seskupeny do fondů. Všechny úkoly stejného druhu jsou seskupeny do úloh. K úloze musí být přiřazen jeden fond. Jeden účet Azure Batch může obsahovat více fondů. Jeden úkol může deklarovat více závislých úkolů, které musí být dokončeny před zahájením následného úkolu. Úloha se skládá ze dvou důležitých částí – jedinečného názvu a příkazu, který se spustí na příkazovém řádku a volá jednu z vašich aplikací ve výpočetním uzlu. Azure Batch je samotná orchestrační služba, která obsahuje seznam vašich úloh a stará se o výpočetní uzly ve vašich fondech.

Management

Azure Batch můžete spravovat ručně na webu Azure Portal, Azure CLI nebo v Průzkumníku dávek. K dispozici je také možnost spravovat ho programově v Pythonu nebo v .NET (Core) pomocí balíčku NuGet Azure.Batch . Nový fond můžete vytvořit pouze s přihlašovacími údaji k účtu služby Active Directory Batch. Pool lze škálovat ručně nebo automaticky pomocí vlastního skriptu, který má přehled o čekajících úkolech.

Jak začít experimentovat se službou Azure Batch