API telepítések automatizálása az APIOps segítségével

Azure API Management
Azure DevOps
Azure Pipelines
GitHub

Az APIOps egy módszertan, amely a GitOps és a DevOps fogalmait alkalmazza az API üzembe helyezésére. A DevOpshoz hasonlóan a APIOps segítségével a csapattagok egyszerűen végezhetnek módosításokat, és iteratív és automatizált módon helyezhetik üzembe őket. 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

Automatizált API-telepítések architektúrájának ábrája az Azure-on APIOps használatával.

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

Workflow

  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 az OpenAPI-specifikáció vagy a választott 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 pull requestet 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

  • Azure API Management egy felügyelt szolgáltatás, amely konzisztens API-átjárókat hoz létre a háttérszolgáltatásokhoz. Ebben az architektúrában API-hívásokat irányít, ellenőrzi a hitelesítő adatokat, kikényszeríti a használati kvótákat, és naplózza a metaadatokat. Központi platformként szolgál az API-k kezeléséhez és közzétételéhez.

  • Azure DevOps a fejlesztési életciklust kezelő fejlesztési eszközök és szolgáltatások készlete. Ebben az architektúrában támogatja az API-k tervezését, kódkezelését és automatizált üzembe helyezését, amely lehetővé teszi a csapatok számára az együttműködést és az API-terjesztés egyszerűsítését.

    • Azure Pipelines egy felhőalapú szolgáltatás, amely lehetővé teszi a folyamatos integrációt és a folyamatos teljesítést (CI/CD). Ebben az architektúrában automatizálja az API-módosítások tesztelését, kiépítését és üzembe helyezését az API Management-példányon.

    • Azure Repos a kód kezeléséhez használható verziókövetési eszközök készlete, beleértve a standard Gitet is. Ebben az architektúrában API-definíciókat, szabályzatokat és konfigurációkat tárol. Minden változás egyetlen igazságforrásaként szolgál, és lekéréses kérelmeken keresztül teszi lehetővé az auditálást és az együttműködést.

Alternatívák

Ez a megoldás támogatja a Azure Repos git-funkciókat és Azure Pipelines CI/CD-munkafolyamatokhoz.

Emellett támogatja a GitHub forrásvezérlést és együttműködést, valamint a GitHub Actions a buildelési, tesztelési és üzembehelyezési folyamatok automatizálásához.

Bármilyen hasonló technológiát használhat, amely hasonló verziókövetést és CI/CD-képességeket biztosít.

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.

Lehetséges használati esetek

  • Minden olyan szervezet, amely API-kat fejleszt és kezel. APIOps használatát akár egyetlen API-val is elkezdheti az API Managementben.
  • Szigorúan szabályozott iparágak: biztosítás, banki, pénzügyi, kormányzati

Megfontolások

Ezek a szempontok implementálják a Azure Well-Architected-keretrendszer 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ó: 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ókért lásd a Biztonsági terv felülvizsgálati ellenőrzőlistát.

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 biztonsági eljárásokat használják, kiterjesztheti ezt a megoldást az API ajánlott eljárásainak kényszerítésére nem Microsoft 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:

  • Pull Request (PR) áttekintése: Használjon ágakat, és védje meg az API Management-példányok állapotát képviselő ágakat attól, hogy közvetlen módosításokkal legyenek frissítve. 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ére és a működési hatékonyság javítására összpontosít. További információt a Költségoptimalizálás tervezési felülvizsgálati ellenőrzőlistájában talál.

  • A Azure díjszabási kalkulátor használatával megbecsülheti az architektúra Azure összetevőinek költségeit.

  • Azure DevOps licencelési költségeket figyelembe kell venni az APIOpst implementáló csapatok esetében. Az APIOps-folyamatban részt vevő összes felhasználónak megfelelő Azure DevOps licenccel kell rendelkeznie. További részletekért lásd: Azure DevOps díjszabás.

    A GitHub használatakor a díjszabással és a licencekkel kapcsolatos részletekért lásd: GitHub díjszabás és GitHub Nagyvállalati licenc.

Működési kiválóság

Az Operational Excellence azokat az üzemeltetési folyamatokat fedi le, amelyek üzembe helyeznek egy alkalmazást, és éles környezetben működtetik. További információ: Az operatív kiválóság tervezési felülvizsgálati ellenőrzőlistája.

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ó, hogy a Git-műveletek segítségével visszaállíthatja a váratlanul viselkedő módosításokat. 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-tár, amely az egyedüli igaz forrás, azt mutatja, hogy az alkalmazások mely verziói vannak jelenleg telepítve egy klaszterben.

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áadják ezt az új kódot az adattárhoz. A felhasználók ellenőrizhetik a Pull Request-et (PR), és megbizonyosodhatnak arról, hogy a felülvizsgálatra benyújtott API megfelel a legjobb gyakorlatoknak és szabványoknak.

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

Az elszívó- és közzétevői folyamatok konfigurálásával kapcsolatos részletes útmutatásért tekintse meg a APIOps Azure API Management dokumentációját.

Az üzembehelyezési munkafolyamat a következőket tartalmazza:

  • API-konfigurációk kinyerése az API Managementből.
  • Pull requestek létrehozása a felülvizsgálathoz.
  • Jóváhagyott módosítások közzététele CI/CD-folyamatláncokon keresztül.

Közreműködők

Ezt a cikket Microsoft tartja fenn. Eredetileg a következő közreműködők írták.

Fő szerzők:

Nem nyilvános LinkedIn profilok megtekintéséhez jelentkezzen be a LinkedIn.

Következő lépések