Az APIOps egy módszertan, amely a GitOps és a DevOps fogalmait alkalmazza az API üzembe helyezésére. A DevOpshoz hasonlóan az APIOps is segít a csapattagoknak a módosítások egyszerű elvégzéséhez és iteratív és automatizált üzembe helyezéséhez. Ez az architektúra bemutatja, hogyan javíthatja az API teljes életciklusát és API-minőségét az APIOps használatával.
Architektúra
Töltse le az architektúra Visio-fájlját.
Munkafolyamat
Az API-operátorok az elszívó folyamatot futtatva szinkronizálják a Git-adattárat az API Management-példánysal, és feltöltik a Git-adattárat API Management-objektumokkal a szükséges formátumban.
Ha api-módosítást észlel az API Management-példányban, a rendszer lekéréses kérelmet (PR) hoz létre az operátorok számára a felülvizsgálathoz. Az operátorok egyesítik a módosításokat a Git-adattárban.
Az API-fejlesztők klónozzák a Git-adattárat, létrehoznak egy ágat, és api-definíciókat hoznak létre a választott OpenAPI-specifikáció vagy eszközök használatával.
Ha egy fejlesztő leküldi a módosításokat az adattárba, a rendszer létrehoz egy lekéréses kérelmet felülvizsgálatra.
A kérelem automatikusan jóváhagyható vagy felülvizsgálható a szükséges vezérlési szinttől függően.
A módosítások jóváhagyása és egyesítése után a közzétételi folyamat üzembe helyezi a legújabb módosításokat az API Management-példányon.
Az API-operátorok létrehoznak és módosítanak API Management-szabályzatokat, diagnosztikákat, termékeket és egyéb releváns objektumokat, majd véglegesítik a módosításokat.
A módosítások felülvizsgálatra kerülnek, és a jóváhagyás után egyesülnek.
A módosítások egyesítése után a közzétételi folyamat az API-definíciós folyamat használatával telepíti a módosításokat.
Összetevők
Az Azure API Management konzisztens, modern API-átjárókat hoz létre a háttérszolgáltatásokhoz. A háttérrendszerbe irányuló API-hívások átirányítása mellett ez a platform hitelesítő adatokat is ellenőriz, érvényesíti a használati kvótákat, és naplózza a metaadatokat.
Az Azure DevOps egy szolgáltatás a fejlesztési életciklus teljes körű kezelésére, beleértve a tervezést és a projektkezelést, a kódkezelést, valamint a folyamatos buildelést és kiadást.
Az Azure Pipelines lehetővé teszi a folyamatos integrációt (CI) és a folyamatos kézbesítést (CD) a kód teszteléséhez és összeállításához, és bármilyen célhoz való továbbításához.
Az Azure Repos verziókövetési eszközök készlete, beleértve a standard Gitet is, amelyekkel kezelheti a kódot.
Alternatívák
Ez a megoldás az Azure Repos használatával biztosítja a Git-funkciókat, az Azure Pipelines pedig a folyamatokat. Bármilyen hasonló technológiát használhat.
Forgatókönyv részletei
Az APIOps verziókövetéssel kezeli az API-kat, és naplót készít az API-k, szabályzatok és műveletek változásairól.
Az APIOps-módszertant használó API-fejlesztők korábban és gyakrabban ellenőrzik az API-kat, és gyorsabban elkapják és feloldják az API-szabványoktól való eltéréseket a specifikációk és az API-minőség javítása érdekében. Minél több API-t készít és helyez üzembe APIOps-megközelítéssel, annál nagyobb a konzisztencia az API-k között.
Ez az APIOps-architektúra az Azure API Managementet használja API felügyeleti platformként. Az Azure DevOps rendszerezi az API-kezelést. Az Azure Repos git-funkciókat biztosít, az Azure Pipelines pedig létrehozza a CI/CD-folyamatot.
Lehetséges használati esetek
- Api-kat fejlesztő és kezelő szervezetek
- Szigorúan szabályozott iparágak: biztosítás, banki, pénzügyi, kormányzati
Megfontolások
Ezek a szempontok implementálják az Azure Well-Architected Framework alappilléreit, amelyek a számítási feladatok minőségének javítása érdekében használható vezérelvek. További információ: Microsoft Azure Well-Architected Framework.
Biztonság
A biztonság biztosítékokat nyújt a szándékos támadások és az értékes adatokkal és rendszerekkel való visszaélés ellen. További információ: A biztonsági pillér áttekintése.
Ez a megoldás számos biztonsági előnnyel jár. Az egyes fejlesztők – és még az operátorok is – nem férnek hozzá közvetlenül az API Management-példányhoz a módosítások vagy frissítések alkalmazásához. Ehelyett a felhasználók leküldik a módosításokat egy Git-adattárba, és az elszívó és a közzétételi folyamat felolvassa és alkalmazza őket az API Management-példányra. Ez a megközelítés a minimális jogosultságok biztonsági ajánlott eljárását követi azáltal, hogy nem ad a csapatoknak írási engedélyeket az API Management szolgáltatáspéldánynak. Diagnosztikai vagy hibaelhárítási forgatókönyvekben eseti alapon korlátozott ideig adhat emelt szintű engedélyeket.
Annak érdekében, hogy az API Management-példányok az ajánlott eljárásokat használják a biztonság érdekében, kiterjesztheti ezt a megoldást az API ajánlott eljárásainak kikényszerítésére külső eszközök és egységtesztelés használatával. A Teams a pr-felülvizsgálaton keresztül korai visszajelzést adhat, ha az API-k vagy szabályzatok javasolt módosításai megsértik a szabványokat.
Az adattárengedélyek beállításán kívül fontolja meg a következő biztonsági intézkedések implementálását az API Management-példányokkal szinkronizált Git-adattárakban:
- Lekéréses kérelem (PR) áttekintése: Használjon ágakat, és védje meg az API Management-példányok állapotát képviselő ágakat attól, hogy a módosítások közvetlenül hozzájuk legyenek küldve. A négyszemű elv kikényszerítéséhez a PRS-eknek legalább egy felülvizsgálóval kell rendelkezniük.
- Nem módosítható előzmények: Csak új véglegesítések engedélyezése a meglévő módosításokon felül. A nem módosítható előzmények naplózási szempontból különösen fontosak.
- Többtényezős hitelesítés: A kéttényezős hitelesítés aktiválásának megkövetelése a felhasználók számára.
- Aláírt véglegesítések: Csak olyan aláírt véglegesítések engedélyezése, amelyek a tény után nem módosíthatók.
Költségoptimalizálás
A költségoptimalizálás a szükségtelen kiadások csökkentéséről és a működési hatékonyság javításáról szól. További információ: A költségoptimalizálási pillér áttekintése.
Az Azure díjkalkulátorával megbecsülheti költségeit.
Az API Management a következő szinteket kínálja: Használat, Fejlesztő, Alapszintű, Standard és Prémium.
A GitHub ingyenes szolgáltatást kínál. A speciális, biztonsággal kapcsolatos funkciók, például a kódtulajdonosok vagy a szükséges felülvizsgálók használatához azonban szüksége van a csapattervre. További információkért lásd a GitHub díjszabását.
Működés eredményessége
Az üzemeltetési kiválóság azokat az üzemeltetési folyamatokat fedi le, amelyek üzembe helyeznek egy alkalmazást, és éles környezetben tartják azt. További információ: A működési kiválósági pillér áttekintése.
Az APIOps növelheti a DevOps hatékonyságát az API-fejlesztés és az üzembe helyezés terén. Az egyik legkedveltebb funkció az, hogy a Git-műveletek segítségével gyorsan visszaállíthatók a váratlanul viselkedő változások. A véglegesítési gráf az összes véglegesítést tartalmazza, így segíthet a halál utáni elemzésben.
Az API-operátorok gyakran több környezetet kezelnek ugyanahhoz az API-khoz. Általában az API több fázisa van üzembe helyezve különböző API Management-példányokban vagy megosztott API Management-példányokban. A Git-adattár, amely az igazság egyetlen forrása, azt mutatja, hogy az alkalmazások mely verziói vannak jelenleg üzembe helyezve egy fürtben.
Amikor valaki lekéréses kérelmet készít a Git-adattárban, az API-operátor tudja, hogy új kódot kell áttekintenie. Ha például egy fejlesztő az OpenAPI-specifikációt használja, és létrehozza az API-implementációt, hozzáadja ezt az új kódot az adattárhoz. Az operátorok áttekinthetik a lekéréses kérelmet, és meggyőződhetnek arról, hogy a felülvizsgálatra benyújtott API megfelel az ajánlott eljárásoknak és szabványoknak.
Teljesítmény hatékonysága
A teljesítménybeli hatékonyság lehetővé teszi, hogy a számítási feladatok hatékonyan méretezhetők legyenek a felhasználók igényei szerint. További információ: Teljesítményhatékonysági pillér áttekintése.
Az APIOps számos előnnyel rendelkezik, de ahogy az API Management-környezetek növekednek, úgy a kezelésük összetettsége is. Ez a megoldás segít megfelelni az olyan kihívásoknak, mint:
- Az összes környezet és API Management-példány áttekintése.
- Az API-k és szabályzatok kritikus változásainak nyomon követése.
- Napló létrehozása az összes üzembe helyezett módosításhoz.
A forgatókönyv üzembe helyezése
A megoldás üzembe helyezése az alábbi lépéseket foglalja magában:
A portálon fejlesztheti az API-t, vagy módosíthatja az OpenAPI specifikációját egy tetszőleges eszközzel.
Ha módosítja a portált, futtathatja az elszívót, hogy automatikusan kinyerje az ÖSSZES API-t és más vonatkozó szabályzatokat, műveleteket és konfigurációkat az API Managementből. Ezeket az információkat szinkronizálhatja a Git-adattárral.
Ha szeretné, az Azure DevOps parancssori felületével hozzon létre egy új lekéréses kérelmet.
Az elszívó munkafolyamat a következő lépéseket tartalmazza:
Futtasson egy folyamatot, amely letölti a módosításokat a portálon az API Management-példányra.
-
A mi esetünkben a portálon az API Management-példányra történő módosításokat letöltő folyamat a következő fázisokkal rendelkezik: Kinyerő létrehozása, összetevők létrehozása a portálról és sablonág létrehozása.
Buildelszívó
Ez a szakasz létrehozza az elszívó kódot.
Összetevők létrehozása a portálról
Ez a szakasz futtatja az elszívót, és olyan összetevőket hoz létre, amelyek hasonlítanak a Git-adattár struktúrájához, ahogyan az alábbi képernyőképen látható:
Sablonág létrehozása
Az összetevő létrehozása után ez a szakasz létrehoz egy pr-t a platformcsapat által a felülvizsgálathoz kinyert módosításokkal.
Amikor először futtatja az elszívót, az mindent lekéri a Git-adattárból. A létrehozott lekéréses kérelem minden API-jával, szabályzatával, összetevőjével és így tovább.
A későbbi extrakciók csak a lekéréses kérelemben történő kinyerés előtt történtek módosításokkal. Néha előfordulhat, hogy a módosítások csak az API specifikációját módosítják, ami a következő példában a lekéréses kérelemre vonatkozik.
A felülvizsgáló a lekéréses kérelmekhez fordul a frissített lekéréses kérelmek megtekintéséhez. A lépés automatizálásához automatikus jóváhagyásokat is konfigurálhat.
A kérelem jóváhagyása után egy másik folyamatot indít el, amely az API Managementből a portálra tesz közzé. A példánkban a következő szakaszok vannak: buildkészítő, terminátor létrehozása és APIM-példányok közzététele.
- A buildkészítő szakasz kezeli az új API-k létrehozását.
- A build terminator szakasza kezeli a törléseket.
- Az APIM-példányok közzétételi szakasza közzéteszi az API Management-példány módosításait.
A folyamat sikeres futtatása után közzéteszi a módosításokat az API Management-példányban.
Közreműködők
Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.
Fő szerző:
- Rishabh Saha | Fő megoldástervező
A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.
Következő lépések
- Azure Pipelines
- APIOps az Azure API Managementhez
- CI/CD az API Managementhez Azure Resource Manager-sablonok használatával
- A GitOps áttekintése
- GitOps szőtt
- Oktatóanyag: Konfigurációk üzembe helyezése a GitOps használatával egy Azure Arc-kompatibilis Kubernetes-fürtön