Compute (VM, Container Apps, AKS) — kiedy co
Azure oferuje wiele sposobów uruchomienia kodu. W praktyce wybór sprowadza się do trzech opcji: VM (pełna kontrola), Container Apps (serverless dla kontenerów) i AKS (zarządzany Kubernetes). Dobór właściwej warstwy to kompromis między kontrolą a kosztem operacyjnym.
Virtual Machines (IaaS)
Klasyczna maszyna wirtualna — pełny system operacyjny, pełna kontrola, pełna odpowiedzialność (patchowanie, hardening, skalowanie). Wybieraj VM, gdy:
- masz aplikację legacy, która nie jest skonteneryzowana,
- potrzebujesz specyficznego OS, sterowników GPU lub kontroli nad jądrem,
- migrujesz "lift-and-shift" z on-premise.
az vm create \
--resource-group rg-zeus-app --name vm-legacy01 \
--image Ubuntu2204 --size Standard_D2s_v5 \
--admin-username azureadmin --generate-ssh-keys \
--public-ip-address "" # bez publicznego IP — dostęp przez Bastion
Wskazówka: dla wielu identycznych VM użyj Virtual Machine Scale Sets (VMSS) — autoskalowanie i rolling upgrades out-of-the-box.
Azure Container Apps (serverless)
Container Apps uruchamia kontenery bez zarządzania klastrem. Skaluje od zera (scale-to-zero), ma wbudowany ingress, revisions i KEDA do skalowania zdarzeniowego. To najlepszy wybór dla mikroserwisów i API, gdy nie chcesz operować Kubernetesem.
az containerapp create \
--resource-group rg-zeus-app --name ca-api \
--environment cae-zeus \
--image ghcr.io/professnet/zeus-api:1.4.0 \
--target-port 8080 --ingress external \
--min-replicas 0 --max-replicas 10
Azure Kubernetes Service (AKS)
AKS to zarządzany Kubernetes — Azure prowadzi control plane, Ty zarządzasz węzłami i obciążeniami. Wybieraj AKS, gdy:
- masz wiele zespołów i złożone wdrożenia (Helm, operatorzy, service mesh),
- potrzebujesz pełnego ekosystemu Kubernetes (CRD, GitOps, namespaces),
- już masz kompetencje k8s w zespole.
az aks create \
--resource-group rg-zeus-app --name aks-zeus \
--node-count 3 --enable-managed-identity \
--network-plugin azure --generate-ssh-keys
az aks get-credentials --resource-group rg-zeus-app --name aks-zeus
Macierz decyzji
| Kryterium | VM | Container Apps | AKS |
|---|---|---|---|
| Kontrola nad OS | pełna | brak | częściowa (węzły) |
| Koszt operacyjny | wysoki | niski | średni/wysoki |
| Scale-to-zero | nie | tak | nie (domyślnie) |
| Krzywa wejścia | niska | niska | wysoka |
| Najlepsze do | legacy, GPU | API, mikroserwisy | platformy, mesh |
Jak to widzi ZEUS
ZEUS inwentaryzuje wszystkie te zasoby przez Resource Graph i ARM. Dla VM sprawdza m.in. publiczne IP, status szyfrowania dysków i poziom patchy (przez Defender for Cloud). Dla AKS odczytuje wersję klastra, konfigurację RBAC i czy włączone są kontrole polityk. Skanery kontenerów ZEUS-a analizują też obrazy pod kątem podatności CVE — niezależnie od warstwy compute.
W następnej lekcji: storage i bazy danych — Blob, Files, Azure SQL i PostgreSQL.