Revision Notes
Everything you need to know on one page. Review this the night before your exam. Key concepts, CLI commands, decision matrices, and gotchas from all 9 modules.
Your Progress
Completed modules are highlighted in green. Mark modules complete from each module page.
Official Skills Measured
These are the exact skills from Microsoft's AI-200 study guide. Each skill is tested on the exam.
Develop Containerized Solutions on Azure
(20–25%)- Build, store, version, and manage container images by using Azure Container Registry
- Build and run images by using Azure Container Registry Tasks
- Deploy containers to Azure App Service, including configuring App Service to supply environment variables and secrets
- Deploy applications to Azure Container Apps, including environment configuration and revision management
- Implement event-driven scaling by using Kubernetes Event-driven Autoscaling (KEDA) in Container Apps
- Deploy and manage applications to Azure Kubernetes Service (AKS) by using manifest files
- Monitor and troubleshoot solutions on AKS and Container Apps by inspecting logs, events, and end-to-end connectivity
- Deploy and manage applications to AKS by using manifest files
- Monitor and troubleshoot solutions on AKS by inspecting logs, events, and end-to-end connectivity
Develop AI Solutions by Using Azure Data Management Services
(25–30%)- Connect to Azure Cosmos DB for NoSQL by using the SDK and run queries
- Optimize query performance and Request Units (RUs) consumption by using indexing policies and consistency levels
- Store and retrieve embeddings and execute vector similarity search for semantic retrieval
- Implement a change feed processor to detect and handle new or updated items
- Connect and query Azure Database for PostgreSQL by using SDKs
- Model schemas and implement indexing strategies, including designing tables and choosing appropriate data types
- Implement indexing strategies, including optimizing query latency and reducing pgvector compute overhead
- Configure compute, memory, and storage resources to support vector workloads
- Run vector similarity search, including storing embeddings, semantic retrieval, and implementing RAG patterns by using metadata filter
- Implement connection optimization to improve throughput and minimize latency
- Implement Azure Managed Redis data operations, including caching, expiration, and invalidation
- Implement vector indexing to enable similarity search
Connect to and Consume Azure Services
(20–25%)- Queue and process back-end operations by using Azure Service Bus, including dead-letter queue handling, messages, topics, and subscriptions
- Implement event-driven workflows by using Azure Event Grid, including filters, custom events, and retries
- Build serverless APIs, including implementing triggers and bindings
- Configure and deploy function apps
Secure, Monitor, and Troubleshoot Azure Solutions
(20–25%)- Secure secrets by using Azure Key Vault, including rotation and retrieval
- Store and retrieve app configuration information by using Azure App Configuration
- Trace distributed systems by using OpenTelemetry SDKs
- Write KQL queries to analyze logs and metrics
Decision Matrix — "Which Service?"
| Scenario | Answer | Why |
|---|---|---|
| Scale to zero, no K8s management | Container Apps | Serverless + KEDA |
| Full Kubernetes API, GPU nodes | AKS | Complete K8s control |
| Store embeddings in NoSQL | Cosmos DB + DiskANN | Vector search built-in |
| RAG with relational data | PostgreSQL + pgvector | SQL + vector in one DB |
| Sub-ms caching, semantic cache | Redis Enterprise | In-memory + vector index |
| Reliable message ordering | Service Bus + Sessions | FIFO + DLQ |
| React to Azure events | Event Grid | Push-based notifications |
| Store secrets securely | Key Vault | RBAC + Managed Identity |
| Feature flags + config | App Configuration | Centralized + labels |
| Distributed tracing | OpenTelemetry → App Insights | TraceId + SpanId |
| Query logs and metrics | KQL in Log Analytics | where → summarize → project |
Essential CLI Commands
ACR
az acr create -n myacr -g rg --sku Premium
az acr login -n myacr
az acr build -r myacr -t img:v1 .
az acr task create --name build ... Container Apps
az containerapp env create ...
az containerapp create --image ...
az containerapp update --traffic ...
az containerapp revision list ... AKS
az aks create --enable-managed-identity
az aks get-credentials -g rg -n myaks
kubectl apply -f deploy.yaml
kubectl get pods -n namespace Key Vault
az keyvault create -n mykv -g rg
az keyvault secret set --name key --value val
az keyvault secret show --name key
# Python: DefaultAzureCredential() Top Exam Gotchas
ACR Admin user is disabled by default — never use in production. Use Managed Identity + AcrPull role.
Cosmos DB partition key cannot be changed after container creation.
Change feed does NOT capture deletes. Use soft-delete pattern (set isDeleted flag).
IVFFlat index requires data before building. HNSW works on empty tables.
Redis vector search requires Enterprise tier.
Key Vault purge protection is irreversible once enabled.
az acr build = one-shot. az acr task create = persistent + auto-triggered. Different commands.
KQL pipe order is opposite to SQL: where → summarize → project (not SELECT...FROM...WHERE).
Container Apps minReplicas: 0 enables scale-to-zero but causes cold starts (~2-5s).
PeekLock is the default (safe) receive mode for Service Bus. ReceiveAndDelete loses messages on failure.
Memory Tricks
ACR "MAP" — Managed Identity · ACR Tasks · Premium for geo-rep
"CREDS" — Containerized · Revisions · Event-driven (KEDA) · Dapr · Scale-to-zero
Cosmos "PRV" — Partition key is permanent · RU = currency · VectorDistance()
pgvector "HIC" — HNSW (prod) · IVFFlat (needs data) · Cosine <=>
"Bank vs News" — Service Bus = bank (reliable) · Event Grid = news (reactive)
KQL "WSP" — Where (filter) · Summarize (GROUP BY) · Project (SELECT)