Martin Rylko
  • Služby
  • Blog
  • O mně
  • Kontakt
  • Spolupráce
Martin Rylko

Senior Cloud Architect & DevOps Engineer. Specializace na Microsoft Azure, IaC, Cloud Security a AI.

Navigace

  • Služby
  • Blog
  • O mně
  • Kontakt

Spolupráce

Hledáte zkušeného architekta pro Váš Azure projekt? Ozvěte se.

rylko@cloudmasters.cz

© 2026 Martin Rylko. Všechna práva vyhrazena.

Buduji v cloudu. Nasazuji přes Azure Static Web Apps.

Domů/Blog/Azure Container Apps vs AKS: Rozhodovací matice pro rok 2026
Všechny článkyRead in English

Azure Container Apps vs AKS: Rozhodovací matice pro rok 2026

10. 2. 2026 5 min
#Azure#AKS#Container Apps#Kubernetes#Architecture

Azure Container Apps vs AKS: Rozhodovací matice pro rok 2026

Otázka „Container Apps nebo AKS?" mi za poslední rok přišla v různých variantách od pěti zákazníků. Odpověď není „AKS, protože je víc enterprise" ani „Container Apps, protože je jednodušší". Záleží na třech věcech: počet workloadů, typ workloadů a zralost týmu.

V tomhle článku rozeberu rozhodovací matici, kterou používám se zákazníky, a tři reálné scénáře, kde rozhodnutí padlo různě.

TL;DR rozhodovací matice

KritériumContainer AppsAKS
Počet workloadů v cluster1–55+
Operations zralost týmuZačátečník až středníPokročilý
Potřeba StatefulSet/CRD/operatorNeAno
Service mesh (Istio/Linkerd)Built-in (limited)Plný
Event-driven scaling (KEDA)Built-inSelf-managed KEDA install
Fix měsíční nákladyŽádné (per second)~400 EUR (3 nodes min)
Networking complexityNízkáVysoká
Multi-tenancyPer app environmentPer namespace + NetworkPolicy
GitOps (Flux/Argo)Externí (omezené)Native
Compliance/AuditSdílený control planePlná kontrola

Scénář 1: Startup s 2 microservices → Container Apps

V CostSentry.AI jsme začínali s API gateway a background worker. Dvě služby, jeden tým, nula Kubernetes zkušeností. Rozhodnutí bylo přímočaré: Container Apps.

resource caEnv 'Microsoft.App/managedEnvironments@2024-03-01' = {
  name: 'cae-cs-prod'
  location: location
  properties: {
    appLogsConfiguration: {
      destination: 'log-analytics'
      logAnalyticsConfiguration: {
        customerId: laWorkspace.properties.customerId
        sharedKey: laWorkspace.listKeys().primarySharedKey
      }
    }
    workloadProfiles: [
      {
        name: 'Consumption'
        workloadProfileType: 'Consumption'
      }
    ]
  }
}
 
resource apiApp 'Microsoft.App/containerApps@2024-03-01' = {
  name: 'ca-api'
  location: location
  identity: { type: 'SystemAssigned' }
  properties: {
    environmentId: caEnv.id
    configuration: {
      ingress: {
        external: true
        targetPort: 8080
        transport: 'http'
        allowInsecure: false
      }
      secrets: [
        {
          name: 'cosmos-conn'
          keyVaultUrl: '${kv.properties.vaultUri}secrets/cosmos-conn'
          identity: 'system'
        }
      ]
    }
    template: {
      containers: [
        {
          name: 'api'
          image: 'csregistry.azurecr.io/api:1.2.3'
          resources: { cpu: 1, memory: '2Gi' }
          env: [{ name: 'COSMOS_CONN', secretRef: 'cosmos-conn' }]
        }
      ]
      scale: { minReplicas: 0, maxReplicas: 10 }
    }
  }
}

Klíčové vlastnosti, které nás v Container Apps drží:

  • Scale to zero: noční hodiny stojí 0 EUR (development), produkce má minReplicas: 1
  • Key Vault integrace přes Managed Identity: žádné connection stringy v env vars
  • Built-in HTTPS s vlastním FQDN: žádný ingress controller k řešení
  • Revisions a traffic splitting: blue-green nasazení v jednom YAML

Měsíční Azure faktura za celý CostSentry stack: ~85 EUR. Na AKS by samotný cluster stál 5× tolik.

Scénář 2: Christie's platform tým, 30+ microservices → AKS

V Christie's je jiná realita. Třicet microservices, deset týmů, polovina používá Helm, druhá kustomize, někteří mají vlastní operátory pro deployment přes Argo CD. Container Apps by tu fungoval jen jako zlomek funkčnosti, kterou tým potřebuje.

Klíčové faktory, které rozhodly pro AKS:

FaktorDůvod
Service mesh (Istio)mTLS mezi službami, traffic policies
Argo CD GitOpsStandardizovaná deployment pipeline napříč týmy
StatefulSets pro KafkaPersistentní storage per replika
Custom OperatorsAuto-rotace credentials, custom backup CRDs
Multi-tenancyNamespace-per-team s NetworkPolicies
HPA + KEDA + VPAGranulární scaling napříč workloady

Cost overhead se ztrácí na 30 workloadech – produkce běží na 9 D8s_v5 node, ~3 600 EUR/měsíc, ale to vychází na ~120 EUR per workload. V Container Apps by 30 workloadů stálo násobně víc.

Scénář 3: Nespresso s 9 J2C aplikacemi → AKS s rezervou

Devět aplikací migrujících z on-prem do Azure. Tým má Kubernetes zkušenosti z předchozí firmy, používá Terraform, mají GitOps zavedený. Container Apps zvažovaný nebyl – tým chtěl plnou kontrolu nad networking a service mesh.

Proč AKS zvítězil i přes nižší počet workloadů:

  1. Předem investovali do Kubernetes know-how – nebyla žádná learning curve cena
  2. Plánujeme růst na 25+ aplikací do roku 2027 – AKS scaluje lineárně
  3. Compliance vyžaduje audit Kubernetes API serveru – Container Apps to neposkytuje
  4. Cilium NetworkPolicy pro mTLS a identity-aware ACLs (viz článek z března 2026)

Edge cases, kde rozhodnutí není jednoznačné

Event-driven worker s nepravidelným loadem: Container Apps + KEDA na Azure Service Bus queue. Žádná infra k údržbě, platí se jen za zpracované zprávy. Pokud worker běží míň než 4 hodiny denně, je Container Apps 3–5× levnější.

Batch processing 1× denně: Container Apps Jobs (GA od poloviny 2024). Pro periodické úlohy lepší než Kubernetes CronJob na AKS, protože nevyžaduje běžící cluster.

Frontend SPA s API backendem: Container Apps pro API + Azure Static Web Apps pro SPA. Žádný důvod sahat po AKS.

Cost porovnání reálných workloadů

Z mé praxe – stejný workload (REST API, 4 vCPU, 8 GB RAM, 8 hodin denně skutečného trafficu):

SetupMěsíční nákladKomentář
Container Apps (Consumption, scale to zero)~25 EURPouze za skutečný compute
Container Apps (Consumption, always-on)~115 EURminReplicas: 1, full month
Container Apps (Dedicated D4 profile)~280 EURReserved capacity, no cold start
AKS (3× D4s_v5 + load balancer)~430 EURCluster fix bez ohledu na využití
AKS (3× D4s_v5 Reserved 3Y)~210 EURS RI 50 % sleva

Pro jednu aplikaci je AKS dvojnásobně dražší. Pro pět aplikací sdílejících cluster je AKS levnější.

Migration path Container Apps → AKS

Pokud Container Apps přerostete, migrace je v 90 % případů přímočará:

  1. Container image – beze změny, stejný image v ACR
  2. Bicep Container Apps definice → Kubernetes manifests:
    # Z Container App:
    #   ingress.external: true
    #   targetPort: 8080
    #   scale.minReplicas: 1
    #   scale.maxReplicas: 10
    apiVersion: apps/v1
    kind: Deployment
    metadata: { name: api }
    spec:
      replicas: 1
      selector: { matchLabels: { app: api } }
      template:
        metadata: { labels: { app: api } }
        spec:
          containers:
          - name: api
            image: csregistry.azurecr.io/api:1.2.3
            resources:
              requests: { cpu: "1", memory: "2Gi" }
    ---
    apiVersion: v1
    kind: Service
    metadata: { name: api }
    spec:
      selector: { app: api }
      ports: [{ port: 80, targetPort: 8080 }]
    ---
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata: { name: api }
    spec:
      ingressClassName: nginx
      rules:
      - host: api.example.com
        http: { paths: [{ path: /, pathType: Prefix, backend: { service: { name: api, port: { number: 80 } } } }] }
  3. Secrets: Container Apps secrets → AKS Secret Store CSI driver pointing na Key Vault
  4. Dapr: pokud používáte, nainstalujte Dapr na AKS přes Helm (10 minut)

Typicky 2–3 sprinty na aplikaci, hlavní time-sink je integrační testování.

Závěr

Container Apps je v roce 2026 zralá platforma, která pokrývá ~70 % typických cloud-native workloadů bez Kubernetes overhead. AKS zůstává volbou pro enterprise prostředí s 5+ workloady, custom operators a potřebou plné Kubernetes API. Migrace mezi nimi není drahá – kontejnery zůstávají, mění se pouze deployment vrstva.

Pravidlo, které opakuji zákazníkům: začněte na Container Apps, dokud máte ≤ 5 workloadů. Přejděte na AKS, až vám platform overhead Container Apps začne vadit, ne když ho začnete tušit.

Potřebujete pomoct s rozhodnutím Container Apps vs AKS pro váš konkrétní stack? Podívejte se na naše služby cloudové architektury nebo se ozvěte pro architecture review.

Tagy:#Azure#AKS#Container Apps#Kubernetes#Architecture
LinkedInX / Twitter

O autorovi

Martin Rylko

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.

Email LinkedInCelý profil

Nejcastejsi dotazy

Kdy zvolit Container Apps a kdy AKS?▾
Container Apps zvolte, když chcete běžet kontejnery bez správy Kubernetes – ideální pro webové API, event-driven workery a krátkodobé jobs. AKS zvolte, když potřebujete plnou Kubernetes API (StatefulSets, CRDs, custom operátory), service mesh, nebo když už máte tým s Kubernetes zkušenostmi. Jednoduchý test: pokud byste museli pro daný workload napsat helm chart se třemi a více závislostmi, jste na AKS území.
Kolik stojí Container Apps oproti AKS?▾
Container Apps účtují per second za vCPU a paměť plus 30 dnů zdarma vázané na vCPU. Typický webový workload (1 vCPU, 2 GB RAM, 50 % využití) vychází na ~30 USD/měsíc. AKS účtuje pouze worker nody – minimální produkční cluster (3× Standard_D4s_v5) je ~400 EUR/měsíc fix, bez ohledu na využití. Pro 1–2 malé aplikace je Container Apps levnější, pro 5+ workloadů zvítězí AKS.
Mohu na Container Apps běžet stateful workloady?▾
Omezeně. Container Apps podporují volume mounts z Azure Files (NFS i SMB), ale neexistuje koncept jako StatefulSet s stable network identity nebo persistent volume per replica. Pro databáze, fronty s persistencí nebo workloady vyžadující sticky storage zůstaňte na AKS s Azure Disk CSI driver, případně použijte managed služby (PostgreSQL, Cosmos, Service Bus) místo self-hosted varianty.
Lze migrovat z Container Apps na AKS bez přepisu aplikace?▾
Z 90 %. Container Apps používají stejný container image, takže build pipeline migrovat netřeba. Hlavní práce je přepsat Bicep/Terraform Container Apps definici na Kubernetes manifesty (Deployment + Service + Ingress), nahradit Dapr volání za přímé SDK calls (pokud Dapr používáte) a přemigrovat secrets z Container Apps secret store do Azure Key Vault přes CSI driver. Typický migration projekt v Christie's zabral 2–3 sprinty na aplikaci.

Mohlo by vás zajímat

AKS Breaking Changes: Co se ruší v březnu 2026 a jak migrovat

Windows Server 2019, Azure Linux 2.0 a kubelet certificate rotation – tři AKS retirements s deadline v březnu 2026. Praktický migrační návod s CLI příkazy a Bicep šablonami.

Číst

AKS Cilium NetworkPolicy: Migrace z Calico bez výpadku produkce

Praktický playbook migrace AKS clusteru z Calico Network Policy engine na Azure CNI Powered by Cilium. Zero-downtime postup, eBPF benefity a typické pasti při rolloutu.

Číst

Kubernetes AKS: Produkční checklist pro architekty

Kubernetes AKS produkční checklist pro architekty. Azure CNI síťování, Workload Identity, RBAC, autoscaling, monitoring a DR strategie.

Číst