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 ett definierat ansvarsområde och utvecklas, distribueras och skalas oberoende av varandra. 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 Functions

Azure Functions är en tjänst som möjliggör serverlösa arkitekturer i Azure. Du kan skriva funktioner på många olika språk utan att oroa dig för stödinfrastrukturen, inklusive C#, Java, Java Script, PowerShell och Python. Du kan också använda bibliotek från NuGet och Node Package Manager (npm) och 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 du vill använda, 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 medling av API-anrop. Inklusive begäran om autentisering och auktorisering, hastighetsbegränsning och kvottillämpning, omvandling av begäranden 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.