Bewerken

Delen via


Eenvoudige bedrijfsintegratie in Azure

Microsoft Entra ID
Azure API Management
Azure DNS
Azure Logic Apps
Azure Monitor

Deze referentiearchitectuur maakt gebruik van Azure Integration Services voor het organiseren van aanroepen naar back-endsystemen voor ondernemingen. De back-endsystemen kunnen SaaS-systemen (Software as a Service), Azure-services en bestaande webservices in uw onderneming bevatten.

Architectuur

Architectuurdiagram met eenvoudige bedrijfsintegratie

Een Visio-bestand van deze architectuur downloaden.

Workflow

  1. Application. De toepassing is een client die de API-gateway aanroept na verificatie met Microsoft Entra. De toepassing kan een web-app, mobiele app of een andere client zijn die HTTP-aanvragen kan indienen.

  2. Microsoft Entra-id. Wordt gebruikt om de clienttoepassing te verifiëren. De clienttoepassing verkrijgt een toegangstoken van Microsoft Entra-id en bevat het in de aanvraag voor de API-gateway.

  3. Azure API Management. API Management bestaat uit twee gerelateerde onderdelen:

    • API-gateway. De API-gateway accepteert HTTP-aanroep van de clienttoepassing, valideert het token van Microsoft Entra ID en stuurt de aanvraag door naar de back-endservice. De API-gateway kan ook aanvragen en antwoorden transformeren en antwoorden in de cache opslaan.

    • Ontwikkelaarsportal. De ontwikkelaarsportal wordt gebruikt door ontwikkelaars om de API's te detecteren en ermee te communiceren. De ontwikkelaarsportal kan worden aangepast aan de huisstijl van uw organisatie.

  4. Azure Logic Apps. Logische apps worden gebruikt om de aanroepen naar de back-endservices in te delen. Logische apps kunnen worden geactiveerd door verschillende gebeurtenissen en kunnen verschillende services aanroepen. In deze oplossing wordt Logic Apps gebruikt om de back-endservices aan te roepen en eenvoudige connectiviteit te bieden via connectors de noodzaak van aangepaste code te verminderen.

  5. back-endservices. De back-endservices kunnen elke service of line-of-business-toepassing zijn, zoals een database, een webservice of een SaaS-toepassing. De back-endservices kunnen worden gehost in Azure of on-premises.

Onderdelen

  • Integration Services is een verzameling services die u kunt gebruiken om toepassingen, gegevens en processen te integreren. In deze oplossing worden twee van deze services gebruikt: Logic Apps en API Management. Logic Apps wordt gebruikt om integratie op basis van berichten tussen systemen te vergemakkelijken en connectiviteit met connectors te vergemakkelijken. API Management wordt gebruikt om een gevel te bieden voor de back-endservices, zodat clients met een consistente interface kunnen communiceren.
    • Logic Apps is een serverloos platform voor het bouwen van bedrijfswerkstromen die toepassingen, gegevens en services integreren. In deze oplossing wordt Logic Apps gebruikt om de aanroepen naar de back-endservices te organiseren en eenvoudige connectiviteit te bieden via connectors die de behoefte aan aangepaste code verminderen.
    • API Management is een beheerde service voor het publiceren van catalogi van HTTP-API's. U kunt deze gebruiken om het hergebruik en de detectie van uw API's te bevorderen en een API-gateway te implementeren voor proxy-API-aanvragen. In deze oplossing biedt API Management aanvullende mogelijkheden, zoals snelheidsbeperking, verificatie en caching naar de back-endservices. Daarnaast biedt API Management een ontwikkelaarsportal voor clients om de API's te detecteren en ermee te communiceren.
  • Azure DNS is een hostingservice voor DNS-domeinen. Azure DNS host de openbare DNS-records voor de API Management-service. Hiermee kunnen clients de DNS-naam omgezet in het IP-adres van de API Management-service.
  • Microsoft Entra ID is een cloudservice voor identiteits- en toegangsbeheer. Ondernemingsmedewerkers kunnen Microsoft Entra-id gebruiken voor toegang tot externe en interne resources. Hier wordt entra-id gebruikt voor het beveiligen van de API Management-service met behulp van OAuth 2.0- en de ontwikkelaarsportal met behulp van Entra B2C-.

Scenariodetails

Integration Services is een verzameling services die u kunt gebruiken om toepassingen, gegevens en processen voor uw bedrijf te integreren. Deze architectuur maakt gebruik van twee van deze services: Logic Apps voor het organiseren van werkstromen en API Management voor het maken van catalogi van API's.

In deze architectuur worden samengestelde API's gebouwd door logische apps als API's te importeren. U kunt ook bestaande webservices importeren door OpenAPI-specificaties (Swagger) te importeren of SOAP-API's te importeren uit WSDL-specificaties.

De API-gateway helpt bij het loskoppelen van front-endclients van de back-end. Het kan bijvoorbeeld URL's herschrijven of aanvragen transformeren voordat ze de back-end bereiken. Het verwerkt ook veel geavanceerde problemen, zoals verificatie, CORS-ondersteuning (Cross-Origin Resource Sharing) en caching van reacties.

Potentiële gebruikscases

Deze architectuur is voldoende voor basisintegratiescenario's waarin de werkstroom wordt geactiveerd door synchrone aanroepen naar back-endservices. Een geavanceerdere architectuur met behulp van wachtrijen en gebeurtenissen bouwt voort op deze basisarchitectuur.

Aanbevelingen

Uw specifieke vereisten kunnen afwijken van de algemene architectuur die hier wordt weergegeven. Gebruik de aanbevelingen in deze sectie als uitgangspunt.

API Management

Gebruik de API Management Basic-, Standard- of Premium-lagen. Deze lagen bieden een SLA (Service Level Agreement) voor productie en bieden ondersteuning voor uitschalen binnen de Azure-regio. Doorvoercapaciteit voor API Management wordt gemeten in eenheden. Elke prijscategorie heeft een maximale uitschaling. De Premium-laag biedt ook ondersteuning voor uitschalen in meerdere Azure-regio's. Kies uw laag op basis van uw functieset en het niveau van de vereiste doorvoer. Zie prijzen voor API Management en capaciteit van een Azure API Management-exemplaar voor meer informatie.

De API Management-verbruikslaag wordt niet aanbevolen voor deze oplossing, omdat deze geen ondersteuning biedt voor de ontwikkelaarsportal die vereist is voor deze architectuur. De ontwikkelaarslaag is specifiek bedoeld voor niet-productieomgevingen en wordt niet aanbevolen voor productieworkloads. Hiervindt u een functiematrix met informatie over de verschillen tussen de lagen.

Elk Azure API Management-exemplaar heeft een standaarddomeinnaam, een subdomein van azure-api.netbijvoorbeeld contoso.azure-api.net. Overweeg om een aangepast domein voor uw organisatie te configureren.

Logic Apps

Logic Apps werkt het beste in scenario's waarvoor geen lage latentie is vereist voor een reactie, zoals asynchrone of semi langlopende API-aanroepen. Als lage latentie vereist is, bijvoorbeeld in een aanroep die een gebruikersinterface blokkeert, gebruikt u een andere technologie. Gebruik bijvoorbeeld Azure Functions of een web-API die is geïmplementeerd in Azure-app Service. Gebruik API Management om de API aan uw API-gebruikers te koppelen.

Regio

Als u de netwerklatentie wilt minimaliseren, plaatst u API Management en Logic Apps in dezelfde regio. Kies in het algemeen de regio die zich het dichtst bij uw gebruikers bevindt (of het dichtst bij uw back-endservices).

Overwegingen

Met deze overwegingen worden de pijlers van het Azure Well-Architected Framework geïmplementeerd. Dit is een set richtlijnen die u kunt gebruiken om de kwaliteit van een workload te verbeteren. Zie Microsoft Azure Well-Architected Framework voor meer informatie.

Betrouwbaarheid

Betrouwbaarheid zorgt ervoor dat uw toepassing kan voldoen aan de toezeggingen die u aan uw klanten hebt gedaan. Zie Controlelijst ontwerpbeoordeling voor betrouwbaarheidvoor meer informatie.

Bekijk de SLA's voor elke service hier

Als u API Management implementeert in twee of meer regio's met een Premium-laag, komt deze in aanmerking voor een hogere SLA. Zie prijzen voor API Management.

Back-ups

Maak regelmatig een back-up van uw API Management-configuratie. Sla uw back-upbestanden op in een locatie of Azure-regio die verschilt van de regio waarin de service wordt geïmplementeerd. Kies op basis van uw RTO een strategie voor herstel na noodgevallen:

  • Richt in een noodherstel gebeurtenis een nieuw API Management-exemplaar in, herstel de back-up naar het nieuwe exemplaar en wijs de DNS-records opnieuw aan.

  • Behoud een passief exemplaar van de API Management-service in een andere Azure-regio. Herstel regelmatig back-ups naar dat exemplaar om deze gesynchroniseerd te houden met de actieve service. Als u de service wilt herstellen tijdens een gebeurtenis voor herstel na noodgevallen, hoeft u alleen de DNS-records opnieuw te laten aanwijzen. Bij deze aanpak worden extra kosten in rekening gebracht omdat u betaalt voor de passieve instantie, maar het vermindert de hersteltijd.

Voor logische apps raden we een configuratie-as-code-benadering aan voor het maken van back-ups en het herstellen van back-ups. Omdat logische apps serverloos zijn, kunt u deze snel opnieuw maken vanuit Azure Resource Manager-sjablonen. Sla de sjablonen op in broncodebeheer, integreer de sjablonen met uw CI/CD-proces (continue integratie/continue implementatie). Implementeer de sjabloon in een gebeurtenis voor herstel na noodgevallen in een nieuwe regio.

Als u een logische app in een andere regio implementeert, werkt u de configuratie bij in API Management. U kunt de back-endeigenschap van de API bijwerken met behulp van een eenvoudig PowerShell-script.

Beveiliging

Beveiliging biedt garanties tegen opzettelijke aanvallen en misbruik van uw waardevolle gegevens en systemen. Zie voor meer informatie controlelijst ontwerpbeoordeling voor Security.

Hoewel in deze lijst niet alle aanbevolen procedures voor beveiliging volledig worden beschreven, zijn hier enkele beveiligingsoverwegingen die specifiek van toepassing zijn op deze architectuur:

  • De Azure API Management-service heeft een vast openbaar IP-adres. Beperk de toegang voor het aanroepen van Logic Apps-eindpunten tot alleen het IP-adres van API Management. Zie Binnenkomende IP-adressen beperken voor meer informatie.

  • Als u ervoor wilt zorgen dat gebruikers over de juiste toegangsniveaus beschikken, gebruikt u op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC).

  • Beveilig openbare API-eindpunten in API Management met behulp van OAuth of OpenID Connect. Als u openbare API-eindpunten wilt beveiligen, configureert u een id-provider en voegt u een JSON-validatiebeleid (Web Token) toe. Zie Een API beveiligen met OAuth 2.0 met Microsoft Entra ID en API Management voor meer informatie.

  • Maak verbinding met back-endservices vanuit API Management met behulp van wederzijdse certificaten.

  • HTTPS afdwingen op de API Management-API's.

Geheimen opslaan

Schakel wachtwoorden, toegangstoetsen of verbindingsreeksen nooit in broncodebeheer in. Als deze waarden vereist zijn, moet u deze waarden beveiligen en implementeren met behulp van de juiste technieken.

Als een logische app werkt met gevoelige gegevens, raadpleegt u Beveiligde toegang en gegevens voor werkstromen in Azure Logic Apps voor gedetailleerde richtlijnen.

API Management beheert geheimen met behulp van objecten die benoemde waarden of eigenschappen worden genoemd. Deze objecten slaan veilig waarden op waartoe u toegang hebt via API Management-beleid. Zie Benoemde waarden gebruiken in Azure API Management-beleid voor meer informatie.

Kostenoptimalisatie

Kostenoptimalisatie gaat over manieren om onnodige uitgaven te verminderen en operationele efficiëntie te verbeteren. Zie controlelijst ontwerpbeoordeling voor kostenoptimalisatievoor meer informatie.

Gebruik in ieder geval de prijscalculator om een schatting van de kosten te maken. Hier volgen enkele andere overwegingen.

API Management

Er worden kosten in rekening gebracht voor alle API Management-exemplaren wanneer ze worden uitgevoerd. Als u omhoog hebt geschaald en dit prestatieniveau niet altijd nodig hebt, schaalt u handmatig omlaag of configureert u automatisch schalen.

Logic Apps

Logic Apps maakt gebruik van een serverloos model. Facturering wordt berekend op basis van actie en connectoruitvoering. Zie Prijzen voor Logic Apps voor meer informatie.

Raadpleeg de kostensectie in Microsoft Azure Well-Architected Framework voor meer informatie.

Operationele uitmuntendheid

Operational Excellence behandelt de operationele processen die een toepassing implementeren en deze in productie houden. Zie controlelijst ontwerpbeoordeling voor Operational Excellencevoor meer informatie.

DevOps

Maak afzonderlijke resourcegroepen voor productie-, ontwikkelings- en testomgevingen. Met afzonderlijke resourcegroepen kunt u eenvoudiger implementaties beheren, testimplementaties verwijderen en toegangsrechten verlenen.

Houd rekening met de volgende factoren wanneer u resources toewijst aan resourcegroepen:

  • Levenscyclus. In het algemeen kunt u resources die dezelfde levenscyclus hebben het beste in dezelfde resourcegroep onderbrengen.

  • Toegang. Als u toegangsbeleid wilt toepassen op de resources in een groep, kunt u op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) gebruiken.

  • Facturering. U kunt samengetelde kosten voor de resourcegroep weergeven.

  • Prijscategorie voor API Management. Gebruik de Developer-laag voor ontwikkel- en test omgevingen. Als u de kosten tijdens de preproductie wilt minimaliseren, implementeert u een replica van uw productie-omgeving, voert u uw tests uit en sluit u deze af.

Implementatie

Gebruik Azure Resource Manager-sjablonen om de Azure-resources te implementeren. Volg het proces infrastructuur als code (IaC). Met sjablonen kunt u eenvoudiger implementaties automatiseren met behulp van Azure DevOps Services of andere CI/CD-oplossingen.

Staging

Overweeg de fasering van uw workloads, wat betekent dat u in verschillende fasen implementeert en validaties uitvoert in elke fase voordat u verdergaat met de volgende fase. Als u deze aanpak gebruikt, kunt u updates naar uw productieomgevingen pushen op een zeer gecontroleerde manier en onverwachte implementatieproblemen minimaliseren. Blauwgroene implementatie en Canary-releases worden aanbevolen implementatiestrategieën voor het bijwerken van live productieomgevingen. Overweeg ook een goede terugdraaistrategie te hebben voor wanneer een implementatie mislukt. U kunt bijvoorbeeld automatisch een eerdere, geslaagde implementatie opnieuw implementeren vanuit uw implementatiegeschiedenis. De --rollback-on-error vlagparameter in Azure CLI is een goed voorbeeld.

Isolatie van workloads

Plaats API Management en eventuele afzonderlijke logische apps in hun eigen afzonderlijke Resource Manager-sjablonen. Met behulp van afzonderlijke sjablonen kunt u de resources opslaan in broncodebeheersystemen. U kunt de sjablonen samen of afzonderlijk implementeren als onderdeel van een CI/CD-proces.

Versies

Telkens wanneer u de configuratie van een logische app wijzigt of een update implementeert via een Resource Manager-sjabloon, bewaart Azure een kopie van die versie en bewaart alle versies met een uitvoeringsgeschiedenis. U kunt deze versies gebruiken om historische wijzigingen bij te houden of een versie te promoveren als de huidige configuratie van de logische app. U kunt bijvoorbeeld een logische app terugdraaien naar een eerdere versie.

API Management biedt ondersteuning voor twee afzonderlijke, maar aanvullende versiebeheerconcepten:

  • Met versies kunnen API-gebruikers een API-versie kiezen op basis van hun behoeften, bijvoorbeeld v1, v2, bèta of productie.

  • Met revisies kunnen API-beheerders vaste wijzigingen aanbrengen in een API en deze wijzigingen implementeren, samen met een wijzigingslogboek om API-gebruikers te informeren over de wijzigingen.

U kunt een revisie aanbrengen in een ontwikkelomgeving en deze wijziging implementeren in andere omgevingen met behulp van Resource Manager-sjablonen. Zie Meerdere versies van uw API publiceren voor meer informatie

U kunt ook revisies gebruiken om een API te testen voordat u de wijzigingen actueel en toegankelijk maakt voor gebruikers. Deze methode wordt echter niet aanbevolen voor belastingtests of integratietests. Gebruik in plaats daarvan afzonderlijke test- of preproductieomgevingen.

Diagnose en controle

Gebruik Azure Monitor voor operationele bewaking in API Management en Logic Apps. Azure Monitor biedt informatie op basis van de metrische gegevens die voor elke service zijn geconfigureerd en is standaard ingeschakeld. Zie voor meer informatie:

Elke service heeft ook de volgende opties:

  • Voor uitgebreidere analyse en dashboarding verzendt u Logic Apps-logboeken naar Azure Log Analytics.

  • Configureer voor DevOps-bewaking Azure-toepassing Insights voor API Management.

  • API Management ondersteunt de Power BI-oplossingssjabloon voor aangepaste API-analyses. U kunt deze oplossingssjabloon gebruiken voor het maken van uw eigen analyseoplossing. Voor zakelijke gebruikers maakt Power BI rapporten beschikbaar.

Prestatie-efficiëntie

Prestatie-efficiëntie is de mogelijkheid van uw workload om te schalen om te voldoen aan de eisen die gebruikers op een efficiënte manier stellen. Zie controlelijst ontwerpbeoordeling voor prestatie-efficiëntievoor meer informatie.

Als u de schaalbaarheid van API Management wilt vergroten, voegt u waar nodig cachebeleid toe. Caching helpt ook om de belasting van back-endservices te verminderen.

Als u meer capaciteit wilt bieden, kunt u Azure API Management Basic-, Standard- en Premium-lagen uitschalen in een Azure-regio. Als u het gebruik van uw service wilt analyseren, selecteert u Capaciteitsmetrie in het menu Metrische gegevens en schaalt u vervolgens naar wens omhoog of omlaag. Het kan 15 tot 45 minuten duren voordat het upgrade- of schaalproces is toegepast.

Aanbevelingen voor het schalen van een API Management-service:

  • Houd rekening met verkeerspatronen bij het schalen. Klanten met meer vluchtige verkeerspatronen hebben meer capaciteit nodig.

  • Consistente capaciteit die groter is dan 66% kan duiden op een noodzaak om omhoog te schalen.

  • Consistente capaciteit die minder dan 20% is, kan duiden op een mogelijkheid om omlaag te schalen.

  • Voordat u de belasting in productie inschakelt, moet u uw API Management-service altijd laden met een representatieve belasting.

Met de Premium-laag kunt u een API Management-exemplaar schalen in meerdere Azure-regio's. Hierdoor komt API Management in aanmerking voor een hogere SLA en kunt u services in de buurt van gebruikers in meerdere regio's inrichten.

Het serverloze Logic Apps-model betekent dat beheerders geen schaalbaarheid van de service hoeven te plannen. De service wordt automatisch geschaald om aan de vraag te voldoen.

Volgende stappen

Voor een grotere betrouwbaarheid en schaalbaarheid gebruikt u berichtenwachtrijen en gebeurtenissen om de back-endsystemen los te koppelen. Deze architectuur wordt weergegeven in het volgende artikel in deze reeks:

Mogelijk bent u ook geïnteresseerd in deze artikelen van het Azure Architecture Center: