Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
Töltse le az architektúra Visio fájlját.
Workflow
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 az OpenAPI-specifikáció vagy a választott eszközök használatával.
Ha egy fejlesztő leküldi a módosításokat az adattárba, a rendszer létrehoz egy pull requestet 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
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:
- Wael Kdouh | Sr. Principal Solution Architect
- Rishabh Saha | Sr. Principal Solution Architect
Nem nyilvános LinkedIn profilok megtekintéséhez jelentkezzen be a LinkedIn.
Következő lépések
- APIOps for Azure API Management
- CI/CD for API Management Azure Resource Manager sablonok használatával
- A GitOps áttekintése