Appåtgärder för serverlösa funktioner
Den här artikeln beskriver överväganden för Azure-åtgärder för serverlösa Functions-program. För att stödja Functions-appar måste driftpersonalen:
- Förstå och implementera värdkonfigurationer.
- Framtidssäker skalbarhet genom att automatisera infrastrukturetablering.
- Upprätthålla affärskontinuitet genom att uppfylla kraven på tillgänglighet och haveriberedskap.
Planering
Planera åtgärder genom att förstå dina arbetsbelastningar och deras krav och sedan utforma och konfigurera de bästa alternativen för kraven.
Välj ett värdalternativ
Azure Functions Runtime ger flexibilitet i värdmiljön. Använd jämförelsetabellen för värdplaner för att fastställa det bästa valet för dina behov.
Azure Functions värdplaner
Varje Azure Functions projekt distribuerar och körs i sin egen Functions-app, vilket är skalningsenheten och kostnaden. De tre värdplaner som är tillgängliga för Azure Functions är Förbrukningsplan, Premium-plan och Dedikerad (App Service) plan. Värdplanen bestämmer skalningsbeteende, tillgängliga resurser och stöd för avancerade funktioner som anslutning till virtuella nätverk.
Azure Kubernetes Service (AKS)
Kubernetes-baserade funktioner tillhandahåller Functions Runtime i en Docker-container med händelsedriven skalning via Kubernetes-baserad keda (Event Driven Autoscaling).
Mer information om värdplaner finns i:
- Skala och var värd i Azure Functions
- Förbrukningsplan
- Premiumplan
- Dedikerad (App Service) plan
- Azure Functions på Kubernetes med KEDA
- Azure-prenumeration och tjänstbegränsningar, kvoter och krav
Förstå skalning
Serverlösa förbruknings- och Premium-värdplaner skalas automatiskt, vilket lägger till och tar bort Azure Functions värdinstanser baserat på antalet inkommande händelser. Skalning kan variera på flera dimensioner och bete sig annorlunda baserat på plan-, utlösar- och kodspråk.
Mer information om skalning finns i:
Förstå och åtgärda kallstarter
Om antalet värdinstanser skalas ned till noll har nästa begäran den extra svarstiden för att starta om funktionsappen, som kallas kallstart. Kallstart är en stor diskussionspunkt för serverlösa arkitekturer och en tvetydighetspunkt för Azure Functions.
Premium-värdplanen förhindrar kallstarter genom att hålla vissa instanser varma. Att minska beroenden och använda asynkrona åtgärder i Functions-appen minimerar också effekten av kalla starter. Tillgänglighetskrav kan dock kräva att appen körs i en dedikerad värdplan med Always on aktiverat. Den dedikerade planen använder dedikerade virtuella datorer , så det är inte serverlöst.
Mer information om kallstart finns i Förstå serverlös kallstart.
Identifiera lagringsöverväganden
Varje Azure Functions app förlitar sig på Azure Storage för åtgärder som att hantera utlösare och loggningsfunktionskörningar. När du skapar en Functions-app måste du skapa eller länka till ett allmänt Azure Storage-konto som stöder blob-, kö- och tabelllagring. Mer information finns i Lagringsöverväganden för Azure Functions.
Identifiera nätverksdesignöverväganden
Med nätverksalternativ kan Functions-appen begränsa åtkomsten eller komma åt resurser utan att använda internetroutningsbara adresser. Värdplanerna erbjuder olika nivåer av nätverksisolering. Välj det alternativ som bäst uppfyller kraven för nätverksisolering. Mer information finns i Azure Functions nätverksalternativ.
Produktion
Om du vill förbereda programmet för produktion kontrollerar du att du enkelt kan distribuera om värdplanen och tillämpa utskalningsregler.
Automatisera etablering av värdplaner
Med infrastruktur som kod kan du automatisera infrastrukturetablering. Automatisk etablering ger mer återhämtning vid katastrofer och mer flexibilitet för att snabbt distribuera om infrastrukturen efter behov.
Mer information om automatisk etablering finns i:
- Automatisera resursdistributionen för funktionsappen i Azure Functions
- Terraform – Hanterar en funktionsapp
Konfigurera utskalningsalternativ
Autoskalning ger rätt mängd resurser som körs för att hantera programbelastningen. Autoskalning lägger till resurser för att hantera ökad belastning och sparar pengar genom att ta bort resurser som är inaktiva.
Mer information om alternativ för autoskalning finns i:
Optimering
När programmet är i produktion kontrollerar du att:
- Värdplanen kan skalas för att uppfylla programkraven.
- Det finns en plan för affärskontinuitet, tillgänglighet och haveriberedskap.
- Du kan övervaka värd- och programhälsa och få aviseringar.
Implementera tillgänglighetskrav
Azure Functions köras i en viss region. För att få högre tillgänglighet kan du distribuera samma Functions-app till flera regioner. I flera regioner kan Functions köras i tillgänglighetsmönstret aktiv-aktiv eller aktiv-passiv .
Mer information om Azure Functions tillgänglighet och haveriberedskap finns i:
Övervakning av loggning, programövervakning och aviseringar
Application Insights och loggar i Azure Monitor samlar automatiskt in logg-, prestanda- och feldata och identifierar prestandaavvikelser. Azure Monitor innehåller kraftfulla analysverktyg som hjälper dig att diagnostisera problem och förstå funktionsanvändning. Application Insights hjälper dig att kontinuerligt förbättra prestanda och användbarhet.
Mer information om övervakning och analys av Azure Functions prestanda finns i:
- Övervaka Azure Functions
- Övervaka Azure Functions med Azure Monitor-loggar
- Application Insights för Azure Functions funktioner som stöds
Nästa steg
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för