Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatbejelentkezni vagymódosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatjamódosítani a címtárat.
Ez a referenciaarchitektúra az Azure Integration Services használatával szervezi a vállalati háttérrendszerekbe irányuló hívásokat. A háttérrendszerek tartalmazhatnak szolgáltatott szoftvereket (SaaS), Azure-szolgáltatásokat és meglévő webszolgáltatásokat a vállalatban.
Architektúra
Töltse le az architektúra Visio-fájlját.
Workflow
alkalmazás. Az alkalmazás egy ügyfél, amely meghívja az API-átjárót a Microsoft Entra hitelesítése után. Az alkalmazás lehet webalkalmazás, mobilalkalmazás vagy bármely más ügyfél, amely HTTP-kéréseket tud küldeni.
Microsoft Entra-azonosító. Az ügyfélalkalmazás hitelesítésére szolgál. Az ügyfélalkalmazás lekér egy hozzáférési jogkivonatot a Microsoft Entra-azonosítóból, és tartalmazza azt az API-átjáróra irányuló kérésben.
Azure API Management. Az API Management két kapcsolódó összetevőből áll:
API-átjáró. Az API-átjáró http-hívást fogad az ügyfélalkalmazásból, ellenőrzi a jogkivonatot a Microsoft Entra-azonosítóból, és továbbítja a kérést a háttérszolgáltatásnak. Az API-átjáró átalakíthatja a kéréseket és válaszokat, valamint gyorsítótárazhatja a válaszokat.
Fejlesztői portál. A fejlesztők a fejlesztői portál használják az API-k felderítésére és kezelésére. A fejlesztői portál testre szabható a szervezet arculatának megfelelően.
Azure Logic Apps. A logikai alkalmazások a háttérszolgáltatások hívásainak vezénylésére szolgálnak. A logikai alkalmazásokat számos esemény aktiválhatja, és számos szolgáltatást hívhat meg. Ebben a megoldásban a Logic Apps meghívja a háttérszolgáltatásokat, és összekötőken keresztül biztosít kapcsolatot, csökkentve az egyéni kód szükségességét.
háttérszolgáltatások. A háttérszolgáltatások lehetnek bármilyen szolgáltatás vagy üzletági alkalmazás, például adatbázis, webszolgáltatás vagy SaaS-alkalmazás. A háttérszolgáltatások üzemeltethetők az Azure-ban vagy a helyszínen.
Összetevők
-
Az Integration Services olyan szolgáltatások gyűjteménye, amelyekkel alkalmazásokat, adatokat és folyamatokat integrálhat. Ebben a megoldásban két szolgáltatást használunk: Logic Apps és API Management. A Logic Apps a rendszerek üzenetalapú integrációjának megkönnyítésére és az összekötőkkel való kapcsolat megkönnyítésére szolgál. Az API Management a háttérszolgáltatások homlokzatának biztosítására szolgál, így egységes felületet biztosít az ügyfelek számára a kommunikációhoz.
- A Logic Apps egy kiszolgáló nélküli platform olyan vállalati munkafolyamatok létrehozásához, amelyek alkalmazásokat, adatokat és szolgáltatásokat integrálnak. Ebben a megoldásban a Logic Apps a háttérszolgáltatásokhoz érkező hívások vezénylésére és összekötőken keresztüli kapcsolódásra szolgál, csökkentve az egyéni kód szükségességét.
- Az API Management http API-k katalógusainak közzétételére szolgáló felügyelt szolgáltatás. Használatával előléptetheti az API-k újrafelhasználhatóságát és felderíthetőségét, és üzembe helyezhet egy API-átjárót a proxy API-kérelmekben. Ebben a megoldásban az API Management további képességeket biztosít, például a sebességkorlátozást, a hitelesítést és a háttérszolgáltatások gyorsítótárazását. Az API Management emellett egy fejlesztői portált is biztosít az ügyfelek számára az API-k felderítéséhez és kezeléséhez.
- Az Azure DNS a DNS-tartományokhoz használható üzemeltetési szolgáltatás. Az Azure DNS üzemelteti az API Management szolgáltatás nyilvános DNS-rekordjait. Ez lehetővé teszi, hogy az ügyfelek feloldják a DNS-nevet az API Management szolgáltatás IP-címére.
- A Microsoft Entra ID egy felhőalapú identitás- és hozzáférés-kezelési szolgáltatás. A vállalati alkalmazottak a Microsoft Entra ID-jával férhetnek hozzá külső és belső erőforrásokhoz. Itt az Entra ID szolgál az API Management szolgáltatás OAuth 2.0 általi védelmére, valamint a fejlesztői portál Microsoft Entra External ID általi biztosítására.
Forgatókönyv részletei
Az Integration Services olyan szolgáltatások gyűjteménye, amelyekkel alkalmazásokat, adatokat és folyamatokat integrálhat a vállalat számára. Ez az architektúra két ilyen szolgáltatást használ: a Logic Apps a munkafolyamatok vezénylésére, az API Management pedig API-k katalógusainak létrehozására.
Ebben az architektúrában az összetett API-k a logikai alkalmazások API-kként való importálásával jönnek létre. A meglévő webszolgáltatásokat openAPI (Swagger) specifikációk importálásával vagy SOAP API-k WSDL-specifikációkból való importálásával is importálhatja.
Az API-átjáró segít leválasztani az előtérbeli ügyfeleket a háttérrendszerről. Átírhatja például az URL-címeket, vagy átalakíthatja a kéréseket, mielőtt elérnék a háttérrendszert. Emellett számos horizontális szempontot is kezel, például a hitelesítést, a forrásközi erőforrás-megosztást (CORS) és a válasz gyorsítótárazását.
Lehetséges használati esetek
Ez az architektúra elegendő olyan alapvető integrációs forgatókönyvekhez, amelyekben a munkafolyamatot a háttérszolgáltatások szinkron hívásai indítják el. Az üzenetsorokat és eseményeket használó kifinomultabb architektúra erre az alapszintű architektúrára épül.
Ajánlások
A konkrét követelmények eltérhetnek az itt látható általános architektúrától. A jelen szakaszban leírt javaslatokat tekintse kiindulópontnak.
API Management
Használja az API Management Basic, Standard vagy Premium szintet. Ezek a szintek éles szolgáltatási szintű szerződést (SLA) kínálnak, és támogatják a vertikális felskálázást az Azure-régióban. Az API Management átviteli kapacitását egységekben mérik. Minden tarifacsomag maximális felskálázással rendelkezik. A prémium szint több Azure-régióban is támogatja a vertikális felskálázást. Válassza ki a szintet a funkciókészlet és a szükséges átviteli sebesség szintje alapján. További információkért tekintse meg egy Azure API Management-példány API Management-díjszabását és kapacitását.
Ehhez a megoldáshoz nem ajánlott az API Management-használat szintje, mert nem támogatja az architektúrához szükséges fejlesztői portált. A fejlesztői szint kifejezetten nem éles környezetekhez készült, és éles számítási feladatokhoz nem ajánlott. A szintek közötti különbségek megtekintéséhez tekintse meg az Azure API Management-szintek funkcióalapú összehasonlítását.
Minden Azure API Management-példányhoz tartozik egy alapértelmezett tartománynév, amely például azure-api.neta tartomány altartományacontoso.azure-api.net. Fontolja meg egyéni tartomány konfigurálását a szervezet számára.
Logic Apps
A Logic Apps olyan helyzetekben működik a legjobban, amelyek nem igényelnek alacsony késést a válaszhoz, például aszinkron vagy félig hosszú ideig futó API-hívásokhoz. Ha alacsony késésre van szükség, például egy felhasználói felületet letiltó hívásban, használjon másik technológiát. Használhatja például az Azure Functionst vagy a Azure-alkalmazás Szolgáltatásban üzembe helyezett webes API-t. Az API Management használatával az API-t az API-felhasználók elé hatja.
Régió
A hálózati késés minimalizálása érdekében helyezze az API Managementet és a Logic Appst ugyanabba a régióba. Általában válassza ki a felhasználókhoz (vagy a háttérszolgáltatásokhoz legközelebb eső) régiót.
Megfontolások
Ezek a szempontok implementálják az Azure Well-Architected Framework alappilléreit, amely a számítási feladatok minőségének javítására használható vezérelvek készlete. További információ: Microsoft Azure Well-Architected Framework.
Megbízhatóság
A megbízhatóság biztosítja, hogy az alkalmazás megfeleljen az ügyfelek felé vállalt kötelezettségeknek. További információ: Megbízhatóságitervezési felülvizsgálati ellenőrzőlistája.
Tekintse át az egyes szolgáltatásokra vonatkozó SLA-kat, itt
Ha az API Managementet két vagy több prémium szintű régióban helyezi üzembe, az magasabb SLA-ra jogosult. Lásd az API Management díjszabását.
Biztonsági másolatok
Rendszeresen készítsen biztonsági másolatot az API Management konfigurációjáról. A biztonsági mentési fájlokat olyan helyen vagy Azure-régióban tárolja, amely eltér a szolgáltatás üzembe helyezésének régiójától. Az RTO alapján válasszon vészhelyreállítási stratégiát:
Vészhelyreállítási esemény esetén építsen ki egy új API Management-példányt, állítsa vissza a biztonsági mentést az új példányra, és állítsa újra a DNS-rekordokat.
Az API Management szolgáltatás passzív példányának megőrzése egy másik Azure-régióban. A biztonsági másolatok rendszeres visszaállítása az adott példányra, hogy szinkronban maradjon az aktív szolgáltatással. Ha egy vészhelyreállítási esemény során szeretné visszaállítani a szolgáltatást, csak a DNS-rekordokat kell újrapontolnia. Ez a megközelítés további költségekkel jár, mivel a passzív példányért fizet, de csökkenti a helyreállítási időt.
A logikai alkalmazások esetében a biztonsági mentés és a visszaállítás konfigurációs mint kód szerinti megközelítését javasoljuk. Mivel a logikai alkalmazások kiszolgáló nélküliek, gyorsan létrehozhatja őket az Azure Resource Manager-sablonokból. Mentse a sablonokat a forrásvezérlőben, és integrálja a sablonokat a folyamatos integrációs/folyamatos üzembe helyezési (CI/CD) folyamattal. Vészhelyreállítási esemény esetén helyezze üzembe a sablont egy új régióban.
Ha egy logikai alkalmazást egy másik régióban helyez üzembe, frissítse a konfigurációt az API Managementben. Az API háttértulajdonságát egy alapszintű PowerShell-szkripttel frissítheti.
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ó: Biztonságitervezési felülvizsgálati ellenőrzőlistája.
Bár ez a lista nem írja le teljesen az összes ajánlott biztonsági eljárást, íme néhány biztonsági szempont, amelyek kifejezetten erre az architektúrára vonatkoznak:
Az Azure API Management szolgáltatás rögzített nyilvános IP-címmel rendelkezik. Korlátozza a Logic Apps-végpontok meghívásának hozzáférését csak az API Management IP-címére. További információ: Bejövő IP-címek korlátozása.
Annak érdekében, hogy a felhasználók megfelelő hozzáférési szintekkel rendelkezzenek, használja az Azure szerepköralapú hozzáférés-vezérlést (Azure RBAC).
Nyilvános API-végpontok védelme az API Managementben az OAuth vagy az OpenID Connect használatával. A nyilvános API-végpontok védelméhez konfiguráljon egy identitásszolgáltatót, és adjon hozzá egy JSON Web Token (JWT) érvényesítési szabályzatot. További információ: API védelme az OAuth 2.0 és a Microsoft Entra ID és AZ API Management használatával.
Csatlakozzon az API Management háttérszolgáltatásaihoz kölcsönös tanúsítványokhasználatával.
HTTPS kényszerítése az API Management API-kban.
Titkos kódok tárolása
Soha ne tároljon jelszavakat, hozzáférési kulcsokat és kapcsolati sztringekat a forrásvezérlőben. Ha ezekre az értékekre van szükség, a megfelelő technikákkal biztonságossá teheti és üzembe helyezheti ezeket az értékeket.
Ha egy logikai alkalmazás bizalmas adatokkal dolgozik, részletes útmutatást Az Azure Logic Apps munkafolyamatainak biztonságos hozzáférése és adatai.
Az API Management névvel ellátott értékek vagy tulajdonságok nevű objektumok használatával kezeli a titkos kulcsokat. Ezek az objektumok biztonságosan tárolják az API Management-házirendeken keresztül elérhető értékeket. További információ: Elnevezett értékek használata az Azure API Management-szabályzatokban.
Költségoptimalizálás
A költségoptimalizálás a szükségtelen kiadások csökkentésének és a működési hatékonyság javításának módjairól szól. További információ: Költségoptimalizálásitervezési felülvizsgálati ellenőrzőlistája.
A legtöbb esetben az Azure-díjkalkulátorral megbecsülheti költségeit. Íme néhány egyéb szempont.
API Management
A futtatásukkor az összes API Management-példányért díjat számítunk fel. Ha felskálázott, és nem mindig van szüksége erre a teljesítményszintre, manuálisan leskálázhatja vagy konfigurálhatja az automatikus skálázást.
Logic Apps
A Logic Apps kiszolgáló nélküli modellt használ. A számlázás kiszámítása művelet és összekötő végrehajtása alapján történik. További információkért tekintse meg a Logic Apps díjszabását.
További információért lásd a Microsoft Azure Well-Architected Framework költségekkel kapcsolatos részét.
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 tartják azt. További információ: Működési kiválóságitervezési felülvizsgálati ellenőrzőlistája.
DevOps
Külön erőforráscsoportokat hozhat létre éles, fejlesztési és tesztelési környezetekhez. A külön erőforráscsoportok használata megkönnyíti az üzemelő példányok felügyeletét, a tesztkörnyezetek törlését és a hozzáférési jogok kiosztását.
Amikor erőforrásokat rendel az erőforráscsoportokhoz, vegye figyelembe az alábbi tényezőket:
Életciklus. Általában érdemes az azonos életciklusú erőforrásokat ugyanabba az erőforráscsoportba helyezni.
Hozzáférés. Ha hozzáférési szabályzatokat szeretne alkalmazni egy csoport erőforrásaira, használhatja az Azure RBAC-t.
Számlázás. Megtekintheti az erőforráscsoport összesítő költségeit.
Az API Management tarifacsomagja. Használja a fejlesztői szintet a fejlesztési és tesztelési környezetekhez. Az előkészületek költségeinek minimalizálása érdekében helyezze üzembe az éles környezet egy replikáját, majd a tesztek futtatása után állítsa le a replikát.
Telepítés
Az Azure Resource Manager-sablonok használatával helyezze üzembe az Azure-erőforrásokat, kövesse az infrastruktúrát Kód (IaC) folyamatként. A sablonok megkönnyítik az üzembe helyezés automatizálását az Azure DevOps Services vagy más CI/CD-megoldások használatával.
Előkészítés
Fontolja meg a számítási feladatok átmeneti előkészítését, ami azt jelenti, hogy az egyes szakaszokban különböző szakaszokban kell üzembe helyezést és érvényesítést futtatni, mielőtt továbblépne a következőre. Ha ezt a módszert használja, a frissítéseket szigorúan ellenőrzött módon küldheti le az éles környezetekbe, és minimalizálhatja a nem várt üzembe helyezési problémákat.
A kék-zöld üzembe helyezés és a Canary-kiadások ajánlott üzembe helyezési stratégiák az élő éles környezetek frissítéséhez. Érdemes lehet egy jó visszaállítási stratégiát is figyelembe venni az üzembe helyezés meghiúsulása esetén. Például automatikusan újra üzembe helyezhet egy korábbi, sikeres üzembe helyezést az üzembe helyezési előzményekből. Az --rollback-on-error Azure CLI jelzőparamétere jó példa.
Számítási feladatok elkülönítése
Helyezze az API Managementet és az egyes logikai alkalmazásokat a saját különálló Resource Manager-sablonjaiba. Külön sablonok használatával az erőforrásokat forrásvezérlő rendszerekben tárolhatja. A sablonokat egy CI/CD-folyamat részeként együtt vagy egyenként is üzembe helyezheti.
Verziók
Minden alkalommal, amikor módosítja egy logikai alkalmazás konfigurációját, vagy egy Resource Manager-sablonon keresztül telepíti a frissítést, az Azure megőrzi annak a verziónak a másolatát, és megőrzi a futtatási előzményeket tartalmazó összes verziót. Ezekkel a verziókkal nyomon követheti az előzménymódosításokat, vagy előléptethet egy verziót a logikai alkalmazás aktuális konfigurációjaként. Például visszaállíthat egy logikai alkalmazást egy korábbi verzióra.
Az API Management két különálló, de egymást kiegészítő verziószámozási fogalmat támogat:
A verziók lehetővé teszik, hogy az API-felhasználók az igényeiknek megfelelően válasszanak egy API-verziót, például 1-es, v2-es, bétaverziós vagy éles verziót.
A módosítások lehetővé teszik, hogy az API-rendszergazdák nem törhető módosításokat hajtsanak végre egy API-ban, és üzembe helyezhesse őket, valamint egy változásnaplót, amely tájékoztatja az API-felhasználókat a változásokról.
Egy fejlesztési környezetben elvégezheti a módosítást, és resource manager-sablonokkal üzembe helyezheti a módosításokat más környezetekben. További információ: Az API több verziójának közzététele
Változatokkal tesztelheti az API-t, mielőtt a módosításokat aktuálissá és akadálymentessé tenné a felhasználók számára. Ez a módszer azonban nem ajánlott terhelésteszteléshez vagy integrációs teszteléshez. Ehelyett használjon külön teszt- vagy előkészületi környezetet.
Diagnosztika és figyelés
Az Azure Monitort az API Management és a Logic Apps operatív monitorozásához is használhatja. Az Azure Monitor az egyes szolgáltatásokhoz konfigurált metrikák alapján biztosít információkat, és alapértelmezés szerint engedélyezve van. További információk:
- A közzétett API-k monitorozása
- Az állapot monitorozása, diagnosztikai naplózás beállítása és riasztások bekapcsolása az Azure Logic Appshez
Az egyes szolgáltatások az alábbi lehetőségeket is kínálják:
A mélyebb elemzéshez és az irányítópultokhoz küldjön Logic Apps-naplókat az Azure Log Analyticsnek.
A DevOps monitorozásához konfigurálja a Azure-alkalmazás Insightst az API Managementhez.
Az API Management támogatja a Power BI-megoldássablont az egyéni API-elemzésekhez. Ezt a megoldássablont használhatja saját elemzési megoldás létrehozásához. Üzleti felhasználók számára a Power BI elérhetővé teszi a jelentéseket.
Teljesítményhatékonyság
A teljesítményhatékonyság az a képesség, hogy a számítási feladatok skálázhatók, hogy hatékonyan megfeleljenek a felhasználók által támasztott követelményeknek. További információ: Teljesítményhatékonyságtervezési felülvizsgálati ellenőrzőlistája.
Az API Management méretezhetőségének növeléséhez szükség esetén adjon hozzá gyorsítótárazási szabályzatokat . A gyorsítótárazás a háttérszolgáltatások terhelésének csökkentésében is segít.
A nagyobb kapacitás érdekében skálázhatja az Azure API Management Basic, Standard és Premium szintjeit egy Azure-régióban. A szolgáltatás használatának elemzéséhez válassza a Kapacitásmetrika lehetőséget a Metrikák menüben, majd szükség szerint vertikális felskálázást vagy leskálázást. A frissítési vagy skálázási folyamat alkalmazása 15-45 percig tarthat.
Javaslatok egy API Management-szolgáltatás skálázására:
Skálázáskor vegye figyelembe a forgalmi mintákat. A volatilisebb forgalmi mintákkal rendelkező ügyfeleknek nagyobb kapacitásra van szükségük.
A 66%-nál nagyobb konzisztens kapacitás a vertikális felskálázás szükségességét jelezheti.
A 20%-nál kisebb konzisztens kapacitás a vertikális leskálázás lehetőségét jelezheti.
Mielőtt engedélyezi a terhelést az éles környezetben, mindig tesztelje az API Management szolgáltatást egy reprezentatív terheléssel.
A Prémium szinttel több Azure-régióban skálázhat egy API Management-példányt. Így az API Management magasabb szintű SLA-ra jogosult, és lehetővé teszi a szolgáltatások több régióban lévő felhasználók közelében történő kiépítését.
A Logic Apps kiszolgáló nélküli modellje azt jelenti, hogy a rendszergazdáknak nem kell megtervezni a szolgáltatás méretezhetőségét. A szolgáltatás automatikusan méretez, hogy megfeleljen az igényeknek.
Következő lépések
Kapcsolódó erőforrások
A nagyobb megbízhatóság és skálázhatóság érdekében üzenetsorok és események használatával válassza le a háttérrendszereket. Ez az architektúra a következő cikkben jelenik meg ebben a sorozatban:
Az Azure Architecture Center alábbi cikkei is érdekelhetik: