Skapa ett nytt API i API Management från en funktionsapp

Slutförd

Med Azure API Management-tjänsten kan du skapa ett API från en uppsättning olika mikrotjänster.

I din onlinebutik implementeras varje del av programmet som en mikrotjänst – en för produktinformationen, en för beställningsinformation och så vidare. Ett separat team hanterar varje mikrotjänst, och varje team använder kontinuerlig utveckling och leverans för att uppdatera och distribuera sin kod regelbundet. Du vill hitta ett sätt att sätta samman mikrotjänster i en enda produkt och sedan hantera produkten centralt.

I den här lektionen får du lära dig hur Azure API Management är användbart i en serverlös arkitektur genom att skapa enskilda API:er från enskilda mikrotjänster.

Serverlös arkitektur och mikrotjänster

Mikrotjänster är en populär metod för arkitekturen för distribuerade program. När du skapar ett program som en samling mikrotjänster skapar du många olika små tjänster. Varje tjänst har en definierad ansvarsdomän och utvecklas, distribueras och skalas separat. Den här modulbaserade arkitekturen resulterar i ett program som är lättare att förstå, förbättra och testa. Det gör också kontinuerlig leverans enklare eftersom du bara ändrar en liten del av hela programmet när du distribuerar en mikrotjänst.

En annan kostnadsfri trend i distribuerad programvaruutveckling är serverlös arkitektur. I den här metoden publicerar en värdorganisation en uppsättning tjänster som utvecklare kan använda för att köra sin kod. Utvecklarna behöver inte bry sig om den stödjande maskinvaran, operativsystemen, underliggande programvara och annan infrastruktur. I stället körs koden i tillståndslösa databehandlingsresurser som utlöses av begäranden. Kostnader uppstår bara när tjänsterna körs, så du betalar inte mycket för tjänster som sällan används.

Azure-funktioner

Azure Functions är en tjänst som möjliggör serverlösa arkitekturer i Azure. Du kan skriva funktioner utan att bekymra dig om den stödjande infrastrukturen på många olika språk, inklusive C#, Java, JavaScript, PowerShell och Python. Du kan använda bibliotek från NuGet och Node Package Manager (npm). Du kan också autentisera användare med OAuth-standarden från leverantörer som Active Directory, Facebook, Google och Microsoft-konto.

När du skriver en funktion väljer du en mall som ska användas beroende på hur du vill utlösa koden. Om du till exempel vill köra funktionen som svar på en HTTP-begäran använder du mallen HTTPTrigger. Du kan använda andra mallar för att köra när det finns nya meddelanden i en kö, en Blob Storage-container eller ett fördefinierat schema.

När du använder Azure Functions i en förbrukningsplan debiteras du endast för den tid som koden körs.

Azure API Management

Azure API Management är en fullständigt hanterad molntjänst som du kan använda för att publicera, skydda, transformera, underhålla och övervaka API:er. Det hjälper organisationer att publicera API:er till externa partner och interna utvecklare så att de kan frigöra potentialen i sina data och tjänster. API Management hanterar alla uppgifter som ingår i att förmedla API-anrop, inklusive autentisering och auktorisering av begäranden, hastighetsbegränsning och kvottillämpning, omvandling av begäran och svar, loggning och spårning samt API-versionshantering. Med API Management kan du skapa och hantera moderna API-gatewayer för befintliga serverdelstjänster oavsett var de finns.

Eftersom du kan publicera Azure Functions via API Management kan du använda dem för att implementera en arkitektur för mikrotjänster. varje funktion implementerar en mikrotjänst. Genom att lägga till flera funktioner i en enda API Management-produkt kan du skapa dessa mikrotjänster i ett integrerat distribuerat program. När programmet har skapats kan du använda API Management-principer för att implementera cachelagring eller säkerställa säkerhetskrav.

API Management-förbrukningsnivå

När du väljer en användningsplan för API Management kan du välja förbrukningsnivå. Förbrukningsnivån passar särskilt för mikrotjänstbaserade arkitekturer och händelsedrivna system. Det skulle till exempel vara ett bra alternativ för webb-API:et för vår onlinebutik.

Förbrukningsnivån använder samma underliggande tjänstkomponenter som de tidigare nivåerna, men använder en helt annan arkitektur baserat på delade, dynamiskt allokerade resurser. Förbrukningsnivån överensstämmer perfekt med serverlösa beräkningsmodeller. Det finns ingen infrastruktur att hantera och ingen inaktiv kapacitet. Det ger hög tillgänglighet, automatisk skalning och användningsbaserad prissättning. Allt detta gör förbrukningsnivån till ett särskilt bra val för lösningar som innebär att exponera serverlösa resurser som API:er.

I nästa enhet skapar vi en API Management-instans och lägger till en funktion i den.