När du ska använda Azure API Management
Nu ska vi diskutera några scenarier som illustrerar när det är lämpligt att använda Azure API Management. Med hjälp av matleveranstjänsten som exempel ska vi undersöka API:s livscykelhantering med avseende på standardisering av API:er, centralisering av API-hantering och exponering samt förbättrad API-säkerhet. Vi kan använda följande kriterier för att avgöra om Azure API Management är ett lämpligt val för att hantera och publicera organisationens inventering av API:er:
Beslutsvillkor
Villkor | Analys |
---|---|
Antal API:er | Det viktigaste är antalet API:er som du hanterar. Ju fler API:er du har distribuerat, desto större är behovet av distributionsstandardisering och centralisering av API-kontroll. |
Hastighet för API-ändringar | Nästa övervägande är den hastighet med vilken din organisation implementerar API-revisioner och versioner. Ju snabbare du skapar API-revisioner och publicerar nya API-versioner, desto större är behovet av ett robust och flexibelt versionskontrollsystem. |
API-administrationsbelastning | Det sista du bör tänka på är hur mycket principomkostnader du använder för dina API:er. Principer som användningskvoter, anropsfrekvensgränser, omvandlingar av begäranden och validering av begäranden. Ju fler konfigurationer och alternativ dina API:er kräver, desto större är behovet av standardiserade och centraliserade principimplementeringar. |
Tillämpa kriterierna
Azure API Management är det rätta valet för att hantera API:er via deras livscykel när du har en stor API-distribution som ändras ofta och kräver betydande principomkostnader. Dessa kriterier gäller dock inte lika för alla användningsfall. Låt oss överväga hur dessa kriterier gäller för användningsfallen för vårt scenario.
Ska du använda Azure API Management för att standardisera API:er?
Genom att aktivera hantering av flera API:er från ett enda administrativt gränssnitt gör Azure API Management det enklare att skapa konsekvens mellan flera API:er. Du kan standardisera många API-funktioner, inklusive:
- Specifikationer. Standardisering av API-specifikationer – till exempel användning av REST för alla API:er och användning av ett konsekvent namngivningsschema för JSON-namn/värde-par – minskar utvecklingstiden, minskar felen och gör det möjligt för din organisation att svara snabbare på kundförslag och marknadskrafter.
- Dokumentation. Genom att standardisera API-dokumentationen kan utvecklare snabbt komma igång med ett API. Det minskar också frågor om teknisk support och uppmuntrar utvecklare att använda fler av dina API:er.
- URL:er. Att standardisera bas-URL:en för dina API:er minskar konsumentfelen och ger dina API-distributioner ett mer professionellt utseende.
- Analys. Genom att standardisera API-analys kan hanteringsteam och tekniker jämföra användning och prestanda mellan flera API:er.
- Föreskrifter. För API:er som måste uppfylla myndighets- eller branschregler hjälper standardisering till att säkerställa efterlevnad för alla API:er.
I de flesta fall utökas behovet av standardisering som:
- Antalet API:er växer.
- Den hastighet med vilken API:erna revideras ökar.
- API-administrationsbelastningen blir större.
Det här behovet gäller för scenariot med matleveransplattformen, som kräver konsekvens mellan API:erna för mobilappen, webbappen och partnerrestaurangerna.
Ska du använda Azure API Management för att centralisera API-åtgärder?
Azure API Management förbättrar centraliseringen av alla API-åtgärder genom att ta flera API:er under ett enda administrativt paraply. Utan en API-hanteringstjänst är varje API på egen hand när det gäller administration, distribution och utvecklaråtkomst. Den här decentraliserade modellen resulterar ofta i duplicerade insatser och ökade omkostnader. Centralisering av API-åtgärder kan resultera i följande fördelar:
- Administration. Tillämpa administrativa åtgärder, till exempel skapande av principer, användarhantering och analys, på en enda plats, till exempel det administrativa gränssnitt som tillhandahålls av Azure API Management. Genom att centralisera administratörsuppgifter blir det enklare och effektivare att köra dessa uppgifter.
- Distribution. Dirigera alla API-begäranden via en enda bas-URL, till exempel slutpunkten som skapats av Azure API Management-gatewayen. Distributionscentralisering gör det enklare att tillämpa principer och tillämpa transformeringar.
- Utvecklaråtkomst. Placera alla utvecklarresurser , till exempel dokumentation, kodexempel, testning och prenumerationer, på en enda plats, till exempel utvecklarportalen i Azure API Management. Genom att centralisera utvecklaråtkomsten blir det enklare för utvecklare att hitta och använda dina API:er.
De effektivitetsvinster som uppstår vid centralisering av API-åtgärder tenderar att öka med antalet API:er och med den totala administrativa belastningsstorleken som du lägger på dina API:er. Att ha centraliserade API:er är en stor hjälp när API:er uppdateras ofta eftersom det möjliggör ett enda versionsschema för alla produkter.
Alla dessa faktorer gäller starkt för vårt scenario med matleveransplattformen. Till exempel gör centraliserad konsumentåtkomst via utvecklarportalen det enklare att registrera nya utvecklare, vilket förbättrar intäktsgenereringen av plattformens API:er.
Ska du använda Azure API Management för att skydda åtkomsten till dina API:er?
Azure API Management har utformats med API-säkerhet i åtanke. Så många organisationer förlitar sig på API:er för internt och externt utbyte av data mellan appar och enheter. En slumpmässig eller inkonsekvent säkerhetsstrategi är bara att be om problem. En korrekt API-säkerhetsstrategi omfattar följande baser:
- Behörigheter. Kontrollera vem som kan arbeta med ett API och vad de kan göra med det. I Azure API Management blir det enklare och effektivare att använda behörigheter för att kontrollera API-åtkomsten genom att ha alla API-användare som användare och kunna organisera dessa användare i grupper.
- Åtkomst. Tillåt endast behöriga användare att skicka begäranden. Med Azure API Management förser utvecklarportalen användarna med prenumerationsnycklar, och du kan begränsa åtkomsten till API:er med hjälp av flera former av autentisering och JSON-webbtoken.
- Skydd. Skydda API:et från skadlig användning. Med Azure API Management kan du begränsa API-åtkomsten med hjälp av hastighetsgränser och användningskvoter för att förhindra missbruk av konsumenter (avsiktligt eller oavsiktligt) av API:et.
- Efterlevnad. Kontrollera att dina API:er uppfyller alla företags- eller myndighetssäkerhetsprinciper. Att ha alla dina API:er tillsammans i Azure API Management gör det enklare att konfigurera dessa API:er med säkerhetsprinciper som uppnår efterlevnad.
Ju fler API:er du hanterar, desto större är behovet av säkerhet. Att ha fler API:er innebär en större attackyta och en större risk för oavsiktliga dataintrång eller läckor. Ju oftare du ändrar dina API:er, desto större är chansen att en revision eller ny version upptäcker ett säkerhetsfel.
Dessa säkerhetsproblem är av största vikt i vårt scenario för livsmedelsleverans. Vår plattform genererar och lagrar en hel del känsliga data, inklusive restaurangbetalningar, kundnamn och adresser samt leveransfordonsplatser.