API-üzemelő példányok automatizálása az APIOps használatával

Azure API Management
Azure DevOps
Azure Pipelines

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

Az APIOps azure-beli APIOps használatával történő automatizált API-üzemelő példányok architektúrájának ábrája.

Töltse le az architektúra Visio-fájlját.

Munkafolyamat

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. A kérelem automatikusan jóváhagyható vagy felülvizsgálható a szükséges vezérlési szinttől függően.

  6. 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.

  7. 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.

  8. A módosítások felülvizsgálatra kerülnek, és a jóváhagyás után egyesülnek.

  9. 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:

  • 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ó:

      Az

      • 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.

        Képernyőkép a

  • 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.

    Képernyőkép egy példa lekéréses kérelemről, amely a

  • 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.

    Képernyőkép az APIM-publish-to-portal folyamat szakaszairól.

    • 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.

    Képernyőkép az APIM-publish-to-portal példafuttatásának feladatairól, egy folyamatról.

    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ő:

A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.

Következő lépések