- Vårt erbjudande
- Kundcase
- Insikter & Inspiration
- Om oss

Vilken app service plan ska jag välja för min Azure Function?!
/ Apps & Innovations /
Vilken app service plan ska jag välja för min Azure Function?!
Att välja vilken app service plan som passar dina behov är inte alltid lätt. Azure Functions är en plattform som låter dig köra kod på begäran utan att behöva hantera den underliggande infrastrukturen, men valet av rätt plan påverkar hur din function presterar samt hur mycket den kostar.
Det finns flera olika App Service Plans att välja mellan, och varje plan erbjuder olika fördelar beroende på hur din applikation fungerar och vilken typ av belastning den hanterar. I denna artikel går vi igenom de viktigaste faktorerna att tänka på vid valet av App Service Plan för din Azure Function.
Översikt över App Service Plans

Azure Functions erbjuder fem huvudtyper av hosting-plans.
Consumption Plan, Flex Consumption Plan, Functions Premium, App Service och Container Apps environment.
Nedan beskrivs de olika app service planerna och lite egna erfarenheter gällande vad man bör tänka på.
Consumtion plan – Betala endast för exekveringstid när din funktion körs (pay-as-you-go). Funktionen skalas automatiskt baserat på behov, men kallstarter kan uppstå efter inaktivitet. Max exekveringstid är 10 minuter (5 minuter by default) så om man har långa exekveringstider så välj en annan plan. Max antal instanser som kan köras är 100 för Linux och 200 för windows. Microsoft rekommenderar denna för test men funkar bra även för produktion. Dock för man vara försiktig om ens function triggas sällan. Har upplevt att vid inaktivitet så skippar den helt enkelt att exekvera funktionen vid kallstart. Ett sätt att komma runt detta är att ha en timer-function som håller appen vid liv.
Flex Consumption Plan– Kombinerar flexibiliteten från Consumption Plan med fördelarna från Premium Plan, inklusive bättre prestanda och snabbare svarstider. Möjlighet att undvika kallstarter genom att kunna ange ett antal förhandsallokerade instanser. Här betalar man för exekveringstid samt för eventuella "always ready"-instanser. Här finns inga begränsningar för långa transaktioner men default är 30 minuter. Passar bra när man har functions med ojämn belastning.
Functions Premium – Ger dedikerade resurser och snabbare starttider utan att behöva betala för konstant aktivitet. Lämplig för applikationer med högre krav på prestanda och kontinuerlig drift. Kan med fördel användas för functions som körs ofta även om det också finns support för "always ready"-instanser. Här finns heller inga begränsningar gällande långa transaktioner. Eventdriven skalning skapar upp nya instanser vid behov upp till 100 st.
App Service – Funktionen körs på dedikerade VM-instanser, vilket ger full kontroll över resursallokeringen. Du betalar för resurser även när de inte används. Möjlighet att dela resurser med existerande functions eller app-services du redan har. Kan med fördel användas för att utnyttja resurser du redan betalar för. T.ex. om du vill köra nattliga jobb på en app-service som annars har mest belastning dagtid.
Container Apps environment – Bygger på Kubernetes och använder bakomliggande teknologier som Kubernetes Event-Driven Autoscaling (KEDA) för att skala applikationerna baserat på belastning. Används vid fördel om du vill gå från on-premise till molnet och kör dina applikationer i containers.
Faktorer att tänka på
Kallstarter och Latens
När du väljer en plan där Always On inte är tillgängligt, som i Consumption Plan, sätts din applikation i viloläge efter en period av inaktivitet. Detta leder till en kallstart nästa gång applikationen anropas, vilket kan orsaka fördröjning när applikationen startas upp.
När kallstarter är acceptabla:
- Applikationer med sporadisk eller låg trafik där svarstider inte är ett problem och som inte är affärskritiska.
- Utvecklings- eller testmiljöer där prestanda inte är kritiskt.
När du bör undvika kallstarter:
- API:er
- Affärskritiska applikationer där användare eller andra processer väntar på svar.
- Om din applikation har timer-triggers eller kör bakgrundsprocesser som måste exekveras vid specifika tider.
Premium Plan och Flex Consumption är lämpliga om du vill undvika kallstarter, eftersom de erbjuder dedikerade resurser och snabbare starttider. Always On bör aktiveras för applikationer som måste vara tillgängliga hela tiden utan fördröjning.
Kostnadseffektivitet vs. Prestanda
Valet av App Service Plan handlar ofta om att hitta rätt balans mellan kostnadseffektivitet och prestanda. Consumption Plan är den mest kostnadseffektiva lösningen för applikationer med oregelbunden arbetsbelastning, medan Premium Plan är bättre lämpad för applikationer som kräver hög prestanda och konstant tillgänglighet.
- Consumption Plan: Lämplig för arbetslaster med låg eller oregelbunden trafik. Kostnadseffektiv men med risken för kallstarter.
- Premium Plan: För affärskritiska applikationer eller arbetslaster med hög trafik och krav på låg latens. Högre kostnad men med garanterad prestanda.
- Flex Consumption Plan: Bra kompromiss för applikationer med varierande arbetsbelastning som behöver snabb skalning och prestanda, utan att betala för konstant aktivitet.
Externa "Keep-Alive"-Lösningar
Om du väljer att använda en plan utan Always On, kan du ändå hålla applikationen igång genom att implementera en keep-alive-lösning. Verktyg som UptimeRobot eller schemalagda HTTP-förfrågningar kan användas för att undvika att applikationen går i viloläge, även om detta kan öka kostnaderna över tid.
Sammanfattning
Att välja rätt App Service Plan för din Azure Function är en viktig del av att optimera både prestanda och kostnader.
Oavsett vilken plan du väljer, är det viktigt att tänka igenom dina applikationskrav och hur olika triggers påverkar prestandan innan du gör ditt val.
