Co je Azure API Management?
Začněme rychlým přehledem služby Azure API Management a jejími základními funkcemi. Tento přehled by vám měl pomoct při rozhodování, jestli může být Azure API Management vhodným řešením pro snížení složitosti rozhraní API vaší společnosti.
Co je správa životního cyklu rozhraní API?
Správa životního cyklu rozhraní API je proces správy rozhraní API po celou dobu životnosti – od návrhu a vytvoření až po jejich nesolesekci a vyřazení. Pro účely tohoto modulu si vyzvedneme poté, co už byla vaše rozhraní API navržená, kódovaná a nasazená. Pojďme se soustředit na zbývající úlohy správy životního cyklu rozhraní API, mezi které patří:
- Poskytuje dokumentaci k rozhraní API, testování a ukázky kódu.
- Onboarding a off-boarding uživatelů.
- Správa předplatných rozhraní API a distribuce klíčů předplatného
- Implementace revizí rozhraní API řízeným a bezpečným způsobem
- Správa více verzí rozhraní API
- Implementace řízení přístupu k rozhraní API, jako jsou omezení četnosti ověřování a četnosti volání
- Poskytování sestav rozhraní API pro využití, chyby atd.
- Správa analýz pro vaši společnost i pro vývojáře, kteří používají tato rozhraní API.
Definice služby Azure API Management
Azure API Management je cloudová služba, která poskytuje platformu pro publikování, zabezpečení, údržbu a analýzu všech rozhraní API vaší společnosti. Azure API Management provádí tyto úlohy tím, že nabízí tři hlavní komponenty:
- Brána
- Rozhraní pro správu
- Portál pro vývojáře
Důležité
Azure API Management nehostuje vaše skutečná rozhraní API. Vaše rozhraní API zůstanou tam, kde byla původně nasazena. Místo toho azure API Management funguje jako druh fasády nebo "přední dveře" pro vaše rozhraní API. Azure API Management tímto způsobem odděluje vaše rozhraní API tím, že vám umožní nastavit zásady rozhraní API a další možnosti správy v Azure a zároveň ponechat nasazená back-endová rozhraní API nedotčená.
Brána
Brána Azure API Management je koncový bod Azure, který přijímá všechna volání ze všech vašich rozhraní API. Brána:
- Ověřuje klíče předplatného rozhraní API a další přihlašovací údaje.
- Vynucuje kvóty využití a omezení četnosti.
- Podle potřeby transformuje rozhraní API kvůli kompatibilitě back-endu.
- Směruje každé volání na příslušný back-endový server.
- Ukládá odpovědi back-endu do mezipaměti.
- Shromažďuje metadata volání pro analytické úlohy.
Rozhraní pro správu
Rozhraní pro správu služby Azure API Management je sada stránek a nástrojů webu Azure Portal, které umožňují spravovat službu a vaše rozhraní API. Kromě zřizování, škálování a monitorování služby používáte rozhraní pro správu pro:
- Definování nebo import specifikací rozhraní API
- Implementace zásad využití, jako jsou kvóty a omezení četnosti
- Nastavení zásad zabezpečení
- Správa uživatelů
- Balení rozhraní API do produktů
- Definování transformací rozhraní API
- Správa revizí a verzí rozhraní API
- Spouštění analýz na metadatech rozhraní API
Portál pro vývojáře
Portál pro vývojáře služby Azure API Management je plně přizpůsobitelný web, který vývojářům umožňuje interakci s vašimi rozhraními API prostřednictvím:
- Projděte si dokumentaci pro každé rozhraní API.
- Zkuste rozhraní API pomocí interaktivní konzoly.
- Kontrola ukázek kódu v různých programovacích jazycích
- Přihlášení k odběru rozhraní API a získání klíče předplatného rozhraní API
- Spouštění analýz využití vývojáře
Úrovně služby Azure API Management
Azure API Management poskytuje několik úrovní služeb, z nichž každá nabízí odlišnou sadu funkcí, kapacit a cen. Následující tabulka uvádí úrovně v pořadí od nejnižších po nejvyšší cenu a porovnává některé klíčové funkce.
Kritéria | Využití | Vývojář | Basic | Standard | Premium |
---|---|---|---|---|---|
Určeno pro | Zjednodušené použití | Vyhodnocení, testování a další neprodukční využití | Využití produkční úrovně na úrovni položek | Střední objem využití výroby | Vysokoobsáhlé nebo podnikové využití výroby |
Cache | Pouze externí | 10 megabajtů (MB) | 50 MB | 1 gigabajt (GB) | 5 GB |
Smlouva o úrovni služeb (SLA) | 99,95 % | Nic | 99,95 % | 99,95 % | 99,99 % |
portálu pro vývojáře | No | Ano | Ano | Ano | Yes |
Integrovaná analýza | No | Ano | Ano | Ano | Yes |
Propustnost (odhadované požadavky za sekundu) | – | 500 | 1000 | 2 500 | 4 000 |
Poznámka:
Ceny úrovně Consumption jsou na volání rozhraní API, kde první milion volání je zdarma a zbytek se pak účtuje s pevnou sazbou za 10 000 volání. Ceny pro všechny ostatní úrovně jsou za hodinu.
Použití zásad na požadavky a odpovědi rozhraní API
Jedním z největších problémů s více publikovanými rozhraními API je, že každé rozhraní API vyžaduje samostatnou sadu zásad. Tady je zásada nastavení nebo akce, která řídí chování rozhraní API. Pokud například chcete vynutit limit rychlosti (maximální počet volání rozhraní API povolených z jednoho zdroje v daném časovém období), zahrnete tento limit jako součást zásad pro rozhraní API. Limit rychlosti je jen jeden příklad, ale můžete použít celou řadu zásad. Vynásobte to několika různými rozhraními API a máte noční můru správy.
Azure API Management řeší problém se zásadami rozhraní API tím, že umožňuje nastavit zásady pro všechna vaše rozhraní API na jednom místě, což je rozhraní pro správu služby Azure API Management. Pomocí služby Azure API Management můžete nastavit zásady v mnoha kategoriích. Částečný seznam zahrnuje:
- Omezení přístupu Tyto zásady určují, kdy je požadavek rozhraní API povolený prostřednictvím brány. Například vynucujte omezení rychlosti a kvóty využití, vyfiltrujte IP adresy volajícího a zkontrolujte platný webový token JSON (JWT).
- Ověřování. Ověřování volání rozhraní API, například pomocí základního ověřování, klientského certifikátu nebo spravované identity.
- Ukládání do mezipaměti Zvýšení výkonu rozhraní API ukládáním a načítáním odpovědí do mezipaměti
- Ověření. Ověřte volání rozhraní API porovnáním určitých parametrů se specifikací rozhraní API. Ověřte například text požadavku nebo odpovědi, parametry hlavičky požadavku a hlavičky odpovědi.
Flexibilně zkombinujte zásady v definicích zásad, což jsou dokumenty XML, které se skládají z řady příkazů, z nichž každá představuje zásadu a její parametry. Definice zásad umožňují nakonfigurovat samostatné zásady v různých fázích kanálu žádosti a odpovědi rozhraní API: