Vytvoření nového rozhraní API ve službě API Management z aplikace funkcí
Služba Azure API Management umožňuje vytvořit rozhraní API ze sady různorodých mikroslužeb.
V online obchodě se každá část aplikace implementuje jako mikroslužba – jedna pro podrobnosti o produktu, jedna pro podrobnosti objednávky atd. Samostatný tým spravuje každou mikroslužbu a každý tým používá nepřetržitý vývoj a doručování k pravidelné aktualizaci a nasazování kódu. Chcete najít způsob, jak tyto mikroslužby sestavit do jednoho produktu a následně tento produkt spravovat centrálně.
V této lekci se dozvíte, jak je Služba Azure API Management užitečná v bezserverové architektuře tím, že vytváří jednotlivá rozhraní API z jednotlivých mikroslužeb.
Bezserverová architektura a mikroslužby
Mikroslužby představují oblíbený přístup k architektuře distribuovaných aplikací. Když aplikaci sestavíte jako kolekci mikroslužeb, vytváříte spoustu různých malých služeb. Každá služba má definovanou oblast zodpovědnosti a je vyvíjena, nasazována a škálována nezávisle. Díky této modulární architektuře vznikne aplikace, kterou lze lépe pochopit, vylepšit a otestovat. Také usnadňuje průběžné doručování, protože při nasazování mikroslužby změníte jenom malou část celé aplikace.
Dalším komplementárním trendem ve vývoji distribuovaného softwaru je bezserverová architektura. Při tomto přístupu publikuje hostitelská organizace sadu služeb, které mohou vývojáři použít ke spuštění svého kódu. Vývojáři se nemusí zabývat podpůrným hardwarem, operačními systémy, základním softwarem a další infrastrukturou. Místo toho se kód spouští v bezstavových výpočetních prostředcích aktivovaných požadavky. Náklady se účtují pouze při provádění služeb, takže za služby, které se používají jen zřídka, neplatíte moc.
Azure Functions
Azure Functions je služba, která v Azure umožňuje používat bezserverové architektury. Funkce můžete bez starostí o podpůrnou infrastrukturu vytvářet v mnoha různých jazycích, mezi které patří C#, Java, JavaScript, PowerShell a Python. Můžete také používat knihovny z NuGetu a node Správce balíčků (npm) a ověřovat uživatele pomocí standardu OAuth od poskytovatelů, jako jsou Active Directory, Facebook, Google a účet Microsoft.
Při psaní funkce můžete v závislosti na tom, jak chcete kód aktivovat, zvolit šablonu, která se má použít. Pokud chcete funkci spustit například v reakci na nějaký požadavek HTTP, použijete šablonu HTTPTrigger. Jiné šablony můžete použít ke spuštění na základě nových zpráv ve frontě, kontejneru úložiště objektů blob nebo předdefinovaného plánu.
Pokud používáte Azure Functions v plánu Consumption, účtují se vám poplatky jenom za čas, kdy se váš kód spustí.
Azure API Management
Azure API Management je plně spravovaná cloudová služba, kterou můžete použít k publikování, zabezpečení, transformaci, údržbě a monitorování rozhraní API. Pomáhá organizacím publikovat rozhraní API pro externí, partnerské a interní vývojáře, aby tak uvolnila potenciál jejich dat a služeb. Služba API Management zpracovává všechny úlohy spojené se zprostředkováním volání rozhraní API. Včetně ověřování a autorizace požadavků, omezení rychlosti a vynucení kvóty, transformace požadavků a odpovědí, protokolování a trasování a správy verzí rozhraní API. Služba API Management umožňuje vytvářet a spravovat moderní brány rozhraní API pro stávající back-endové služby bez ohledu na to, kde jsou hostované.
Vzhledem k tomu, že službu Azure Functions můžete publikovat prostřednictvím služby API Management, můžete je použít k implementaci architektury mikroslužeb; každá funkce implementuje mikroslužbu. Přidáním několika funkcí do jednoho produktu API Management můžete tyto mikroslužby sestavit do integrované distribuované aplikace. Jakmile je tato aplikace sestavená, můžete pomocí zásad služby API Management implementovat ukládání do mezipaměti nebo zajistit požadavky na zabezpečení.
Úroveň Consumption služby API Management
Když zvolíte plán využití služby API Management, můžete zvolit úroveň consumption. Úroveň Consumption je vhodná zejména pro architektury založené na mikroslužbách a systémy řízené událostmi. Byla by to například skvělá volba pro webové rozhraní API našeho online obchodu.
Úroveň Consumption používá stejné základní komponenty služby jako předchozí úrovně, ale využívá zcela odlišnou architekturu založenou na sdílených a dynamicky přidělených prostředcích. Úroveň consumption dokonale odpovídá bezserverovým výpočetním modelům. Neexistuje žádná infrastruktura pro správu a nečinnou kapacitu. Poskytuje vysokou dostupnost, automatické škálování a ceny založené na využití. Všechny z nich činí úroveň consumption zvlášť dobrou volbou pro řešení, která zahrnují zveřejnění bezserverových prostředků jako rozhraní API.
V další lekci vytvoříme instanci služby API Management a přidáme do ní funkci.