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:

Planering

Så här planerar du apputveckling och distribution:

  1. Förbereda utvecklingsmiljön och konfigurera arbetsflödet.
  2. Strukturera projekt som stöder utveckling av Azure Functions-appar.
  3. 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:

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:

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:

Skapa Functions-programmet

Funktioner följer principen för enskilt ansvar: gör bara en sak. Mer information om Funktionsutveckling finns i:

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:

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:

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:

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.