Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I det här scenariot migrerar ett e-handelsföretag i resebranschen en äldre webbapp med hjälp av Azure API Management. Företaget är värd för det nya användargränssnittet som en PaaS-app (plattform som en tjänst) i Azure. Det nya användargränssnittet beror på både befintliga och nya HTTP-API:er. Dessa API:er distribueras med mer effektivt utformade gränssnitt som förbättrar prestanda, förenklar integreringen och möjliggör framtida utökningsbarhet.
Architecture
Ladda ned en Visio-fil med den här arkitekturen.
Workflow
Följande arbetsflöde motsvarar föregående diagram:
Den befintliga lokala webbappen fortsätter att använda de befintliga lokala webbtjänsterna direkt.
Anrop från den befintliga webbappen till befintliga HTTP-tjänster förblir oförändrade. Dessa anrop är interna i företagsnätverket.
API Management gör anrop från Azure till befintliga interna tjänster.
Säkerhetsteamet tillåter trafik från API Management-instansen att passera genom företagets brandvägg till befintliga lokala tjänster med hjälp av säkra transportprotokoll som Hypertext Transfer Protocol Secure (HTTPS) över Transport Layer Security (TLS).
Driftteamet tillåter endast inkommande anrop till tjänsterna från API Management-instansen. Det uppfyller detta krav genom att lägga till IP-adressen för API Management-instansen i listan över tillåtna i företagets nätverksperimeter.
En ny modul i den lokala begärandepipelinen för HTTP-tjänster (Hypertext Transfer Protocol) fungerar endast på anslutningar som har sitt ursprung externt. Pipelinen verifierar ett certifikat som API Management tillhandahåller.
Det nya API:et har följande egenskaper:
Endast API Management-instansen, som tillhandahåller API-fasaden, visar det nya API:et. Du har inte direkt åtkomst till det nya API:et.
Du utvecklar och publicerar det nya API:et som en Azure PaaS-webb-API-app.
Du konfigurerar det nya API:et med hjälp av inställningarna för funktionen Web Apps i Azure App Service för att endast acceptera den virtuella IP-adressen för API Management (VIP).
Web Apps är värd för det nya API:et med säkra transportprotokoll som HTTPS eller TLS aktiverat.
Azure App Service tillhandahåller auktoriseringsfunktioner via Microsoft Entra ID och Open Authorization (OAuth) 2.
Den nya webbläsarbaserade webbappen är beroende av API Management-instansen för både det befintliga HTTP-API:et och det nya API:et.
Rese-e-handelsföretaget kan dirigera vissa användare till det nya användargränssnittet för förhandsversion eller testning samtidigt som det gamla användargränssnittet och befintliga funktioner bevaras sida vid sida.
Konfigurera API Management-instansen för att mappa äldre HTTP-tjänster till ett nytt API-kontrakt. I den här konfigurationen känner det nya webbgränssnittet inte till integreringen med en uppsättning äldre tjänster eller API:er och nya API:er.
I framtiden kan projektteamet gradvis flytta funktioner till de nya API:erna och dra tillbaka de ursprungliga tjänsterna. Teamet hanterar dessa ändringar i API Management-konfigurationen, vilket gör att klientdelsgränssnittet inte påverkas och undviker ombyggnadsarbete.
Components
API Management är en hanteringsplattform och gateway för API:er i alla miljöer. I den här arkitekturen fungerar den som en fasad för befintliga äldre API:er och de nya API:erna. Den nya klientappen använder ett enda konsekvent gränssnitt, och teamet kan stegvis modernisera äldre backend-system bakom gränssnittet med minimal påverkan på front-end utvecklingen.
App Service är en nyckelfärdig PaaS-lösning för webbvärdtjänster som tillhandahåller färdiga funktioner som säkerhet, belastningsutjämning, automatisk skalning och automatiserad hantering. I den här arkitekturen tillhandahåller App Service flexibel nyckelfärdig värd så att DevOps-teamet kan fokusera på funktionsleverans.
Alternatives
Om organisationen planerar att flytta sin infrastruktur, inklusive de virtuella datorer som är värdar för äldre appar, helt och hållet till Azure, kan API Management fungera som en fasad för alla adresserbara HTTP-slutpunkter.
Om organisationen håller de befintliga slutpunkterna privata och inte exponerar dem offentligt kan organisationens API Management-instans länka till ett virtuellt Azure-nätverk.
När API Management är länkat till ett virtuellt Azure-nätverk kan organisationen direkt adressera serverdelstjänsten via privata IP-adresser.
I det lokala scenariot kan API Management-instansen ansluta till den interna tjänsten privat via Azure VPN Gateway och en PLATS-till-plats-VPN-anslutning (IPsec) eller Azure ExpressRoute. Det här scenariot blir sedan en hybrid av Azure och lokalt.
Organisationen kan hålla API Management-instansen privat genom att distribuera den i internt läge. Organisationen kan sedan använda distribution med Azure Application Gateway för att tillåta offentlig åtkomst för vissa API:er medan andra förblir interna. Mer information finns i Integrera API Management i ett internt virtuellt nätverk med hjälp av Application Gateway.
Organisationen kan välja att vara värd för sina API:er lokalt. En orsak till den här ändringen kan vara att organisationen inte kan flytta underordnade databasberoenden som finns i omfånget för projektet till molnet. I det här scenariot kan organisationen dra nytta av API Management lokalt med hjälp av en gateway med egen värd.
Den lokalt installerade gatewayen är en containerbaserad distribution av API Management-gatewayen som ansluter till Azure på en utgående socket. Om du vill använda gatewayer med egen värd måste du uppfylla följande krav:
Du måste distribuera självhostade gateways med hjälp av en överordnad resurs i Azure, vilket innebär extra kostnader.
Du måste använda Premium-nivån för API Management.
Scenarioinformation
Ett e-handelsföretag i resebranschen vill modernisera sin äldre, webbläsarbaserade programvarustack. Den befintliga stacken är mestadels monolitisk, men vissa SOAP-baserade HTTP-tjänster (Simple Object Access Protocol) finns från ett nytt projekt. Företaget överväger att skapa extra intäktsströmmar för att tjäna pengar på en del av sin interna immateriella egendom.
Målen för projektet är att hantera tekniska skulder, pågående underhållsförbättringar och acceleration av funktionsutveckling med färre regressionsbuggar. Projektet använder en iterativ process för att undvika risker och utför följande steg parallellt:
Utvecklingsteamet moderniserar appens serverdel, som består av relationsdatabaser som finns på virtuella datorer.
Det interna utvecklingsteamet skriver nya affärsfunktioner och exponerar den över nya HTTP-API:er.
Ett kontraktsutvecklingsteam skapar ett nytt webbläsarbaserat användargränssnitt, som Azure är värd för.
Företaget levererar nya appfunktioner stegvis. Dessa funktioner ersätter gradvis de befintliga webbläsarbaserade klient- och servergränssnittsfunktionerna lokalt som driver företagets e-handelsverksamhet.
Medlemmar i ledningsgruppen vill inte modernisera i onödan. De vill också behålla kontrollen över omfång och kostnader. För att uppnå dessa mål bestämmer de sig för att bevara sina befintliga SOAP HTTP-tjänster. De har också för avsikt att minimera ändringar i det befintliga användargränssnittet. De kan använda API Management för att hantera många av projektets krav och begränsningar.
Potentiella användningsfall
Det här scenariot belyser hur du moderniserar äldre, webbläsarbaserade programvarustackar.
Du kan använda det här scenariot för följande uppgifter:
- Se hur ditt företag kan dra nytta av att använda Azure-ekosystemet.
- Planera en tjänstmigrering till Azure.
- Lär dig hur en övergång till Azure kan påverka befintliga API:er.
Considerations
Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som du kan använda för att förbättra kvaliteten på en arbetsbelastning. För mer information, se Well-Architected Framework.
Reliability
Tillförlitlighet hjälper till att säkerställa att ditt program kan uppfylla de åtaganden som du gör gentemot dina kunder. Mer information finns i Checklista för designgranskning för tillförlitlighet.
Aktivera tillgänglighetszoner när du distribuerar DIN API Management-instans. Alternativet för att distribuera API Management till tillgänglighetszoner är endast tillgängligt på Premium-tjänstnivåerna.
Använd tillgänglighetszoner som har extra gatewayinstanser distribuerade till olika regioner. Den här kombinationen förbättrar tjänstens tillgänglighet om en region kopplas från. Distribution av flera regioner är endast tillgängligt på Premium-tjänstnivån.
Integrera med Application Insights, som visar mått via Azure Monitor för övervakning. Du kan till exempel använda kapacitetsmåttet för att fastställa den totala belastningen på API Management-resursen och om du behöver fler utskalningsenheter. Spåra resurskapacitet och hälsa för att förbättra tillförlitligheten.
Se till att underordnade beroenden, till exempel serverdelstjänster som är värdar för DE API:er som API Management omfattar, också är motståndskraftiga.
Kostnadsoptimering
Kostnadsoptimering fokuserar på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Checklista för designgranskning för kostnadsoptimering.
API Management har åtta nivåer:
- Förbrukning
- Utvecklare
- Basic och Basic v2
- Standard och Standard v2
- Premium och Premium v2
Mer information om skillnaderna på dessa nivåer finns i API Management-priser.
Du kan skala API Management genom att lägga till och ta bort enheter. Varje enhets kapacitet beror på dess nivå.
Note
Du kan använda nivån Utvecklare för att utvärdera API Management-funktioner. Använd den inte för produktion.
Om du vill visa beräknade kostnader för dina distributionsbehov kan du ändra antalet skalningsenheter och App Service-instanser i Priskalkylatorn för Azure.
Contributors
Microsoft ansvarar för den här artikeln. Följande deltagare skrev den här artikeln.
Huvudförfattare:
- Ben Gimblett | Senior kundtekniker
Annan deltagare:
- Andrew Cardy | Senior programvarutekniker
Om du vill se linkedin-profiler som inte är offentliga loggar du in på LinkedIn.
Nästa steg
- Översikt över App Service
- Översikt av API Management
- Konfigurera mellanlagringsmiljöer i App Service
- Transformera och skydda ditt API
- Utforska App Service