Vad är Azure Functions?

Slutförd

Du följer Tailspin Space Game-webbteamet när de diskuterar hur man bäst kan uppfylla nya marknadsföringskrav som drivs av ledningen. Teamet måste integrera viss serverlös teknik, särskilt Azure Functions, i sin DevOps-process.

Vi hör av oss till teamet.

De nya kraven

Irwin: Tack för mötet med så kort varsel. Saker och ting värms upp, och marknadsföringsteamet har gett några löften som kan komplicera saker för oss alla. De gillar verkligen vår webbplats. De tror att rankningslistan kan användas för att marknadsföra spelet när vi går mot den slutliga lanseringen och därefter. De vill skala ut det långt utöver vad vi ursprungligen hade planerat.

Mara: Det är bra, eller hur? Vi är i Azure, så vi kan skala ut tjänsten så mycket som behövs.

Irwin: De vill bara kunna integrera topplistedata i sina egna program. De tycker att det skulle vara riktigt coolt att ha samma rankningsalternativ på vår webbplats, i spelet, på spelgranskningswebbplatser och även på externa bloggar och personliga webbplatser. En utmaning är att spelmotorteamet för närvarande äger produktionsdatabasen som vi hämtar topplistedata från. De tycker att de bör bygga och äga API:et framöver.

Andy: Mara, har du några tankar?

Mara: jag är säker på att vi kan komma på något. Här är mina anteckningar:

  • Vi måste leverera snabbt, så vi måste hitta en lösning där vi kan använda vår kod och våra kunskaper.
  • Vi måste omstrukturera en liten funktion till en oberoende tjänst.
  • Vi behöver minimera de administrativa omkostnaderna i produktionen.
  • Vi måste ha en enorm skala utan att göra ett massivt åtagande.

Teamet nickar överens.

Det fungerar på min dator

Mötet avslutas. Nästa morgon dyker Andy upp på Maras kontor för en improviserad pratstund.

Andy: Jag har det! Jag hittade en lösning som uppfyller alla våra krav för ranknings-API:et. Det är ett serverlöst erbjudande som heter Azure Functions.

Mara: Det är bra! Hur lång tid innan vi har något vi kan demonstrera?

Andy: Jag har redan börjat på något. Jag förgrenade vårt GitHub-repo och refaktorerade koden för ledertavlan till ett nytt Azure Functions-projekt. Den exponerar rankningslistans data via en enkel HTTP GET-begäran. Jag har också uppdaterat webbplatsen för att använda den slutpunkten när jag begär rankningslistan, och alla andra kan göra detsamma.

Mara: Det här låter som exakt vad vi behöver. Jag kan hjälpa till att utöka den befintliga CI/CD-pipelinen för att stödja skapande och distribution av denna applikation som vi gör för huvudsajtprojektet.

Not

I den här modulen fokuserar vi inte på hur du ansluter din app till Azure Functions. Om du är intresserad kan du granska källkoden. Koden använder Azure Functions-körtid för C# för att läsa topplistedata från Azure Functions.

Vad är Azure Functions?

Azure Functions är ett specifikt erbjudande inom det bredare spektrumet av serverlösa databehandlingstekniker i Azure. Det är ett enkelt sätt för utvecklare att skapa enkla funktioner som finns i en tillståndslös, serverlös miljö. Funktioner kan utlösas med hjälp av olika metoder, till exempel HTTP-begäranden, ändringar av data i lagringen, mottagande av ett meddelande från en kö med mera. Du kan lära dig mer om utlösarbindningar i Azure Functions-utlösare och bindningsbegrepp.

Tailspin-teamet valde Azure Functions för det här scenariot eftersom det uppfyllde alla deras behov:

  • Vi måste leverera snabbt, så vi måste hitta en lösning där vi kan använda vår kod och våra kunskaper.
    • Vi kan snabbt skapa lösningen som ett ASP.NET Core-program som tillämpar kod som vi redan har.
  • Vi måste omstrukturera en liten funktion till en oberoende tjänst.
    • Vi kan leverera en oberoende funktion utan någon annan programyta att oroa sig för.
  • Vi behöver minimera de administrativa omkostnaderna i produktionen.
    • Azure Functions tar bort behovet av att oroa sig för värdmiljöer.
  • Vi måste ha en enorm skala utan att göra ett massivt åtagande.
    • serverlösa tekniker har praktiskt taget obegränsad skalning som automatiskt kan öka och ned snabbare än virtuella datorer eller apptjänster.

Azure Functions och andra serverlösa tekniker passar inte alltid för alla lösningar. Senare diskuterar vi var du kan hitta resurser som hjälper dig att välja rätt teknik för jobbet.

Kontrollera dina kunskaper

1.

Vilket av dessa projekt är en bra kandidat för serverlös databehandling?

2.

Vilket av följande är inte en bra anledning att använda Azure Functions?

3.

Vilket av följande är inte ett sätt att direkt utlösa en Azure Functions-app?