WIKI Retour au Portfolio

Dernière mise à jour : 23 juin 2026

14 — Pièges & Commandes

À relire avant l'exam : pièges de décision + distinctions + repères clés. AZ-305 = examen de DESIGN → focus mots-clés énoncé → bonne réponse.


PARTIE 1 — Pièges récurrents (par thème)

Compute

  • 🚨 AKS vs VM : "control infra + customization + scale natif + gros data/compute" → AKS. VM = control OS only, pas de scale natif (sauf VMSS).
  • 🚨 Oracle WebLogic on AzureAKS (WebLogic K8s Operator). PAS App Service (Tomcat/Jetty), PAS ACI.
  • 🚨 Functions timeout : Consumption = 10 min max non configurable | Premium = 30 min default, illimité via host.json.
  • 🚨 Function authLevel Anonymous : OK pour API publique read-only (couplé Easy Auth/APIM). Function key = partenaire. Sur-précaution = piège.
  • 🚨 ASE v3 : facturé même vide (~$1k/mois), provisioning 2-4h. À éviter sauf compliance/isolation forte.
  • 🚨 AKS Kubenet retraite 31 mars 2028Azure CNI Overlay. Private cluster → API en PE (besoin VPN/Bastion). KEDA pour scale-to-zero (HPA seul ne le fait pas).
  • 🚨 Batch parallélisme : taskSlotsPerNode (default 1 task/node). Spot nodes = eviction → workloads idempotents. CycleCloud = lift-shift Slurm/PBS (pas greenfield).

Data / SQL / Cosmos

  • 🚨 SQL MI = pas de Hyperscale (GP/BC, cap ~16 TB). Scénario >16 TB → SQL DB Hyperscale jamais MI. Hyperscale single DB = 128 TB (2026).
  • 🚨 Hyperscale Fsv2-series retraite 1er oct 2026 → Premium/Standard-series.
  • 🚨 BC read scale-out gratuit (replicas Always On AG inclus, readable). GP = PAS de read replica. "AZ-fail + read scale-out + min cost" → BC zone-redundant (pas GP malgré "cost").
  • 🚨 In-memory OLTP : full sur BC vCore (Premium DTU) | NONE sur GP | SUBSET sur Hyperscale.
  • 🚨 Cosmos partition key : modifier = recréer container. Cardinalité élevée + distribution équitable. Logical partition 20 GB max.
  • 🚨 Cosmos Strong + multi-write = IMPOSSIBLE (Strong = single-write region). Multi-write : Eventual/Consistent Prefix/Session/Bounded Staleness (le plus fort dispo).
  • 🚨 Cosmos auth : SAS = storage only, PAS Cosmos. Entra RBAC prod, ou resource token (per-user TTL). Primary key = full admin, ne pas distribuer.
  • 🚨 Cosmos Serverless : max 5000 RU/s + 1 TB, pas de multi-region writes, pas de PITR continuous.
  • 🚨 MySQL/PG Flex : Burstable = pas de HA. DR régional → backup GRS (pas ZRS = intra-region only). Backup = LRS/ZRS/GRS only (pas GZRS ; GZRS = option Storage Account).
  • 🚨 Always Encrypted Randomized : pas de queries (sauf Secure Enclaves). Secure Enclaves = computation in-use server-side (VBS/SGX + attestation). DDM ≠ chiffrement (DBAs voient tout).

Storage / Data Protection

  • 🚨 Azure Files tiers (≠ Blob) : Premium / Transaction Optimized / Hot / Cool (infrequent, lowest cost). "infrequent + lowest storage cost" → Cool (PAS Transaction Optimized).
  • 🚨 HNS (ADLS Gen2) : activer à la création, irréversible.
  • 🚨 Stored Access Policy : grouper SAS au container level → révoquer/changer perms sans régénérer storage key. SAS ad-hoc = révocable seulement par rotation key. Distractors : RBAC (users Entra), ReadOnly lock (bloque resource pas contenu).
  • 🚨 User Delegation SAS (2026) : Blob + Queue + Table + Files (élargi). SAS + Storage Firewall = defense-in-depth (token + IP/VNet).

Network

  • 🚨 Remote workers → P2S (VPN client/device), jamais S2S (LAN-to-VNet datacenter entier).
  • 🚨 ExpressRoute Global Reach multi-site → BGP pour failover auto. Static = manuel. "Premium Direct" = SKU Premium (global geo) + modèle Direct (10/100 Gbps, sans provider).
  • 🚨 VNet CIDR overlap Azure ≠ on-prem (routing cassé silencieusement). GatewaySubnet = nom exact (case-sensitive), /27 mini (VpnGw1+).
  • 🚨 Network Watcher : VPN Troubleshoot = seul outil VPN-aware. Packet Capture = trafic VM. NSG diagnostics = règles NSG. Connection Monitor = probing E2E.
  • 🚨 L7/LB radar : global L7+WAF+CDN → Front Door Premium | régional L7+WAF+path → App Gateway v2 | non-HTTP global → Traffic Manager.

Identity & Gouvernance

  • 🚨 Application permissions : admin consent OBLIGATOIRE (sinon 403 client_credentials). Implicit flow déprécié → Auth Code + PKCE (SPA). MI > SP (pas de secret).
  • 🚨 CAE (Continuous Access Evaluation) : Entra invalide tokens quasi temps-réel sur événement critique (CAEP protocol). PAS Conditional Access (eval initiale), PAS MFA.
  • 🚨 SSO + device restriction : App Registration (SSO Entra) + Conditional Access (filter Entra-joined device). App Proxy = piège (app on-prem only).
  • 🚨 Multi-tenant RBAC : 1 user/group = 1 tenant. N tenants = N role assignments min (pas d'héritage cross-tenant).
  • 🚨 Azure Policy remediation : D-A-R (Definition → Assignment + MI + role → Remediation task). audit/deny n'ont PAS besoin de remediation. Oublier MI/role = fail silencieux.
  • 🚨 Activity Log = timeline "qui/quoi/quand" (90j, audit) | Resource Graph = inventaire current state KQL (PAS timeline) | Advisor = reco.
  • 🚨 Diagnostic Settings cross-subscription OK (LAW Sub B, ressources Sub A) — même tenant obligatoire. Pattern ALZ central.

App Integration / Messaging

  • 🚨 Queue Storage 64 KB vs Service Bus 256 KB (Premium 100 MB) → gros payload = SB Premium.
  • 🚨 Service Bus Sessions vs Partitioning : Sessions = FIFO par session key. Partitioning = throughput (perd ordre global). "FIFO order" → Sessions.
  • 🚨 SB Premium Geo-DR : réplique la structure (queues/subs), pas les messages en attente.
  • 🚨 Event Grid = discrete events (1 MB) | Event Hub = streaming massif (partitions immutables : Standard 32 / Premium 1024). Kafka compat → Event Hub.

Migration (CAF / WAF)

  • 🚨 DB migration tool : "SQL Server → Azure SQL DB/MI" = Azure Data Studio + ext Azure SQL Migration (ou SSMS 22+). Azure Migrate = serveur entier IaaS. DMS = orchestrateur backend.
  • 🚨 Performance-based assessment (sizing optimisé) vs As-on-prem (oversized). Discovery 24-48h pour perf counters fiables.
  • 🚨 Data Box family 2026 : Heavy RETIRÉ. SKUs = Data Box 525 (525 TB) / Data Box 120 (120 TB). 500 TB → 1× Data Box 525. Disk = 35 TB.
  • 🚨 HCX migration AVS : Bulk = parallèle (gros parcs) | vMotion = série (<30 VMs critiques) | RAV = zéro downtime gros volumes | Cold = VM éteinte.
  • 🚨 Cross-region move : pas natif → Resource Mover ou ASR.
  • 🚨 Azure Arc K8s : projeter EKS/GKE/on-prem comme ressources ARM (RBAC, GitOps Flux, Policy uniformes). Multi-location K8s.
  • 8R : Rehost · Refactor · Rearchitect · Rebuild · Replace · Retire · Retain · Relocate.

HA / DR

  • 🚨 VM Backup RPO : Standard policy = 1×/jour (RPO 24h) | Enhanced = jusqu'à 4×/jour (RPO 4h). Yearly retention max = 99 ans.
  • 🚨 Auto-failover Group : DNS endpoint STABLE, auto failover, RPO <5s (pas zéro). vs Active Geo-Replication : DNS change, manuel, multi read replicas.
  • 🚨 Zone-redundant SQL : BC + Hyperscale (PAS General Purpose Gen5). PITR 7-35j (default 7), LTR jusqu'à 10 ans.
  • 🚨 SQL VM tempdb sur disque éphémère D:\ (perf I/O µs, recréée au reboot, économise Premium SSD).

Monitoring

  • 🚨 App Insights Workspace-based (Classic = legacy). URL ping tests dépréciés → Standard tests. Sampling adaptive recommandé prod.
  • 🚨 SQL Audit Server-level couvre toutes les DBs (préféré à DB-level). Defender for SQL = VA + ATP (coût/DB).

Mots-pièges de l'énoncé → réflexe

Mot-clé scenario Réponse réflexe
"minimum administrative effort" PaaS, MI, built-in
"lift and shift" SQL Server SQL Managed Instance
"100% SQL Server compat" Managed Instance
"very large DB 100+ TB" SQL Hyperscale
"globally distributed multi-master" Cosmos multi-region writes
"must encrypt with own keys" TDE CMK + Key Vault
"data invisible to DBAs" Always Encrypted (Secure Enclaves si queries)
"minimum downtime DR" Auto-failover Group / Cosmos multi-region
"near real-time analytics on OLTP" Synapse Link (HTAP)
"global L7 + WAF + CDN" Front Door Premium
"regional L7 + WAF + path routing" App Gateway v2 + WAF v2
"non-HTTP global LB" Traffic Manager
"users without VPN" App Proxy / Front Door + Private Link / Bastion
"remote workers VPN" Point-to-Site (P2S)
"real-time streaming millions/sec" Event Hub + Stream Analytics/Databricks
"FIFO message ordering" Service Bus Sessions
"K8s without managing nodes" Container Apps
"K8s full control" AKS
"lift-and-shift HPC Slurm/PBS" CycleCloud
"Hadoop on-prem migration" ADLS Gen2 + Databricks/Synapse Spark
"compliance HIPAA/PCI/régulé" Defender + Policy initiatives + Audit + CMK + PE
"infrequent + lowest storage cost" (files) Azure Files Cool
"revoke SAS without rotating key" Stored Access Policy

Confusions classiques (X vs Y)

X Y
Failover SQL Auto-failover Group (DNS stable, auto) Active Geo-Replication (DNS change, manuel)
Cosmos vs SQL DR Cosmos multi-region = active-active Auto-failover Group = active-passive
Audit Activity Log (timeline qui/quoi) Resource Graph (inventaire state)
VPN remote P2S (par device) S2S (datacenter entier)
Messaging Service Bus Sessions (FIFO) Partitioning (throughput, perd ordre)
Eventing Event Grid (discrete events) Event Hub (streaming massif)
Encryption Always Encrypted (client-side, DBA aveugle) TDE/DDM (TDE=at-rest, DDM=affichage)
Migration DB Azure Data Studio + ext (DB only) Azure Migrate (serveur IaaS entier)
Consent Application perm (admin consent obligatoire) User delegated (selon perm)
Logic Apps Standard (single-tenant + VNet) Consumption (multi-tenant)

Dates de retraite à connaître

Feature Date
Hyperscale Fsv2-series 1er oct 2026
Azure Blueprints (déprécation) 11 juil 2026
AKS Kubenet 31 mars 2028
Functions Linux Consumption 30 sept 2028
Data Box Heavy Retiré (2026)

PARTIE 2 — Commandes / repères essentiels

AZ-305 = peu de CLI. Voici les rares commandes utiles + les chiffres clés à mémoriser.

Chiffres clés (SLA / RTO/RPO / limites)

Élément Valeur
Auto-failover Group RPO <5s (pas zéro)
PITR retention SQL 7-35 jours (default 7)
LTR retention SQL jusqu'à 10 ans
VM Backup RPO 24h (Standard) / 4h (Enhanced)
Cosmos partition logique 20 GB max
Cosmos Serverless 5000 RU/s + 1 TB
SQL Hyperscale single DB 128 TB (2026)
SQL MI max ~16 TB (pas de Hyperscale)
Service Bus message Standard 256 KB / Premium 100 MB
Queue Storage message 64 KB
Event Grid / Event Hub event 1 MB max
Event Hub partitions 32 Standard / 1024 Premium
Function timeout Consumption 10 min / Premium illimité
GatewaySubnet /27 mini (VpnGw1+)

Commandes (les plus probables)

# Cosmos multi-region writes + consistency
az cosmosdb create -g rg -n cosmos --kind GlobalDocumentDB \
  --default-consistency-level Session \
  --locations regionName=eastus failoverPriority=0 \
  --locations regionName=westeurope failoverPriority=1 \
  --enable-multiple-write-locations true
az cosmosdb update -g rg -n cosmos --backup-policy-type Continuous   # PITR

# Azure SQL Hyperscale + zone-redundant + Geo backup
az sql db create -g rg --server srv -n db \
  --service-objective HS_Gen5_2 --backup-storage-redundancy Geo --zone-redundant true

# Entra-only auth
az sql server update -g rg -n srv --enable-ad-only-auth true

# Auto-failover Group (DNS stable, auto failover)
az sql failover-group create -g rg --server srv -n fg \
  --partner-server srv-sec --failover-policy Automatic --grace-period 1 --add-db db

# Long-term retention
az sql db ltr-policy set -g rg --server srv --database db \
  --weekly-retention P12W --monthly-retention P12M --yearly-retention P10Y --week-of-year 1

# Functions Flex Consumption (moderne)
az functionapp create -g rg -n fn --flexconsumption-location eastus \
  --runtime node --runtime-version 20 --storage-account st --instance-memory 2048

# Service Bus Premium + Geo-DR (réplique structure, pas messages)
az servicebus namespace create -g rg -n ns --sku Premium --capacity 1
az servicebus georecovery-alias set -g rg --namespace-name ns --alias geo \
  --partner-namespace /subscriptions/.../ns-sec

# Workspace-based App Insights
az monitor app-insights component create -g rg --app ai -l eastus \
  --workspace /subscriptions/.../law --kind web --application-type web

# DMS (orchestrateur backend, piloté via Azure Data Studio)
az dms create -g rg -n dms -l eastus --sku-name Premium_4vCores \
  --subnet /subscriptions/.../subnets/dms

PARTIE 3 — Quick wins (mémorisation)

Choix DB

Relationnel + ACID ?
├─ Mission-critical low-latency → SQL Business Critical
├─ Volume énorme (TB-PB) + read scale → SQL Hyperscale
├─ Compat 100% SQL Server (PaaS) → SQL Managed Instance
├─ Cloud-first standard → SQL Database (GP)
└─ Compat 100% + control OS → SQL Server on VM
NoSQL global low-latency → Cosmos DB (NoSQL / Mongo / Gremlin / Cassandra API)
Multi-tenant scale horizontal → Cosmos for PostgreSQL

Choix Compute

Web HTTP → App Service Pv3 | compliance/isolation → ASE v3 Iv2 | statique+API → SWA
Container → ACI (ad-hoc) | Container Apps (microservices serverless) | AKS (K8s complet)
Serverless → Functions Flex Consumption | Logic Apps (low-code)
Batch/HPC → Azure Batch (greenfield) | CycleCloud (lift-shift Slurm/PBS)

Choix DR / HA SQL

RTO<60s + auto + DNS stable → Auto-failover Group
Manual control + multi read replicas → Active Geo-Replication
DR budget restreint, OK perdre jours → PITR/LTR
HA intra-region → Zone-redundant (BC/Hyperscale)

Choix Encryption SQL

Compliance avec ta clé → TDE with CMK (Key Vault)
Invisible aux DBAs + queries riches → Always Encrypted Secure Enclaves 
Invisible aux DBAs + simple lookup → Always Encrypted Deterministic
Affichage masqué cosmétique → Dynamic Data Masking

Choix Messaging / Eventing

Commande/tâche → Queue Storage (simple) | Service Bus (FIFO/transactions/sessions)
Notification changement → Event Grid (discrete) | Event Hub (streaming massif/IoT)

Réflexes transverses

  • Lire les contraintes : cost / RTO-RPO / compliance / hybrid / multi-region → déterminent le service. Même question + contrainte différente → service différent.
  • PaaS > IaaS sauf compat 100% requise. Managé > self-hosted (KV, MI, ASR, Backup, Defender).
  • Multi-region : Front Door + Cosmos multi-region / SQL Auto-failover Group.
  • Zero-trust : Private Endpoints + Entra-only auth + RBAC + KV CMK.
  • Cost opt : Autoscale, Spot, Reserved Instances, Hybrid Benefit, pause/resume Synapse.