Så här fungerar Azure Functions
- 3 minuter
Här får du lära dig hur du kan använda Azure Functions för att utveckla serverlösa arkitekturer och använda de olika funktionsimplementeringar som tillhandahålls.
Du lär dig också mer om hur Azure Functions fungerar. Information som kan hjälpa dig att avgöra hur du uppfyller organisationens krav genom att använda Azure Functions på bästa sätt.
Azure Functions är en serverlös beräkningslösning som gör att du kan skriva mindre kod. Det är ett plattform som en tjänst-erbjudande så att du inte behöver oroa dig för att vara värd för din app och du sparar på kostnaderna.
Azure Functions är en bra lösning för att behandla data, integrera system, arbeta med Sakernas Internet (IoT) och skapa enkla API:er och mikrotjänster.
Skalningsfunktionsappar
Kontexten där dina funktioner körs kallas för en funktionsapp. En funktionsapp är en enhet för distribution, hantering och skalning för dina funktioner. Funktionerna i en funktionsapp delar alla samma inställningar och anslutningar.
I förbruknings- och Premium-abonnemangen skalar Azure Functions cpu- och minnesresurser genom att lägga till fler funktionsappinstanser. Antalet instanser bestäms baserat på antalet händelser som utlöser en funktion. Eftersom alla funktioner i en funktionsapp delar resurserna i en appinstans skalas de samtidigt.
Azure Functions-övervakning
Azure Functions erbjuder inbyggd integrering med Azure Application Insights för att övervaka funktioner. Application Insights samlar in logg-, prestanda- och feldata. Det hjälper dig att identifiera prestandaavvikelser, diagnostisera problem och bättre förstå hur dina funktioner används.
Application Insights-instrumentation är inbyggd i Azure Functions. Med Application Insights-integrering skickas telemetridata till din anslutna Application Insights-instans. Dessa data omfattar loggar som genereras av Functions-värden, spårningar som skrivits från din funktionskod och prestandadata.
Kommentar
Förutom data från dina funktioner och Functions-värden kan du också samla in data från functions-skalningskontrollanten.
Följande bild visar ett exempel på hur du visar data i Application Insights för en funktionsapp.
              
               
              
              
            
Azure Functions-komponenter
I följande tabell beskrivs de viktigaste komponenterna i Azure Functions:
| Komponent | beskrivning | 
|---|---|
| Funktionsutlösare | Utlösare är det som gör att en funktion körs. En utlösare definierar hur en funktion anropas. En funktion måste ha exakt en utlösare. | 
| Funktionsbindningar | Bindning till en funktion är ett sätt att deklarativt ansluta en annan resurs till funktionen. bindningar kan anslutas som indatabindningar, utdatabindningar eller båda. Data från bindningar skickas som parametrar till funktionen. Om du inte vill eller inte kan använda bindningar kan du fortfarande använda en klient-SDK i dina funktioner när du ansluter till tjänster. | 
| Funktionskörning | Azure Functions stöder för närvarande flera versioner av körningsvärden. Funktioner stöder också många olika körningsmiljöer, till exempel .NET Core, Node.JavaScript, Java, PowerShell och Python. Under utvecklingen kan du installera Functions-körningen på din lokala dator och köra funktioner lokalt med hjälp av Azure Functions Core Tools. | 
| API Management (APIM) | APIM tillhandahåller säkerhet och routning för dina HTTP-utlösta funktionsslutpunkter som ett sätt att exponera dem som ett sant REST-API. | 
| Distributionsfack | Med distributionsplatser i Azure Functions kan din funktionsapp köra olika instanser som kallas platser. Fack är olika miljöer som exponeras via en offentligt tillgänglig slutpunkt. Fack ger dig ett sätt att testa en ny version av dina funktioner i Azure i en säker miljö och sedan smidigt växla den nya versionen till produktion. | 
| Konfiguration av funktionsapp | Anslutningssträngar, miljövariabler och andra programinställningar definieras separat för varje funktionsapp. Funktionsappens inställningsvärden kan läsas i koden som miljövariabler. | 
Dessa komponenter fungerar tillsammans för att tillhandahålla en komplett plattform från slutpunkt till slutpunkt för program- och DevOps-tekniker för att utveckla serverlösa arkitekturer med hjälp av Azure Functions.