Azure Functions Flex Consumption: Kdy nahradit Premium plan v 2026
Azure Functions Flex Consumption: Kdy nahradit Premium plan v 2026
Když Microsoft v roce 2024 GA-oval Flex Consumption plan pro Azure Functions, většina enterprise týmů na to nezareagovala – Premium plan byl zaběhlý, fungoval a nikdo nechtěl měnit fungující věc. V Christie's jsme v Q2 2026 udělali FinOps audit serverless workloadů a Flex se ukázal jako nezamýšlený šampion: 60 % našich Premium Function Apps mohlo jít na Flex za polovinu ceny bez ztráty funkcionality.
Tenhle článek je rozbor, kdy a jak Flex použít.
Rychlé srovnání tří plánů
| Vlastnost | Consumption | Flex Consumption | Premium (EP1+) |
|---|---|---|---|
| Cena (idle) | 0 EUR | 0 EUR | ~120 EUR/měsíc |
| Cena (active) | Per-GBs | Per-second per instance | Fixed per plan |
| VNet integration | Ne | Ano | Ano |
| Cold start | 2–10 s | 0–1 s (always-ready) | 0 s |
| Max execution time | 10 min | 60 min | 60 min |
| Always-ready instances | 0 | 0–N (configurable) | 1+ (built into SKU) |
| HTTP scale-out limit | 200 | 1 000 | Per SKU |
| Deployment slots | Ne | Limited (1) | Ano |
| Custom domain + SSL | Ano | Ano | Ano |
| Zone redundancy | Ne | Ano | Ano (zone redundant) |
Tři skutečné game changers Flex oproti Consumption:
- VNet integration – Flex umí privátní endpointy, Consumption ne. Pro PE-only architektury (viz článek z června 2026) je to volba mezi „použitelné" a „nepoužitelné"
- Pre-warmed instances – minimum 0, maximum 100. Zmizí cold start anxiety
- Per-second billing s GB-second – pro burst workloady levnější než Premium per-plan
Reálný cost příklad: Christie's REST API
Workload: REST API pro internal reporting tool. ~200 requestů/hod během pracovní doby, 0 mimo. p95 latency requirement: 500 ms.
| Plán | Měsíční cena | Komentář |
|---|---|---|
| Consumption | ~25 EUR | Nelze – API potřebuje VNet pro DB connection |
| Premium EP1 (1 instance) | ~120 EUR | Funguje, ale 20 hodin denně idle |
| Premium EP1 zone-redundant | ~360 EUR | High availability, drahé |
| Flex Consumption (1 always-ready) | ~52 EUR | VNet + bez cold startu, paid jen za real usage |
| Flex Consumption (0 always-ready) | ~18 EUR | Bez cold start guarantee |
Pro tohle API jsme migrovali na Flex s 1 always-ready instancí – úspora 68 EUR/měsíc oproti Premium EP1, plus 308 EUR oproti EP1 zone-redundant. Naškálováno přes 15 podobných API: ~1 000 EUR/měsíc úspora.
Flex Consumption v Bicepu
// Server farm s Flex SKU
resource flexPlan 'Microsoft.Web/serverfarms@2024-04-01' = {
name: 'asp-api-flex-prod'
location: location
sku: {
tier: 'FlexConsumption'
name: 'FC1'
}
properties: {
reserved: true // Linux
}
}
// Function App
resource flexFunc 'Microsoft.Web/sites@2024-04-01' = {
name: 'func-api-flex-prod'
location: location
kind: 'functionapp,linux'
identity: { type: 'SystemAssigned' }
properties: {
serverFarmId: flexPlan.id
virtualNetworkSubnetId: functionSubnet.id
vnetRouteAllEnabled: true
publicNetworkAccess: 'Disabled'
functionAppConfig: {
deployment: {
storage: {
type: 'blobContainer'
value: '${storageAccount.properties.primaryEndpoints.blob}deployments'
authentication: {
type: 'SystemAssignedIdentity'
}
}
}
scaleAndConcurrency: {
instanceMemoryMB: 2048
maximumInstanceCount: 100
alwaysReady: [
{
name: 'http'
instanceCount: 1 // 1 vždy připravená pro HTTP triggery
}
]
}
runtime: {
name: 'dotnet-isolated'
version: '9.0'
}
}
}
}Tři důležité parametry oproti Premium:
functionAppConfig.deployment.storage– Flex deployuje balíky do Blob containeru přes MSI, ne klasickou WEBSITE_RUN_FROM_PACKAGE SAS URLscaleAndConcurrency.instanceMemoryMB– musíte si vybrat memory tier (2048, 4096), per-second billing pak odpovídáalwaysReady– per-trigger nastavení (HTTP vs queue), pro každý trigger jiný count
Deployment přes GitHub Actions
name: Deploy Flex Function
on:
push:
branches: [main]
permissions:
id-token: write
contents: read
jobs:
deploy:
runs-on: ubuntu-latest
environment: production
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
with:
dotnet-version: '9.0.x'
- name: Build and package
run: |
dotnet publish src/Api.csproj -c Release -o output
cd output
zip -r ../app.zip .
- uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- name: Upload to Flex deployment container
run: |
az storage blob upload \
--account-name "${{ vars.STORAGE_NAME }}" \
--container-name "deployments" \
--name "app-${{ github.sha }}.zip" \
--file app.zip \
--auth-mode login \
--overwrite
- name: Sync Flex Function App
run: |
az functionapp deployment source config-zip \
--resource-group "${{ vars.RG_NAME }}" \
--name "${{ vars.FUNC_NAME }}" \
--src "https://${{ vars.STORAGE_NAME }}.blob.core.windows.net/deployments/app-${{ github.sha }}.zip" \
--build-remote falsePozor: Flex nemá Kudu pro file inspection ani SCM endpoint pro klasické Zip Deploy. Deployment teče přes Blob storage s MSI authentication. Pokud máte legacy CI/CD pipeline, která spoléhá na az functionapp deployment source config-zip s SAS URL, musíte upravit.
Kdy NEpřepínat z Premium na Flex
Tři scénáře, kdy Premium zůstává správná volba:
- In-memory state / cache mezi requesty – Flex pre-warm instances neagrégují state perfectly, periodický shutdown unset memory. Premium s
alwaysOn=truemá persistentní instance - Workloady s 24/7 fixní zátěží – pro stabilní 5+ instance load vyjde Premium 3Y reserved levněji než Flex per-second
- Deployment slots pro blue/green – Flex má pouze 1 slot (production). Pokud děláte slot swap, zůstaňte na Premium
Migration playbook: Premium → Flex za 1 sprint
V Christie's jsme migration udělali per Function App takhle:
- Den 1 – nová Flex Function App vedle existující, deployment stejného code, smoke test
- Den 2 – přepojení integration testů na Flex, performance comparison (p50, p95, p99 latency)
- Den 3 – Front Door / APIM route 10 % trafficu na Flex, monitoring 24h
- Den 4 – 50 % trafficu, ověření cost projekce
- Den 5 – 100 % cutover, ponechat Premium 7 dní jako rollback
- Den +7 – smazat Premium plan
Klíčové: deployment přes blob storage s MSI vyžaduje úpravu deployment pipeline (~2 hodiny). Vše ostatní je beze změny – stejný runtime, stejný code, stejné app settings.
Limity, které stojí za zmínku
| Limit | Flex Consumption | Workaround |
|---|---|---|
| Max execution time | 60 min | Stejné jako Premium |
| Concurrent HTTP requests | 1 000 | Naškálováno přes instances |
| Memory per instance | 512 MB – 4 GB | Větší = vyšší cena |
| Deployment slots | 1 | Použít Front Door staging slot |
| Connected to App Service Environment | Ne | Použít Premium v ASE |
| Custom container images | Ne | Pouze managed runtime |
Pro 95 % workloadů jsou limity nepodstatné. Custom container support je největší miss – pokud máte Function s custom Docker image, Flex není volba.
Závěr
Flex Consumption je v květnu 2026 nejvíc opomíjená optimalizace v Azure FinOps audit checklistu. Pro většinu Premium Function Apps poskytuje stejnou funkcionalitu za 30–50 % ceny. Migration je 1-sprint záležitost, deployment pipeline jediná změna.
V Christie's a CostSentry.AI jsme přepnutím 70 % Premium Function Apps ušetřili řády stovek EUR měsíčně bez kompromisu na latenci nebo SLA.
Pokud auditujete vlastní serverless stack a chcete identifikovat Flex Consumption kandidáty, podívejte se na naše služby cloudové architektury nebo se ozvěte pro FinOps review.
O autorovi

Martin Rylko
Senior Cloud Architect & DevOps Engineer
Více než 14 let v IT – od on-premises datacenter a Hyper-V clusteringu po cloudovou infrastrukturu v Microsoft Azure. Specializuji se na Landing Zones, IaC automatizaci, Kubernetes a bezpečnostní compliance.
Nejcastejsi dotazy
V čem se Flex Consumption liší od klasické Consumption?▾
Kdy zvolit Flex Consumption a kdy Premium plán?▾
Jak Flex Consumption řeší cold starts?▾
Funguje Flex Consumption s Bicepem a Deployment Stacks?▾
Mohlo by vás zajímat
Azure Private Endpoints všude: Refactor serverless pipeline z APIM na PE-only
Praktický refactor serverless e-mailové pipeline z APIM-fronted architektury na private endpoint-only end state. Shared PE subnet, Function Apps Premium, Service Bus a Log Analytics bez veřejného povrchu.
ČístAzure Cosmos DB cost optimization: 8 pák, jak snížit RU/s účet
Praktický průvodce snížením nákladů Azure Cosmos DB. Provisioned vs Serverless, autoscale tuning, indexing policy, TTL a multi-region trade-offs s reálnými čísly z CostSentry.AI provozu.
ČístMicrosoft Build 2026: Foundry, FOCUS 1.3 a Agent Cost Trace
Můj recap Microsoft Build 2026 z pohledu cloud architekta. Foundry rebrand, FOCUS 1.3 GA, Agent Cost Trace pro AI workloady a tři praktické dopady na enterprise zákazníky.
Číst