Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
APIOps je metodologie, která používá koncepty GitOps a DevOps pro nasazení rozhraní API. Stejně jako DevOps APIOps pomáhá členům týmu snadno provádět změny a nasazovat je iterativním a automatizovaným způsobem. Tato architektura ukazuje, jak můžete zlepšit celý životní cyklus rozhraní API a kvalitu rozhraní API pomocí APIOps.
Architektura
Načte soubor Visio této architektury.
Workflow
Operátory rozhraní API spustí kanál extraktoru pro synchronizaci úložiště Git s instancí služby API Management a naplní úložiště Git objekty SLUŽBY API Management v požadovaném formátu.
Pokud se v instanci služby API Management zjistí změna rozhraní API, vytvoří se pull request (PR) pro operátory, aby jej mohli zkontrolovat. Operátory sloučí změny do úložiště Git.
Vývojáři rozhraní API naklonují úložiště Git, vytvářejí větev a vytvářejí definice rozhraní API pomocí specifikace OpenAPI nebo nástrojů podle svého výběru.
Pokud vývojář odešle změny do úložiště, vytvoří se pull request ke kontrole.
Žádost o přijetí změn je možné automaticky schválit nebo zkontrolovat v závislosti na požadované úrovni kontroly.
Po schválení a sloučení změn kanál publikování nasadí nejnovější změny do instance služby API Management.
Operátory rozhraní API vytvářejí a upravují zásady služby API Management, diagnostiku, produkty a další relevantní objekty a pak změny potvrdí.
Změny se zkontrolují a po schválení se sloučí.
Po sloučení změn kanál publikování nasadí změny pomocí procesu definic rozhraní API.
Komponenty
Azure API Management je spravovaná služba, která vytváří konzistentní brány rozhraní API pro back-endové služby. V této architektuře směruje API volání, ověřuje přihlašovací údaje, vynucuje kvóty využití a protokoluje metadata. Slouží jako centrální platforma pro správu a publikování rozhraní API.
Azure DevOps je sada vývojových nástrojů a služeb, které spravují životní cyklus vývoje. V této architektuře podporuje plánování, správu kódu a automatizované nasazení rozhraní API, které týmům umožňuje spolupracovat a zjednodušit doručování rozhraní API.
Azure Pipelines je cloudová služba, která umožňuje kontinuální integraci a průběžné doručování (CI/CD). V této architektuře automatizuje testování, sestavování a nasazování změn rozhraní API do instance služby API Management.
Azure Repos je sada nástrojů pro správu verzí, včetně standardního Gitu, které můžete použít ke správě kódu. V této architektuře ukládá definice rozhraní API, zásady a konfigurace. Slouží jako centrální zdroj informací pro všechny změny a umožňuje auditelnost a spolupráci prostřednictvím pull requestů.
Alternativy
Toto řešení podporuje Azure Repos k poskytování funkcí Gitu a Azure Pipelines pro pracovní postupy CI/CD.
Podporuje také GitHub pro správu zdrojového kódu a spolupráci a také GitHub Actions pro automatizaci kanálů sestavení, testování a nasazení.
Můžete použít jakékoli srovnatelné technologie, které poskytují podobné funkce správy verzí a CI/CD.
Podrobnosti scénáře
APIOps používá ke správě rozhraní API správu verzí a vytvoření záznamu auditu změn rozhraní API, zásad a operací.
Vývojáři rozhraní API, kteří používají metodologii APIOps, kontrolují a auditují rozhraní API dříve a častěji, zachytává a řeší odchylky od standardů rozhraní API rychleji, aby zlepšili specifikace a kvalitu rozhraní API. Čím více rozhraní API sestavíte a nasadíte pomocí přístupu APIOps, tím větší je konzistence mezi rozhraními API.
Potenciální případy použití
- Každá organizace vyvíjí a spravuje rozhraní API. Můžete začít používat APIOps i s jedním rozhraním API vystaveným ve službě API Management.
- Vysoce regulovaný průmysl: pojištění, bankovnictví, finance, vláda
Úvahy
Tyto aspekty implementují pilíře architektury Azure Well-Architected, což je sada hlavních principů, které můžete použít ke zlepšení kvality úlohy. Další informace najdete v tématu Well-Architected Framework.
Zabezpečení
Zabezpečení poskytuje záruky proti záměrným útokům a zneužití cenných dat a systémů. Další informace najdete v kontrolním seznamu pro kontrolu návrhu zabezpečení.
Toto řešení poskytuje několik výhod souvisejících se zabezpečením. Jednotliví vývojáři (a dokonce i operátoři) nemají přímý přístup k instanci služby API Management, aby mohli použít změny nebo aktualizace. Místo toho uživatelé nasdílí změny do úložiště Git a kanály extrakce a publikování načtou a použijí je u instance služby API Management. Tento přístup se řídí osvědčeným postupem zabezpečení nejnižšího oprávnění tím, že týmům neuděluje oprávnění k zápisu do instance služby API Management. Ve scénářích diagnostiky nebo řešení potíží můžete udělit zvýšená oprávnění po omezenou dobu pro případ.
Abyste měli jistotu, že instance služby API Management používají osvědčené postupy zabezpečení, můžete toto řešení rozšířit použitím nástrojů, které nejsou od Microsoft, a unit testování pro vynucení osvědčených postupů rozhraní API. Týmy můžou prostřednictvím žádosti o přijetí změn poskytnout včasnou zpětnou vazbu, pokud navrhované změny rozhraní API nebo zásad porušují standardy.
Kromě úlohy nastavení oprávnění úložiště zvažte implementaci následujících bezpečnostních opatření v úložištích Git, která se synchronizují s instancemi služby API Management:
- Kontrola Pull Request: Používejte větve a chraňte větve, které reprezentují stav instancí služby API Management, aby nedocházelo k přímému posílání změn do těchto větví. Vyžadovat, aby PR měly alespoň jednoho kontrolora pro zajištění zásady čtyř očí.
- Neměnná historie: Umožňuje pouze nové commity nad existujícími změnami. Neměnná historie je zvláště důležitá pro účely auditování.
- Vícefaktorové ověřování: Vyžaduje, aby vaši uživatelé aktivovali dvojúrovňové ověřování.
- Podepsaná potvrzení: Povolte pouze podepsaná potvrzení, která nelze po faktu změnit.
Optimalizace nákladů
Optimalizace nákladů se zaměřuje na způsoby, jak snížit zbytečné výdaje a zlepšit efektivitu provozu. Další informace najdete v kontrolním seznamu pro kontrolu návrhu pro optimalizaci nákladů.
K odhadu nákladů na komponenty Azure v této architektuře použijte cenovou kalkulačku Azure.
Náklady na licencování Azure DevOps by měly být zváženy pro týmy implementující APIOps. Všichni uživatelé, kteří se účastní procesu APIOps, musí mít odpovídající Azure DevOps licenci. Podrobnosti najdete v tématu Azure DevOps ceny.
Podrobnosti o cenách a licencování při používání GitHub najdete v tématech GitHub cen a licencování GitHub Enterprise.
Efektivita provozu
Efektivita provozu se zabývá provozními procesy, které nasazují aplikaci a udržují ji spuštěnou v produkčním prostředí. Další informace najdete v kontrolním seznamu pro kontrolu návrhu pro efektivitu provozu.
APIOps může zvýšit produktivitu DevOps pro vývoj a nasazení rozhraní API. Jednou z nejužitečnějších funkcí je schopnost používat operace Gitu k vrácení změn, které se neočekávaně chovají. Graf potvrzení obsahuje všechna potvrzení, takže může pomoct s následnou analýzou.
Operátoři rozhraní API často spravují více prostředí pro stejnou sadu rozhraní API. Je typické mít několik fází rozhraní API nasazených do různých instancí služby API Management nebo ve sdílené instanci služby API Management. Úložiště Git, což je jediný zdroj pravdy, ukazuje, které verze aplikací jsou aktuálně nasazené do clusteru.
Když někdo vytvoří pull request v úložišti Git, operátor API ví, že má nový kód ke kontrole. Když například vývojář vezme specifikaci OpenAPI a sestaví implementaci rozhraní API, přidá tento nový kód do úložiště. Operátoři můžou zrevidovat PR a ujistit se, zda rozhraní API odeslané ke kontrole splňuje osvědčené postupy a standardy.
ApiOps má mnoho výhod, ale s růstem prostředí API Management se tak složitost jejich správy mění. Toto řešení pomáhá řešit výzvy, jako jsou:
- Přehled všech prostředí a instancí služby API Management
- Sledování důležitých změn v rozhraních API a zásadách
- Vytvoření auditní stopy pro všechny nasazené změny
Nasazení tohoto scénáře
Podrobné pokyny ke konfiguraci kanálů extrakce a vydavatele najdete v dokumentaci APIOps pro Azure API Management.
Pracovní postup nasazení zahrnuje:
- Extrahování konfigurací rozhraní API ze služby API Management
- Vytváření pull requestů k revizi
- Publikování schválených změn prostřednictvím pipelinů CI/CD
Přispěvatelé
Tento článek udržuje Microsoft. Původně byla napsána následujícími přispěvateli.
Hlavní autoři:
- Wael Kdouh | Hlavní architekt řešení
- Rishabh Saha | Hlavní architekt řešení
Pokud se chcete podívat na neveřejné profily LinkedIn, přihlaste se k LinkedIn.
Další kroky
- APIOps pro Azure API Management
- CI/CD pro správu rozhraní API pomocí šablon Azure Resource Manager
- Přehled GitOps