Programutveckling och programdistribution
Om du vill utveckla och distribuera serverlösa program med Azure Functions kan du undersöka mönster och metoder, konfigurera DevOps-pipelines och implementera metodtips för platstillförlitlighetsteknik (SRE).
Detaljerad information om serverlösa arkitekturer och Azure Functions finns i:
- Serverlösa appar: Arkitektur, mönster och Azure-implementering
- Azure Serverless Computing Cookbook
- Exempel på serverlösa referensarkitekturer
Planering
Så här planerar du apputveckling och distribution:
- Förbereda utvecklingsmiljön och konfigurera arbetsflödet.
- Strukturera projekt som stöder utveckling av Azure Functions-appar.
- Identifiera apputlösare, bindningar och konfigurationskrav.
Förstå händelsedriven arkitektur
En annan händelse utlöser varje funktion i ett serverlöst Functions-projekt. Mer information om händelsedrivna arkitekturer finns i:
- Händelsedriven arkitekturstil.
- Händelsedrivna designmönster för att förbättra befintliga program med hjälp av Azure Functions
Förbereda utvecklingsmiljön
Konfigurera ditt arbetsflöde och din miljö för utveckling med verktygen för att skapa Funktioner. Mer information om utvecklingsverktyg och Funktionskodprojektstruktur finns i:
- Koda och testa Azure Functions lokalt
- Utveckla Azure Functions med hjälp av Visual Studio Code
- Utveckla Azure Functions med hjälp av Visual Studio
- Arbeta med Azure Functions Core Tools
- Mappstrukturen
Utveckling
Bestäm vilket utvecklingsspråk som ska användas. Azure Functions stöder C#, F#, PowerShell, JavaScript, TypeScript, Java och Python. Alla ett projekts funktioner måste vara på samma språk. Mer information finns i Språk som stöds i Azure Functions.
Definiera utlösare och bindningar
En utlösare anropar en funktion och varje funktion måste ha exakt en utlösare. Bindning till en funktion ansluter deklarativt en annan resurs till funktionen. Mer information om Functions-utlösare och bindningar finns i:
- Utlösare och bindningar i Azure Functions
- Köra en Azure-funktion med utlösare
- Länka samman Azure Functions med hjälp av indata- och utdatabindningar
Skapa Functions-programmet
Funktioner följer principen för enskilt ansvar: gör bara en sak. Mer information om Funktionsutveckling finns i:
- Guide för Azure Functions-utvecklare
- Skapa serverlösa program
- Strategier för att testa din kod i Azure Functions
- Bästa praxis för Functions
Använda Durable Functions för tillståndskänsliga arbetsflöden
Med Durable Functions i Azure Functions kan du definiera tillståndskänsliga arbetsflöden i en serverlös miljö genom att skriva orkestreringsfunktioner och tillståndskänsliga entiteter genom att skriva entitetsfunktioner. Durable Functions hanterar tillstånd, kontrollpunkter och omstarter så att du kan fokusera på affärslogik. Mer information finns i Vad är durable functions.
Förstå och åtgärda kallstarter
Om antalet serverlösa värdinstanser skalas ned till noll har nästa begäran den extra svarstiden för att starta om funktionsappen, som kallas kallstart. För att minimera prestandapåverkan från kalla starter minskar du beroenden som Functions-appen behöver för att läsa in vid start och använder så få stora, synkrona anrop och åtgärder som möjligt. Mer information om autoskalning och kallstart finns i Serverlösa functions-åtgärder.
Hantera programhemligheter
För säkerhet ska du inte lagra autentiseringsuppgifter i programkoden. Information om hur du använder Azure Key Vault med Azure Functions för att lagra och hämta nycklar och autentiseringsuppgifter finns i Använda Key Vault-referenser för App Service och Azure Functions.
Mer information om serverlös Functions-programsäkerhet finns i Säkerhet för serverlösa funktioner.
Distribution
Om du vill förbereda serverlösa Functions-program för produktion kontrollerar du att du kan:
- Uppfylla kraven för programresurser.
- Övervaka alla aspekter av programmet.
- Diagnostisera och felsöka programproblem.
- Distribuera nya programversioner utan att påverka produktionssystemen.
Definiera distributionsteknik
Besluta om distributionsteknik och organisera schemalagda versioner. Mer information om hur distribution av Functions-appar möjliggör tillförlitliga uppgraderingar utan avbrott finns i Distributionstekniker i Azure Functions.
Undvik att använda för många resursanslutningar
Funktioner i en Functions-app delar resurser, inklusive anslutningar till HTTPS, databaser och tjänster som Azure Storage. När många funktioner körs samtidigt går det att få slut på tillgängliga anslutningar. Mer information finns i Hantera anslutningar i Azure Functions.
Konfigurera loggning, aviseringar och programövervakning
Application Insights i Azure Monitor samlar in logg-, prestanda- och feldata. Application Insights identifierar automatiskt prestandaavvikelser och innehåller kraftfulla analysverktyg för att diagnostisera problem och förstå funktionsanvändning.
Mer information om programövervakning och loggning finns i:
- Övervaka Azure Functions
- Övervaka Azure Functions med Azure Monitor-loggar
- Funktioner som stöds i Application Insights för Azure Functions
Diagnostisera och felsöka problem
Lär dig hur du effektivt använder diagnostik för felsökning i proaktiva och probleminriktade scenarier. Mer information finns i:
- Håll dina Azure App Service- och Azure Functions-appar felfria och nöjda
- Felsöka felet: "Det går inte att nå Körmiljö för Azure Functions"
Distribuera program med hjälp av en automatiserad pipeline och DevOps
Fullständig automatisering av alla steg från kodincheckning till produktionsdistribution gör att teamen kan fokusera på att skapa kod och tar bort omkostnader och potentiella mänskliga fel i manuella steg. Att distribuera ny kod är snabbare och mindre riskabelt, vilket hjälper teamen att bli mer flexibla, mer produktiva och mer säkra på sin kod.
Mer information om DevOps och kontinuerlig distribution (CD) finns i:
- Löpande distribution för Azure Functions
- Kontinuerlig leverans med hjälp av Azure DevOps
- Kontinuerlig leverans med hjälp av GitHub Action
Optimering
När programmet är i produktion förbereder du dig för skalning och implementerar platstillförlitlighetsteknik (SRE).
Säkerställa optimal skalbarhet
Information om faktorer som påverkar funktionsappens skalbarhet finns i:
Implementera SRE-metoder
Site Reliability Engineering (SRE) är en beprövad metod för att upprätthålla viktig system- och programtillförlitlighet, samtidigt som den itererar med den hastighet som marknadsplatsen kräver. Mer information finns i:
Nästa steg
Information om praktisk serverlös funktionsapputveckling och distributionsgenomgångar finns i:
En teknisk spelbok som hjälper team och kunder att implementera serverlösa Functions-projekt finns i spelboken Code-With Customer/Partner Engineering.
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