intermediateAZ-1046-8 weeks prep295 min read

AZ-104: Azure Administrator — Study Guide

Complete study guide for the AZ-104 Azure Administrator Associate exam. Covers identities & governance, storage, compute, networking, and monitoring — with hands-on lab guidance.

azureaz-104azure-administratorintermediatemicrosoftidentitynetworkingstoragecomputemonitoring

Domains

11

Key concepts

12

Study time

6-8 weeks

Exam Overview

DetailInfo
Exam codeAZ-104
Duration100 minutes
Questions40–60 (multiple choice, case studies, labs)
Passing score700 / 1000
Cost~$165 USD
ValidityRenew annually (free online assessment)
PrerequisiteAZ-900 recommended but not required

Domain Weightings

DomainWeight
Manage Azure Identities and Governance20–25%
Implement and Manage Storage15–20%
Deploy and Manage Azure Compute Resources20–25%
Implement and Manage Virtual Networking15–20%
Monitor and Maintain Azure Resources10–15%

AZ-104 Index


Domain 1: Identities and Governance (20–25%)

Microsoft Entra ID (formerly Azure AD)

  • Users — create, invite guests (B2B), bulk import, dynamic groups.
  • Groups — Security groups (access) and Microsoft 365 groups. Dynamic membership via attribute rules.
  • RBAC — assign built-in or custom roles at Management Group / Subscription / Resource Group / Resource scope.
  • Administrative Units — delegate admin to a subset of users (e.g., regional IT teams).

Key RBAC roles

RolePermissions
OwnerFull access + manage access
ContributorFull resource access, cannot grant access
ReaderRead only
User Access AdministratorManage access, not resources

Custom roles — JSON definition with specific Actions, NotActions, DataActions. Assigned at subscription or resource group scope.

Governance

  • Management Groups — hierarchy above subscriptions; apply RBAC and Policy to many subscriptions at once.
  • Azure Policy — enforce rules (Deny, Audit, DeployIfNotExists, Modify). Initiatives group multiple policies.
  • Resource Locks — CanNotDelete or ReadOnly. Overrides all RBAC — even Owners cannot delete a locked resource.
  • Tags — key-value metadata for organisation and cost attribution. Max 50 tags per resource.

Managed Identities

  • System-assigned — tied to one resource; deleted with it.
  • User-assigned — standalone; can be assigned to multiple resources.
  • Use managed identities to authenticate to Azure services (Key Vault, Storage) without storing credentials.

Manage Azure Identities and Governance deep dives

These lessons follow the source AZ-104 certification-theory hierarchy and expand the domain summary into practical administrator-level notes.

Azure Administration

Understanding Azure Resource Manager deep dive

Structured Summary + Deep-Dive for Exam & Architecture Clarity

Primary service
  • Azure Resource Manager
Official documentation
1. Azure Cloud Fundamentals – The Hierarchy

Azure is built in logical layers. Understanding this hierarchy is foundational for every Azure exam and real-world architecture.

Level 1: Resources (Smallest Unit)

Resources are the building blocks of Azure.

Examples
  • Virtual Machines
  • Storage Accounts
  • Virtual Networks
  • Databases
  • App Services
Each resource
  • Belongs to one resource group
  • Exists in one region
  • Has a resource provider type
  • Is managed through ARM
Think of resources as individual cloud components providing
  • Compute
  • Storage
  • Networking
  • Security
  • Identity
  • Application hosting
Level 2: Resource Groups (Logical Containers)

A Resource Group (RG) is a logical container for resources.

Characteristics
  • Resources can only belong to one resource group
Resource groups help organize by
  • Lifecycle
  • Environment (Dev/Test/Prod)
  • Department
  • Application
  • Security boundary
Important behaviors
  • Deleting a resource group deletes ALL contained resources
  • RBAC can be applied at RG level
  • Tags can be applied at RG level
Docs
Level 3: Subscriptions (Billing + Governance Boundary)
A subscription is
  • A billing boundary
  • A management boundary
  • A security boundary (RBAC scope)
  • A quota boundary
Key facts
  • Resource groups live inside subscriptions
  • Resources are billed per subscription
Organizations often use multiple subscriptions for
  • Departments
  • Cost separation
  • Compliance
  • Environments
Docs
2. What is Azure Resource Manager (ARM)?
Azure Resource Manager is
  • The deployment and management service for Azure
  • The control plane of Azure
  • The orchestration layer

ARM does NOT directly manipulate resources.

Instead
  • Client (Portal/CLI/PowerShell)
  • → ARM
  • → Resource Provider
  • → Resource
3. How ARM Works Internally
When you create or modify a resource
You send a request via
  • Azure Portal
  • Azure CLI
  • Azure PowerShell
  • REST API

The request goes to ARM.

ARM routes the request to the appropriate Resource Provider.

The Resource Provider performs the operation.

4. Resource Providers (Critical Exam Concept)

Resource Providers (RPs) are services that manage specific resource types.

Examples
  • Microsoft.Compute -> Virtual Machines
  • Microsoft.Storage -> Storage Accounts
  • Microsoft.Network -> VNets
  • Microsoft.Web -> App Services
Each resource type belongs to a provider namespace
Example
  • Microsoft.Storage/storageAccounts
Docs
5. Control Plane vs Data Plane

This distinction is essential.

Control Plane (ARM)
Operations like
  • Create VM
  • Delete Storage Account
  • Modify Networking
  • Assign RBAC

Managed via ARM.

Data Plane
Operations like
  • Upload Blob
  • Read File
  • Insert Table Entity

Handled directly by the service endpoint.

ARM governs control plane only.

6. Azure Identity & Trust Model

Azure uses identity-centric security.

Identity service
  • Microsoft Entra ID
Docs
Tenant
A tenant is
  • An identity boundary
  • A directory of users, groups, service principals
Important
  • A subscription can trust only ONE tenant
  • A tenant can manage multiple subscriptions

This is the trust relationship.

How Access Is Controlled
  • User logs in -> Authenticated via Entra ID
  • Entra issues token -> Token sent to ARM
  • ARM validates RBAC -> Routes request
If no RBAC role assignment

Access denied.

7. ARM Deployment Model
ARM enables
  • Declarative deployments
  • Infrastructure as Code (IaC)
  • Repeatable deployments
Supported via
  • ARM Templates (JSON)
  • Bicep
  • Terraform (via ARM APIs)
Example ARM template defines
  • Resource
  • Properties
  • Dependencies
  • Parameters
Docs
8. Benefits of ARM Model

Before ARM, Azure used "classic" deployment model.

ARM improvements
  • Role-based access control
  • Resource tagging
  • Resource grouping
  • Template-based deployment
  • Consistent API layer
  • Dependency management
  • Idempotent deployments

Classic model is deprecated.

9. Management Scope Hierarchy
Azure management hierarchy
  • Tenant
  • → Management Groups
  • → Subscriptions
  • → Resource Groups
  • → Resources

RBAC can be applied at any level.

Docs
ARM integrates with
  • Azure RBAC
  • Azure Policy
  • Azure Blueprints
  • Tags
  • Locks

These operate through ARM control plane.

1️⃣1️⃣ Security Model Summary

Security flow
  • User
  • → Auth via Entra
  • → Token issued
  • → ARM validates
  • → Resource provider executes

No direct subscription access without tenant trust.

1️⃣2️⃣ Common Exam Pitfalls

  • Resource groups are billing boundaries → False
  • Subscriptions can trust multiple tenants → False
  • ARM directly manages data plane → False
  • Resource providers must be registered → True
  • Tenant = subscription → False
  • Deleting resource group deletes contained resources → True

1️⃣3️⃣ Real-World Architecture Example

Scenario
Company has
  • Tenant A
  • → 5 Subscriptions
  • → Dev, Test, Prod resource groups
Each subscription
  • Linked to same tenant
  • RBAC enforced
  • Separate billing
ARM ensures
  • Policy enforcement
  • Deployment standardization
  • Controlled access
  • 1️⃣4️⃣ Mental Model for Mastery
Think in layers
  • Identity (Tenant)
  • → Governance (Management Groups)
  • → Billing (Subscriptions)
  • → Organization (Resource Groups)
  • → Services (Resources)
  • → Orchestration (ARM)
  • → Execution (Resource Providers)
  • 1️⃣5️⃣ Final Key Takeaways
  • Resources are smallest unit
  • Resource Groups organize resources
  • Subscriptions handle billing and governance
  • ARM is the orchestration/control plane
  • Resource Providers execute operations
  • Tenant controls identity trust
  • Subscription trusts only one tenant
Understanding ARM is foundational for
  • AZ-104
  • AZ-204
  • AZ-305
  • Enterprise architecture
  • Governance design
Using the Azure Portal and Cloud Shell deep dive

Structured Summary + Deep Technical Understanding

Primary services covered
  • Azure Portal
  • Azure Cloud Shell
Official documentation
1. What is the Azure Portal?
The Azure Portal is
  • A web-based graphical user interface (GUI)
  • Accessible at: https://portal.azure.com
  • Used to create, manage, monitor Azure resources
  • Built on top of Azure Resource Manager (ARM)

It is a control-plane interface for Azure.

Anything you do in the portal
  • Create VM
  • Delete Storage Account
  • Assign RBAC
  • Configure networking
  • → Sends REST API calls to Azure Resource Manager
  • → ARM forwards request to the correct Resource Provider

(From previous lesson: Portal → ARM → Resource Provider → Resource)

2. Key Portal Components
Home Dashboard
Displays
  • Recently used resources
  • Favorites
  • Quick-create templates
  • Marketplace suggestions
You can customize dashboards for
  • CPU usage
  • Memory metrics
  • Alerts
  • Resource tiles

This provides a “single pane of glass” view of your environment.

Core options
  • Create a resource
  • Dashboard
  • All services
  • Favorites
  • Resource groups
  • Subscriptions
Search Bar (Highly Used Feature)
Search allows
  • Find services
  • Find specific resources
  • Find documentation
  • Access marketplace
  • View search history

Important for speed in production environments.

3. Creating a Resource via Portal (Example: Virtual Machine)
Example resource
  • Azure Virtual Machines
When creating a VM
You configure
  • Resource Group (mandatory)
  • Region
  • Availability options
  • OS image
  • VM size
  • Authentication
  • Networking
  • Disks
  • Tags
Important concept
Deploying a VM automatically deploys dependent resources, such as
  • Network Interface (Microsoft.Network)
  • Public IP
  • Virtual Network
  • Disk
  • NSG (optional)

These dependencies are deployed via ARM and respective Resource Providers.

Example providers
  • Microsoft.Compute
  • Microsoft.Network
  • Microsoft.Storage

This demonstrates ARM orchestration in action.

4. Resource Type Namespaces (Exam-Relevant)
Every Azure resource has a type format
  • Microsoft.ProviderName/resourceType
Examples
  • Microsoft.Compute/virtualMachines
  • Microsoft.Network/networkInterfaces
  • Microsoft.Storage/storageAccounts
Understanding this helps in
  • ARM templates
  • RBAC
  • Azure Policy
  • Troubleshooting
5. Azure Cloud Shell Overview
Cloud Shell is
  • A browser-based shell
  • Pre-authenticated to your Azure account
  • Runs inside Azure
  • No local installation required
Supports
  • Bash (Azure CLI)
  • PowerShell (Az module)
6. Bash vs PowerShell in Cloud Shell
Bash
Uses
  • Azure CLI (az commands)
Example
  • az vm list
Best for
  • Cross-platform scripting
  • DevOps pipelines
  • Linux-style automation
PowerShell
Uses
  • Azure PowerShell (Az module)
Example
  • Get-AzVM
Best for
  • Windows admins
  • PowerShell-native automation
  • Advanced scripting logic

Switching shells restarts session.

7. Cloud Shell Storage Options
Two options
Mounts a storage account
  • Saves scripts
  • Persists files
  • Keeps configurations
Backed by
  • Azure Files
No Storage Account
Ephemeral session
  • No file persistence
  • Temporary environment
  • Good for quick tests
8. Cloud Shell Capabilities
  • Upload / Download files
  • Multiple sessions
  • Built-in code editor
  • Web preview (for apps running in shell)
  • Settings customization
  • Documentation help
Cloud Shell environment includes
  • Azure CLI
  • PowerShell Az module
  • Git
  • Terraform
  • kubectl
  • Helm
  • Docker tools
  • Python
  • Node.js

It is essentially a preconfigured DevOps environment.

9. Portal vs Cloud Shell

| Feature | Azure Portal | Cloud Shell |

| --- | --- | --- |

| Interface | GUI | CLI |

| Ease of use | Very easy | Moderate |

| Automation | Limited | Powerful |

| Scriptable | No | Yes |

| Good for beginners | Yes | Intermediate+ |

| DevOps use | Minimal | High |

🔟 Control Plane Integration

Both Portal and Cloud Shell
  • Use REST APIs
  • Talk to Azure Resource Manager
  • Operate in control plane

They do NOT directly manipulate data plane operations (e.g., blob uploads via service endpoint).

1️⃣1️⃣ Security Model

When using Portal or Cloud Shell
Authentication handled by
  • Microsoft Entra ID
Process

User login → Token issued → Token sent to ARM → RBAC evaluated → Operation allowed or denied.

Cloud Shell inherits your Entra authentication session.

1️⃣2️⃣ Real-World Usage Scenarios

Portal is ideal for
  • Learning Azure
  • One-off deployments
  • Monitoring
  • Troubleshooting
  • Visual configuration
Cloud Shell is ideal for
  • Automation
  • Bulk operations
  • CI/CD tasks
  • Infrastructure scripting
  • Advanced management
  • 1️⃣3️⃣ Common Exam Pitfalls
  • Cloud Shell runs locally → False
  • Cloud Shell requires installation → False
  • Portal interacts directly with resources → False (via ARM)
  • VM deployment only creates 1 resource → False
  • Cloud Shell automatically persists files → Only if storage mounted
  • 1️⃣4️⃣ Architecture Insight
When you click “Create VM” in portal
  • Portal UI
  • → REST API call
  • → Azure Resource Manager
  • → Microsoft.Compute
  • → Microsoft.Network
  • → Microsoft.Storage
  • → Deployment orchestration
  • → Resource provisioning
This demonstrates

ARM dependency management.

1️⃣5️⃣ Key Takeaways

  • Azure Portal = GUI management interface
  • Cloud Shell = CLI inside browser
  • Both use ARM
  • VM deployments create multiple dependent resources
  • Resource types follow Microsoft.Provider/resourceType pattern
  • Cloud Shell supports Bash and PowerShell
  • Persistent storage optional but recommended
Understanding these tools is foundational for
  • AZ-104
  • AZ-204
  • AZ-900
  • DevOps engineering
  • Azure governance
Using Azure CLI and Azure PowerShell deep dive

Structured Summary + Deep Understanding

Primary tools
  • Azure CLI
  • Azure PowerShell
Official documentation
1. What is Azure CLI?
Azure CLI is
  • A cross-platform command-line tool
  • Used to manage Azure resources
  • Bash-style syntax
  • Script-friendly
✔ Available in
  • Cloud Shell
  • Windows
  • macOS
  • Linux
Core command structure
  • az <service> <resource> <action>
Example
  • az vm create
Azure CLI interacts with
  • → Azure Resource Manager (control plane)
2. What is Azure PowerShell?
Azure PowerShell is
  • A collection of PowerShell cmdlets (Az module)
  • Object-oriented
  • Built on .NET
  • Used to manage Azure resources
Cmdlet naming pattern
  • Verb-AzNoun
Example
  • New-AzVM
Like CLI, it interacts with
  • → Azure Resource Manager (control plane)
3. CLI vs PowerShell – Core Differences

| Feature | Azure CLI | Azure PowerShell |

| --- | --- | --- |

| Syntax | Bash-style | PowerShell cmdlets |

| Output | JSON (default) | Objects |

| Scripting | Shell scripts | PowerShell scripts |

| Best For | DevOps/Linux users | Windows admins |

| Learning Curve | Simpler | More powerful (object model) |

Both are equally capable.

Choice = Preference + Team ecosystem.

4. Demonstration Breakdown
Example scenario

Create a Virtual Network.

Resource example
  • Azure Virtual Network
5. Azure CLI Workflow Explained
Step 1: List Resource Groups

az group list

Default output: JSON array.

Step 2: Filter Output Using --query

Azure CLI supports JMESPath queries.

Example
  • az group list --query "[].name"

This extracts only the name field.

Step 3: Change Output Format

Default = JSON

Better for scripting = TSV (tab-separated value)

az group list --query "[].name" --output tsv

Why?

Removes brackets and quotes.

Step 4: Save to Variable

rgcli=$(az group list --query "[].name" --output tsv)

Use variable later
  • echo $rgcli
Step 5: Create Virtual Network

az network vnet create \

  • -name VNetCLI \
  • -resource-group $rgcli \
  • -address-prefix 10.0.0.0/16
Command pattern
  • az network vnet create
  • ProvisioningState: Succeeded
6. Azure PowerShell Workflow Explained
Step 1: Get Resource Group

Get-AzResourceGroup

Returns PowerShell objects (not JSON).

Step 2: Save to Variable

$rgps = Get-AzResourceGroup

PowerShell stores full object.

Step 3: Access Object Properties

$rgps.ResourceGroupName

$rgps.Location

Object model advantage

You can drill into properties directly.

Step 4: Create Virtual Network

New-AzVirtualNetwork `

  • Name VNetPS `
  • ResourceGroupName $rgps.ResourceGroupName `
  • Location $rgps.Location `
  • AddressPrefix 10.1.0.0/16

ProvisioningState: Succeeded

7. Key Architectural Concept
Both CLI and PowerShell
  • User Command
  • → REST API call
  • → Azure Resource Manager
  • → Resource Provider (Microsoft.Network)
  • → Resource Created

They are simply different interfaces to ARM.

8. Object-Oriented Advantage (PowerShell)

PowerShell returns structured objects.

Example
  • $vm = Get-AzVM
  • $vm.HardwareProfile.VmSize
You can chain and pipe objects
  • Get-AzVM | Where-Object {$_.Location -eq "eastus"}

This makes PowerShell powerful for complex logic.

9. JSON Advantage (CLI)

CLI returns JSON by default.

Best for
  • DevOps pipelines
  • Automation systems
Integration with tools like
  • jq
  • Terraform
  • Ansible
Example
  • az vm list --output table
Supports formats
  • json
  • jsonc
  • table
  • tsv
  • yaml
  • 🔟 When to Use Each
Use Azure CLI When:
  • Working in Linux
  • Writing CI/CD pipelines
  • Using Bash
  • Automating DevOps workflows
Use Azure PowerShell When:
  • Using Windows ecosystem
  • Need object manipulation
  • Writing complex automation
  • Managing enterprise scripts

1️⃣1️⃣ Cloud Shell Integration

In
  • Azure Cloud Shell
You can
  • Run Azure CLI (Bash)
  • Run Azure PowerShell (PowerShell)

Switching shells restarts session.

Cloud Shell is pre-authenticated.

1️⃣2️⃣ Authentication Model

Both tools authenticate via
  • Microsoft Entra ID
Process
  • Login
  • → Token issued
  • → Token passed to ARM
  • → RBAC enforced
  • → Action executed
  • 1️⃣3️⃣ Common Exam Pitfalls
  • CLI and PowerShell manage data plane directly → False
  • PowerShell returns JSON → False
  • CLI cannot be scripted → False
  • Both use ARM → True
  • PowerShell is better than CLI → False (preference-based)
  • 1️⃣4️⃣ Advanced Automation Insight
For production automation
  • Use variables
  • Use output formatting
  • Validate provisioning state
  • Handle errors
  • Use idempotent scripts
Example
Check before creating
CLI
  • az network vnet show --name VNetCLI
PowerShell
  • Get-AzVirtualNetwork -Name VNetPS
  • 1️⃣5️⃣ Mental Model
  • Portal = GUI
  • CLI = Scriptable Bash interface
  • PowerShell = Scriptable object-oriented interface

All communicate with ARM.

1️⃣6️⃣ Final Takeaways

  • Azure CLI = Bash-style, JSON-based
  • Azure PowerShell = Object-oriented cmdlets
  • Both automate Azure
  • Both integrate with Cloud Shell
  • Both use ARM
  • Preference depends on ecosystem
These tools are foundational for
  • AZ-104
  • AZ-204
  • DevOps roles
  • Automation engineering
  • Enterprise scripting
Discovering Azure Resource Manager deep dive

Structured Summary + Deep Technical Understanding

Primary service
  • Azure Resource Manager
Official documentation
1. What Are ARM Templates?
ARM Templates are
  • JSON files
  • Used for Infrastructure as Code (IaC)
  • Declarative deployment model
  • Processed by Azure Resource Manager

They define what your infrastructure should look like — not how to build it step-by-step.

High-Level Flow

ARM Template (JSON)

→ Submitted to Azure Resource Manager

→ ARM validates against schema

→ ARM identifies required Resource Providers

→ Resources deployed

Example resource types
  • Microsoft.Compute/virtualMachines
  • Microsoft.Network/virtualNetworks
  • Microsoft.Storage/storageAccounts
2. Why Use ARM Templates?
Core Benefits
  • Repeatable deployments
  • Consistent environments
  • Automation-ready
  • Faster recovery
  • Reduced manual errors
  • Version-controlled infrastructure
Real-World Use Case
Hub-and-Spoke Network Topology
Instead of manually building
  • VNets
  • Subnets
  • NSGs
  • Route tables
  • Peering
  • You codify it once -> deploy everywhere.

Dev/Test/Prod can use same template.

3. Deployment Scopes
ARM Templates can deploy at
  • Resource Group scope (most common)
  • Subscription scope
  • Management Group scope
  • Tenant scope

Most basic examples use Resource Group scope.

Docs
4. ARM Template Structure (Critical for Exams)

An ARM template contains structured sections.

1. $schema (Mandatory)
Defines
  • Template schema version
  • Validation rules
  • IntelliSense behavior
Example

"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#"

Important
  • Date = schema version
  • deploymentTemplate = resource group scope
2. contentVersion (Mandatory)
Example
  • "contentVersion": "1.0.0.0"
Purpose
  • Manual template versioning
  • Rarely used heavily in real-world
  • Git usually handles versioning
3. parameters (Optional but Powerful)
Used to
  • Pass values at deployment time
  • Make templates reusable
  • Customize per environment
Example
  • "parameters": {
  • "environmentName": {
  • "type": "string"
  • }
  • }
Use cases
  • Dev -> dev-webapp
  • Test -> test-webapp
  • Prod -> prod-webapp

Same template, different inputs.

Parameter File Example

Separate file
  • {
  • "parameters": {
  • "environmentName": {
  • "value": "dev"
  • }
  • }
  • }

Used in CI/CD pipelines.

5. Built-in vs User-Defined Functions
ARM supports
Built-in Functions
Examples
  • resourceGroup()
  • subscription()
  • concat()
  • parameters()
  • variables()
  • uniqueString()
Docs
User-Defined Functions (Optional Section)
Used when
  • Complex logic needed
  • Combining multiple built-in functions
Defined under
  • "functions": []

Less common in basic deployments.

6. Variables Section
Variables
  • Reusable values
  • Reduce repetition
  • Improve readability
Example
  • "variables": {
  • "location": "eastus"
  • }
Or dynamic
  • "variables": {
  • "storageAccountName": "[concat('stor', uniqueString(resourceGroup().id))]"
  • }
Variables improve
  • Maintainability
  • Template clarity
7. Resources Section (Core of Template)

This is the most important section.

Defines
  • Resource type
  • API version
  • Name
  • Location
  • Properties
  • Dependencies
Example
  • "resources": [
  • {
  • "type": "Microsoft.Storage/storageAccounts",
  • "apiVersion": "2022-09-01",
  • "name": "[parameters('storageName')]",
  • "location": "[resourceGroup().location]",
  • "properties": {}
  • }
  • ]

Multiple resources can be deployed in one template.

Dependency Management
ARM automatically
  • Detects dependencies
  • Orders deployment
Or you can explicitly define
  • "dependsOn": []
8. Outputs Section (Optional but Useful)
Used to
  • Return values after deployment
  • Feed values into pipelines
  • Chain deployments
Example
  • "outputs": {
  • "storageAccountName": {
  • "type": "string",
  • "value": "[variables('storageAccountName')]"
  • }
  • }
Common in
  • CI/CD
  • Automation
  • DevOps workflows
9. Deployment Modes
Two deployment modes
Incremental (Default)

Adds/updates resources defined in template

Does NOT delete unspecified resources

Complete

Deletes resources not defined in template

⚠ Complete mode can remove resources.

Docs

ARM Templates are Declarative.

You define

Desired state.

ARM figures out

Execution order.

Unlike
  • Azure CLI scripts -> Imperative (step-by-step).
  • 1️⃣1️⃣ ARM vs Bicep
  • ARM = JSON (verbose)
  • Bicep = Simplified DSL that compiles to ARM
Modern best practice

Use Bicep instead of raw ARM.

Docs
  • azure / azure resource manager / bicep / overview
  • 1️⃣2️⃣ Common Exam Pitfalls
  • ARM Templates are imperative → False
  • Schema section is optional → False
  • Parameters are mandatory → False
  • Resources section optional → False
  • Outputs required → False
  • ARM Templates manage data plane → False
  • 1️⃣3️⃣ Real-World Deployment Example
Scenario
Deploy
  • VNet
  • Subnets
  • VM
  • NSG
  • Storage account
All defined in

Single ARM template.

Benefits
  • One-click deployment
  • Dev/Test/Prod reuse
  • Disaster recovery ready
  • Git-controlled infrastructure
  • 1️⃣4️⃣ Infrastructure as Code (IaC) Philosophy
Advantages
  • Version control
  • Auditable changes
  • CI/CD integration
  • Reduced configuration drift
  • Faster environment recreation
  • 1️⃣5️⃣ Mental Model
Think of ARM template as

Blueprint of infrastructure.

You define
  • Inputs (parameters)
  • Internal logic (variables/functions)
  • Resources
  • Outputs

ARM enforces structure via schema.

1️⃣6️⃣ Final Key Takeaways

  • ARM Templates = JSON Infrastructure as Code
  • Declarative model
  • Repeatable deployments
  • Schema validates template
  • Parameters enable reuse
  • Resources define infrastructure
  • Outputs enable automation
  • Deployable at multiple scopes
ARM templates are foundational for
  • AZ-104
  • AZ-204
  • AZ-305
  • DevOps
  • Cloud architecture
Using Azure Resource Manager deep dive

Structured Summary + Deep Technical Understanding

Primary service
  • Azure Resource Manager
Official documentation

ARM templates overview: https://learn.microsoft.com/azure/azure-resource-manager/templates/overview

Deploy templates in portal: https://learn.microsoft.com/azure/azure-resource-manager/templates/deploy-portal

Quickstart templates: https://learn.microsoft.com/azure/azure-resource-manager/templates/template-samples

1. Core Concept: Everything in Azure Uses ARM Templates
Even when you deploy resources using
  • Azure Portal
  • Azure CLI
  • Azure PowerShell
Behind the scenes
  • An ARM template is generated
  • Azure Resource Manager processes it
  • Resource Providers deploy the resources

The portal is simply a GUI for generating ARM templates.

2. Exporting a Deployment as an ARM Template
During Deployment (Before Create)
When creating a resource (e.g., Web App)
  • Go to Create Resource
  • Fill configuration
  • Go to Review + Create
  • Select Download a template for automation
This shows
  • The exact ARM template Azure will use
  • Parameters and resource definitions
  • Dependencies
This is extremely useful for
  • Learning ARM structure
  • Converting manual deployments to Infrastructure as Code
  • Creating reusable templates
After Deployment (Existing Resources)

You can export ARM templates from completed deployments.

Steps
  • Go to Resource Group
  • Select Deployments
  • Open a deployment
  • Select Template

This shows the full template used for that deployment.

Important use case
  • Reverse engineer existing infrastructure
  • Standardize legacy environments
  • Create reusable templates from production
3. Deploying a Custom ARM Template in Portal

You can manually deploy ARM templates from the portal.

Search for
  • "Deploy a custom template"
This opens
  • Template editor
  • Quickstart templates
  • Upload template option
4. Using Quickstart Templates
Azure provides public templates via
  • Azure Quickstart Templates
Repository
Benefits
  • Prebuilt production-ready templates
  • Complex deployments (e.g., hub-spoke, AKS, multi-tier apps)
  • Learning resource
5. Building an ARM Template Using Portal Editor
In the demonstration
  • Start with blank template
  • Add resource -> Virtual Network
  • Add resource -> Virtual Machine
  • Add resource -> Storage Account
  • Link VM to existing VNet in template
The editor
  • Automatically generates resource blocks
  • Adds required variables
  • Creates dependent resources (NIC, disk, etc.)
  • Handles dependencies
This demonstrates

ARM handles dependency resolution automatically.

6. Example Resources Generated
When adding a VM, the template automatically included
  • Virtual Network
  • Network Interface
  • Storage Account
  • VM resource
  • Variables for naming
  • OS configuration parameters
This illustrates

Deploying one “simple” resource often creates multiple dependent resources.

7. Template Deployment Flow
After clicking Create
  • Portal
  • → ARM Template generated
  • → Azure Resource Manager
  • → Resource Providers
  • → Deployment orchestrated
  • ProvisioningState = Succeeded
8. Template Components Observed in Demo
The generated template contained
  • $schema
  • contentVersion
  • parameters
  • variables
  • resources

Demonstrating real-world template structure.

9. Key Capabilities Demonstrated
  • Export template before deployment
  • Export template after deployment
  • Use template editor
  • Add multiple resources
  • Link resources within template
  • Deploy template via portal

🔟 Why This Is Important

ARM templates allow
  • Standardized infrastructure
  • Dev/Test/Prod parity
  • Disaster recovery redeployment
  • CI/CD automation
  • Governance consistency
  • 1️⃣1️⃣ Deployment Modes Reminder
ARM supports
  • Incremental (default)
  • Adds/updates defined resources
  • Does not delete others
  • Complete
  • Removes resources not in template
  • Use carefully
Docs
Common pipeline pattern
  • Git repository
  • → ARM template
  • → Azure DevOps / GitHub Actions
  • → ARM deployment task
  • → Infrastructure provisioned
Outputs from template can feed into
  • Subsequent pipeline steps
  • Application deployments
  • 1️⃣3️⃣ Real-World Example
Instead of manually creating
  • VNet
  • VM
  • Storage account
  • NIC
  • NSG

You define them once in a template.

Then
  • Deploy to Dev
  • Deploy to Test
  • Deploy to Prod

Same template, different parameter files.

1️⃣4️⃣ Common Exam Pitfalls

  • ARM templates are only used in CLI → False
  • Portal doesn’t use ARM → False
  • Templates can’t be exported → False
  • Templates only deploy one resource → False
  • Dependencies must always be manually defined → Not always (ARM resolves automatically)

1️⃣5️⃣ Mental Model

Think of ARM templates as

Blueprints.

Portal = Blueprint generator

CLI = Blueprint executor

PowerShell = Blueprint executor

ARM = Construction manager

Resource Providers = Construction teams

1️⃣6️⃣ Final Key Takeaways

  • Everything in Azure is ARM-driven
  • Portal generates ARM templates behind the scenes
  • You can export templates before and after deployment
  • Templates allow repeatable infrastructure
  • Multiple resources can be deployed together
  • ARM resolves dependencies automatically
  • Custom templates can be deployed directly from portal
ARM templates are foundational for
  • AZ-104
  • AZ-204
  • AZ-305
  • DevOps engineering
  • Enterprise cloud architecture
Discovering Azure Bicep deep dive

Structured Summary + Deep Technical Understanding

Primary services involved
  • Azure Bicep
  • Azure Resource Manager
  • Azure Cloud Shell
Official Documentation

Bicep syntax reference: https://learn.microsoft.com/azure/azure-resource-manager/bicep/file

Deploy Bicep with PowerShell: https://learn.microsoft.com/azure/azure-resource-manager/bicep/deploy-powershell

Deploy Bicep with CLI: https://learn.microsoft.com/azure/azure-resource-manager/bicep/deploy-cli

1. What Is Azure Bicep?
Azure Bicep is
  • A domain-specific language (DSL) for deploying Azure resources
  • A cleaner alternative to ARM JSON templates
  • An abstraction layer over ARM templates
  • Infrastructure as Code (IaC)

It simplifies writing Azure deployments.

2. Why Bicep Was Created
Problem with ARM templates
  • JSON is verbose
  • Difficult to read
  • Hard to maintain at scale
  • Nested brackets and quotes become messy
Example reality
  • ARM JSON = machine-friendly
  • Bicep = human-friendly
Bicep dramatically reduces
  • Boilerplate
  • Syntax clutter
  • Complexity
3. Bicep vs ARM – Architecture Flow

ARM Workflow

Write ARM template (JSON)

Deploy template

ARM processes request

Resource Providers deploy resources

Bicep Workflow

Write Bicep file

Bicep compiles to ARM template

ARM processes template

Resource Providers deploy resources

Important
  • 🚨 Bicep does NOT replace ARM
  • 🚨 Bicep compiles into ARM JSON
  • 🚨 ARM is still the engine
4. Bicep File Structure (From Demo)
The sample Bicep file included
  • param location string = resourceGroup().location
  • param webAppName string
  • resource appServicePlan 'Microsoft.Web/serverfarms@2022-03-01' = {

...

}

resource webApp 'Microsoft.Web/sites@2022-03-01' = {

...

}

Key components observed
  • Parameters
  • Variables
  • Resources
  • Symbolic names
  • Built-in functions
5. Understanding Key Bicep Concepts
Parameters

Used to pass values at deployment time.

Example
  • param location string = resourceGroup().location
Meaning
  • Type = string
  • Default = resource group location
  • Uses built-in ARM function
If no default is provided

Deployment will prompt user.

Built-in Functions
Example used
  • resourceGroup().location
This retrieves
  • The location of the resource group
  • Makes template portable across regions
Docs
Symbolic Names (Very Important)
Example

resource appServicePlan ...

appServicePlan is NOT the deployed name.

It is
  • A symbolic reference inside the template
  • Used for linking resources
Example reference
  • serverFarmId: appServicePlan.id
This means

Take the ID of that resource after deployment and assign it here.

This is how dependencies are managed cleanly in Bicep.

6. Quotation Rules Explained
In the demo
  • name: webAppName
  • location: location
No quotes because
  • They reference parameters/variables
But
  • name: 'HardCodedName'

Uses quotes because it's a literal string.

7. Handling Global Uniqueness (Web App Name Error)

Web App names must be globally unique.

Initial issue
Hardcoded
  • name: 'AwesomeApp'
Error occurred

Website with given name already exists.

Solution
Create parameter
  • param webAppName string

Now deployment prompts for unique name.

This makes template
  • Reusable
  • Environment-independent
  • Production-ready
8. Deploying Bicep with PowerShell
Used in demo
  • New-AzResourceGroupDeployment `
  • ResourceGroupName $rg.ResourceGroupName `
  • TemplateFile deploy.bicep
Deployment flow
  • Bicep file
  • → Compiled to ARM JSON
  • → Sent to Azure Resource Manager
  • → Resources deployed
9. Verifying Compilation
After deployment
  • Resource Group
  • → Deployments
  • → Select deployment
  • → Template
You see
  • ARM JSON template
This confirms
  • Bicep compiled into ARM
  • ARM executed the deployment
  • 🔟 Advantages of Azure Bicep
  • | Feature | Benefit |
  • | --- | --- |
  • | Cleaner syntax | Easier to read |
  • | Native Azure support | No external engine |
  • | Symbolic names | Automatic dependency handling |
  • | Modular design | Reusable components |
  • | Built-in functions | Dynamic values |

| Full ARM parity | Can do everything ARM can |

1️⃣1️⃣ Advanced Capabilities (Beyond Demo)

Bicep also supports
  • Modules (reusable template blocks)
  • Loops (for deploying multiple resources)
  • Conditions (deploy only if true)
  • Existing resource references
  • Secure parameters
Example loop

resource storageAccounts 'Microsoft.Storage/storageAccounts@2022-09-01' = [for i in range(0,3): {

name: 'storage${i}'

...

}]

1️⃣2️⃣ Where Bicep Fits in DevOps

Typical workflow
  • Git Repository
  • → Bicep files
  • → CI/CD pipeline
  • → Bicep compiled
  • → ARM deployment
  • → Azure infrastructure
Common tools
  • Azure DevOps
  • GitHub Actions
  • Azure CLI
  • PowerShell
  • 1️⃣3️⃣ Exam-Relevant Points
  • Bicep is GA (Generally Available)
  • Bicep compiles to ARM JSON
  • ARM remains underlying engine
  • Symbolic names manage dependencies
  • Parameters improve reusability
  • Bicep supports same scopes as ARM (resource group, subscription, etc.)
  • 1️⃣4️⃣ Bicep vs ARM Quick Comparison
  • | ARM JSON | Bicep |
  • | --- | --- |
  • | Verbose | Concise |
  • | Complex nesting | Clean structure |
  • | Harder to maintain | Easier to refactor |
  • | JSON syntax | Declarative DSL |
  • | Native engine | Compiles to ARM |
  • 1️⃣5️⃣ Mental Model
Think of Bicep as
  • High-level language (like C#)
  • ARM JSON as compiled IL
  • Azure Resource Manager as runtime engine
  • You write Bicep -> Azure runs ARM.
  • 1️⃣6️⃣ Final Key Takeaways
  • Azure Bicep simplifies ARM template authoring
  • It is NOT a replacement engine
  • It compiles into ARM templates
  • Symbolic names enable clean resource linking
  • Parameters enable reusable deployments
  • Default values improve portability
  • All Azure deployments ultimately use ARM
Migrating to Azure Bicep deep dive

Structured Summary + Deep Technical Understanding

Primary technologies involved
  • Azure Bicep
  • Azure Resource Manager
  • Azure Cloud Shell
Official Documentation

Bicep CLI reference: https://learn.microsoft.com/azure/azure-resource-manager/bicep/bicep-cli

Decompile ARM to Bicep: https://learn.microsoft.com/azure/azure-resource-manager/bicep/decompile

Deploy Bicep with Azure CLI: https://learn.microsoft.com/azure/azure-resource-manager/bicep/deploy-cli

Deploy Bicep with PowerShell: https://learn.microsoft.com/azure/azure-resource-manager/bicep/deploy-powershell

1. Big Picture: Why Migrate from ARM to Bicep?
We already know
  • ARM JSON
  • → Talks to Azure Resource Manager
  • → Talks to Resource Providers
  • → Deploys resources
Bicep is
  • A higher-level language
  • Easier to read and write
  • Fully compatible with ARM
  • Automatically compiled into ARM JSON

So migration = converting existing ARM templates into cleaner Bicep files.

2. Key Tool: Azure Bicep CLI
Inside Cloud Shell (Bash)
  • az bicep help
Important commands
  • | Command | Purpose |
  • | --- | --- |
  • | build | Convert Bicep -> ARM JSON |
  • | decompile | Convert ARM JSON -> Bicep |

These two commands enable full round-trip conversion.

3. Bicep → ARM (Build Command)
Command used
  • az bicep build --file deploy.bicep --outfile test.json
What happens
  • deploy.bicep
  • → Compiled
  • → test.json (ARM template generated)

This JSON file is exactly what Azure uses during deployment.

Important
  • This happens automatically during normal Bicep deployment
  • You can run it manually for inspection/debugging
4. Inspecting the Generated ARM Template
The generated JSON includes
  • $schema
  • contentVersion
  • parameters
  • variables
  • resources
Example components seen
  • Location parameter with default
  • WebAppName parameter
  • SKU variable
  • LinuxFxVersion variable
  • Microsoft.Web/serverfarms resource
  • Microsoft.Web/sites resource
This confirms

Bicep preserves full ARM template structure.

5. ARM → Bicep (Decompile Command)
Command used
  • az bicep decompile --file test.json
Output
  • test.bicep
Important warning displayed
  • ⚠ "Best effort decompilation"
Meaning
  • Complex templates may not convert perfectly
  • Manual cleanup/refactoring may be needed
  • Especially true for advanced nested templates

Docs explicitly state decompilation is not guaranteed to be 100% clean.

6. Why Decompilation Might Need Refactoring
Possible issues in complex templates
  • Nested deployments
  • Linked templates
  • Copy loops
  • Advanced conditions
  • Expressions rewritten awkwardly
  • Redundant variables
After decompile
  • Always review file
  • Simplify expressions
  • Replace hardcoded values with parameters
  • Improve readability
7. Full Migration Workflow (From Demo)

Step 1 — Start with Bicep

  • Step 2 — Build -> JSON
  • Step 3 — Decompile JSON -> Bicep

Step 4 — Deploy new Bicep file

Deployment command used
  • az deployment group create \
  • -name DemoDeployment \
  • -resource-group $rgName \
  • -template-file test.bicep
This proves
  • Decompilation result is fully deployable
  • Round-trip conversion works
8. Verifying Deployment
Command used
  • az resource list --resource-group $rgName --output table
Result showed
  • App Service Plan
  • Web App
  • Cloud Shell storage account
Deployment state
  • ProvisioningState = Succeeded
9. What This Demonstrates Architecturally

Bicep is NOT a separate deployment engine.

It always becomes
  • Bicep
  • → ARM JSON
  • → Azure Resource Manager
  • → Resource Providers
  • → Resources

Even decompiled Bicep will go through ARM when deployed.

🔟 When Should You Migrate?

You should migrate ARM to Bicep if
  • Templates are large and hard to maintain
  • Teams struggle with JSON readability
  • You want modular architecture
  • You want easier parameter management
  • You want better developer experience
  • 1️⃣1️⃣ Enterprise Migration Strategy
Real-world approach
  • Export existing ARM templates
  • Decompile to Bicep
Refactor Bicep
  • Extract modules
  • Simplify parameters
  • Improve naming
  • Store in Git
  • Integrate into CI/CD
  • Retire legacy ARM JSON
  • 1️⃣2️⃣ Advanced Migration Tips
  • Use Modules
Break large templates into reusable modules
  • module webApp './webapp.bicep' = {
  • name: 'webAppDeployment'
  • params: {

...

}

}

  • Replace Hardcoded Values
Convert
  • name: 'mywebapp'
Into
  • param webAppName string
  • name: webAppName
  • Use Secure Parameters
  • @secure()
  • param adminPassword string
  • 1️⃣3️⃣ Migration Caveats
  • | Scenario | Risk |
  • | --- | --- |
  • | Linked templates | May require manual restructuring |
  • | Copy loops | Might not convert cleanly |
  • | Nested deployments | Often need cleanup |
  • | Old API versions | Should be upgraded |

Always test in dev before production rollout.

1️⃣4️⃣ Bicep CLI Build vs Deploy

Important distinction
  • Build
  • Only compiles Bicep -> JSON
  • No resources deployed
  • Deploy
  • Compiles AND deploys
Example deploy via CLI
  • az deployment group create \
  • -resource-group myRG \
  • -template-file main.bicep

No need to manually build first.

1️⃣5️⃣ Mental Model

Think of migration like this
  • ARM JSON = Assembly language
  • Bicep = C#
  • Decompile = reverse-engineering assembly back into C#

It works, but it may need cleanup.

1️⃣6️⃣ Key Exam Points

  • Bicep build converts to ARM JSON
  • Bicep decompile converts JSON to Bicep
  • Decompile is best-effort only
  • Bicep fully supports all ARM features
  • Deployment scopes include resource group, subscription, management group
  • Underlying engine is always Azure Resource Manager

1️⃣7️⃣ Final Takeaways

  • Migrating to Bicep improves maintainability
  • Bicep is production-ready (GA)
  • ARM knowledge is still required
  • Decompile helps accelerate migration
  • Always review converted templates
  • Round-trip conversion works
  • Azure still deploys using ARM internally
Azure Administration Exam Tips deep dive

Exam Tips: Azure Administration

Structured Summary + Deep Understanding for Exam Readiness

Primary services covered
  • Azure Resource Manager
  • Azure Portal
  • Azure Cloud Shell
  • Azure CLI
  • Azure PowerShell
  • Azure Bicep
  • Microsoft Entra ID
Official documentation

Azure Portal overview: https://learn.microsoft.com/azure/azure-portal/azure-portal-overview

Azure CLI: https://learn.microsoft.com/cli/azure/

Azure PowerShell: https://learn.microsoft.com/powershell/azure/

ARM templates: https://learn.microsoft.com/azure/azure-resource-manager/templates/overview

Bicep overview: https://learn.microsoft.com/azure/azure-resource-manager/bicep/overview

1. Azure Core Hierarchy (Critical for Exams)
Understand this structure clearly
  • Resources -> Resource Groups → Subscriptions
Resources
Examples
  • Virtual Machines
  • Storage Accounts
  • Virtual Networks
They are
  • Azure-managed services
  • The smallest deployable unit
  • Always deployed into a resource group
Resource Groups

Logical container for resources

Used for lifecycle management

Used for access control (RBAC scope)

Used for grouping by environment (Dev/Test/Prod)

Important

Resources cannot exist outside a resource group.

Subscriptions

Contain resource groups

Act as billing boundary

Used for cost management

Provide quota limits

Exam trap

A subscription can have many resource groups.

A resource group cannot span subscriptions.

2. Azure Resource Manager (ARM) Architecture
All management operations flow through
  • Azure Resource Manager
How it works
  • User sends request (Portal / CLI / PowerShell)
  • Request hits ARM REST API
  • ARM forwards to Resource Provider
  • Resource Provider performs action
Example
  • Creating a VM -> ARM → Microsoft.Compute → VM deployed
Key Exam Concept
  • ARM is the control plane
  • Resource Providers handle resource-specific logic
3. Authentication & Identity
Authentication uses
  • Microsoft Entra ID
When you log into
  • Azure Portal
  • Cloud Shell
  • CLI
  • PowerShell

You authenticate with Entra ID.

Important
  • Subscription trusts ONE tenant
  • Tenant can manage multiple subscriptions
  • Access control enforced via RBAC
4. Azure Portal vs Cloud Shell
Azure Portal

Azure Portal

Web-based GUI

Uses ARM under the hood

Automatically generates ARM templates

Good for manual deployments

Azure Cloud Shell

Azure Cloud Shell

Built-in terminal in portal

Supports
  • Bash (Azure CLI)
  • PowerShell (Az module)
  • Pre-authenticated using Entra ID
  • No local installation needed
Exam tip

Cloud Shell already has Azure CLI and PowerShell installed.

5. Azure CLI vs Azure PowerShell
Azure CLI

Azure CLI

Bash-style syntax

Cross-platform

Uses az commands

Outputs JSON by default

Great for automation

Example
  • az vm create
Azure PowerShell

Azure PowerShell

Uses Az module

Object-oriented

Strong integration with PowerShell scripting

Better for Windows admins

Example
  • New-AzVM
Exam tip

Both use ARM under the hood.

Difference = syntax + scripting model.

6. ARM Templates – Exam Essentials
Mandatory properties
  • | Property | Purpose |
  • | --- | --- |
  • | $schema | Defines template rules |
  • | contentVersion | Template version |
  • | resources | What gets deployed |
Optional properties
  • | Property | Purpose |
  • | --- | --- |
  • | parameters | Input values |
  • | variables | Store reusable values |
  • | outputs | Return deployment values |
  • | functions | Create custom logic |
Important exam point

ARM templates are JSON-based Infrastructure as Code.

7. QuickStart Templates
Azure provides ready-made templates via
  • Azure QuickStart Templates (GitHub repository)
Used for
  • Learning
  • Complex deployments
  • Production reference designs
8. Azure Bicep – Simplified IaC

Azure Bicep

Key facts
  • Declarative DSL
  • Easier than ARM JSON
  • Compiles to ARM
  • Fully supported (GA)
  • Same capabilities as ARM
Workflow
  • Bicep
  • → Compiled to ARM JSON
  • → ARM executes deployment
Exam trap

Bicep does NOT replace ARM.

ARM remains the deployment engine.

9. Migrating ARM to Bicep
Conversion methods
  • az bicep build (Bicep → JSON)
  • az bicep decompile (JSON → Bicep)
Important

Decompile is best-effort.

Manual refactoring may be required.

🔟 Automation & Scripting

Azure administration can be done without Portal
  • Azure CLI locally
  • Azure PowerShell locally
  • CI/CD pipelines
  • ARM templates
  • Bicep templates

Portal is optional. ARM is mandatory.

1️⃣1️⃣ Exam-Focused Mental Models

Think in Layers

User

→ REST API

→ Azure Resource Manager

→ Resource Provider

→ Resource

Think in Scopes

Management Group

→ Subscription

→ Resource Group

→ Resource

Think in Deployment Models

Manual (Portal)

Scripted (CLI / PowerShell)

Declarative (ARM / Bicep)

1️⃣2️⃣ High-Probability Exam Questions

Expect scenarios like
  • Where does billing occur? (Subscription)
  • What manages resources? (Azure Resource Manager)
  • What authenticates users? (Microsoft Entra ID)
  • What converts Bicep to JSON? (Bicep compiler)
  • Can Bicep deploy without ARM? (No)
  • Can resources exist outside a resource group? (No)
  • What tool supports scripting automation? (CLI & PowerShell)
  • 1️⃣3️⃣ Final Takeaways
  • Resources live inside Resource Groups
  • Resource Groups live inside Subscriptions
  • ARM manages all Azure deployments
  • Authentication uses Entra ID
  • Portal, CLI, PowerShell all call ARM
  • ARM templates are JSON-based IaC
  • Bicep simplifies ARM authoring
  • Bicep compiles to ARM
  • Decompile helps migrate ARM → Bicep
  • Automation is key for real-world Azure administration

Governance and Compliance

Managing Subscriptions deep dive

Structured Summary + Deep Understanding for Exam & Real-World Azure Administration

Primary services involved
  • Azure Subscription
  • Azure Portal
  • Azure Resource Manager
  • Microsoft Entra ID
Official documentation

Subscriptions overview: https://learn.microsoft.com/azure/cost-management-billing/manage/subscriptions

Azure subscription limits & quotas: https://learn.microsoft.com/azure/azure-resource-manager/management/azure-subscription-service-limits

Cost Management overview: https://learn.microsoft.com/azure/cost-management-billing/cost-management-billing-overview

Enterprise Agreement: https://learn.microsoft.com/azure/cost-management-billing/manage/ea-overview

1. What Is an Azure Subscription?
An Azure subscription is
  • A billing boundary
  • A governance boundary
  • A quota boundary
  • A deployment scope boundary
It contains
  • Resource Groups
  • Resources (VMs, VNets, Storage, etc.)
Important

Resource Groups cost nothing.

Resources may incur costs.

Costs accumulate at the subscription level.

2. Subscription Hierarchy (Exam Critical)
Azure hierarchy
  • Tenant (Entra ID)
  • → Subscription
  • → Resource Group
  • → Resource
Tenant
Managed by
  • Microsoft Entra ID
  • Holds identities (users, groups, service principals)
  • A subscription trusts ONE tenant
  • A tenant can manage multiple subscriptions
3. Why Use Multiple Subscriptions?
Subscriptions help with
  • Billing Segmentation
Example
  • Marketing subscription
  • Engineering subscription

Each team sees its own cost breakdown.

  • Environment Isolation
Common pattern
  • Prod subscription
  • Dev subscription
  • Staging subscription
Benefits
  • Billing isolation
  • RBAC isolation
  • Policy isolation
  • Risk containment
  • Compliance & Governance
Subscriptions allow
  • Separate Azure Policy enforcement
  • Separate RBAC assignments
  • Separate regulatory zones
  • Regional Segmentation
Example
  • US subscription
  • Europe subscription
Used for
  • Regulatory compliance
  • Business segmentation
  • Cost allocation
4. Subscription Offers (Billing Models)
Common subscription types
Pay-As-You-Go

Pay monthly based on usage

Most common model

Enterprise Agreement (EA)

Large organizations

Commit annual spend upfront

Discounted pricing

Free Trial

Limited credits

Time-limited

For learning/testing

Azure for Students

Free credits

No credit card required

Cloud Solution Provider (CSP)
Partner-managed subscription
  • Partner designs & manages solution
  • Billing through partner
Docs
5. Subscription as Governance Scope
Subscriptions define scope for
  • RBAC role assignments
  • Azure Policy
  • ARM/Bicep deployments
  • Resource limits
  • Budgets & alerts
Deployment scope example
  • az deployment sub create

This deploys at subscription level.

6. Managing Subscriptions in Azure Portal
In
  • Azure Portal
  • Subscriptions -> Select subscription
You can manage
  • Billing summary
  • Cost analysis
  • Budgets
  • Alerts
  • Resource usage
  • Partner information
7. Cost Management Capabilities
Under subscription
  • Cost Analysis
  • Historical spending
  • Resource breakdown
  • Filtering by resource group
  • Budgets
Set threshold alerts
  • Email notifications
  • Automation triggers
  • Cost Alerts
  • Prevent unexpected overspend
8. Quotas & Limits (Very Important for Exams)

Cloud is NOT unlimited.

Each subscription has
  • Compute limits
  • Networking limits
  • Storage limits
  • Regional quotas
Example
  • vCPU quota per region
  • Public IP limit
  • NSG rule limit
Docs

Many quotas are adjustable.

You can request increases.

Exam trap

Subscription limits ≠ Azure global limits.

9. Subscription Naming Strategies
Common enterprise naming patterns
  • Environment-Based
  • Contoso-Prod
  • Contoso-Dev
  • Contoso-Test
  • Department-Based
  • Contoso-Marketing
  • Contoso-Engineering
  • Region-Based
  • Contoso-US
  • Contoso-EU
  • Hybrid Naming
  • Contoso-Prod-US
  • Contoso-Dev-EU
Purpose
  • Governance clarity
  • Billing clarity
  • Compliance separation
  • 🔟 Subscription vs Resource Group (Common Confusion)
  • | Feature | Subscription | Resource Group |
  • | --- | --- | --- |
  • | Billing boundary | Yes | No |
  • | Governance boundary | Yes | Yes |
  • | Can contain resource groups | Yes | No |
  • | Can span subscriptions | No | No |

| Can move resources across? | No (must move RG) | Yes (within subscription) |

Important

Resources cannot exist outside a subscription.

1️⃣1️⃣ Security & Roles at Subscription Level

Roles can be assigned at
  • Subscription scope
  • Resource group scope
  • Resource scope
Example

Billing admin for Marketing subscription only.

Identity relationship
  • Tenant
  • → Grants roles
  • → On subscription
  • 1️⃣2️⃣ Real-World Enterprise Design Pattern
Large enterprise might use
  • Management Group
  • → Corp
  • → Prod Subscriptions
  • → Dev Subscriptions
  • → Department Subscriptions
This allows
  • Policy inheritance
  • Cost roll-up
  • Central governance
  • 1️⃣3️⃣ High-Probability Exam Topics
Expect questions on
  • What defines billing boundary? (Subscription)
  • Where are quotas enforced? (Subscription)
  • Can one tenant manage multiple subscriptions? (Yes)
  • Can one subscription trust multiple tenants? (No)
  • Do resource groups incur cost? (No)
  • Where do you set budgets? (Subscription level)
  • Can quotas be increased? (Yes, request increase)
  • 1️⃣4️⃣ Mental Model for Exams
Think of subscription as
  • 💰 Billing wallet
  • 🛡 Governance boundary
  • 📦 Container of resource groups
  • ⚖ Quota enforcer
  • 1️⃣5️⃣ Final Key Takeaways
  • Subscription = billing + governance + quota boundary
  • Subscriptions belong to ONE Entra ID tenant
  • Tenant can manage multiple subscriptions
  • Multiple subscription offers exist (EA, Pay-As-You-Go, CSP, etc.)
  • Subscriptions support budgets and cost tracking
  • Quotas limit resource creation
  • Subscription segmentation improves governance
  • Subscription is deployment scope for ARM & Bicep

Domain 2: Storage (15–20%)

Storage account types

TypeUse case
Standard general-purpose v2Most scenarios; all storage services
Premium block blobsHigh-throughput, low-latency blob workloads
Premium file sharesHigh-performance Azure Files
Premium page blobsVHD storage for VMs

Blob storage tiers

TierAccess frequencyMinimum duration
HotFrequentNone
CoolInfrequent30 days
ColdRare90 days
ArchiveVery rare180 days

Key storage features to know

  • Lifecycle management — auto-tier blobs from Hot → Cool → Archive → delete.
  • Blob versioning — preserve previous versions; recover overwritten data.
  • Soft delete — retain deleted blobs for a configurable period.
  • Replication — LRS, ZRS, GRS, GZRS, RA-GRS, RA-GZRS.
  • Shared Access Signatures (SAS) — delegate limited, time-bound access to storage without sharing the account key.
  • Azure Files — SMB/NFS file shares; mount on Windows, Linux, macOS.
  • Azure File Sync — cache Azure Files on Windows Server on-premises.

Implement and Manage Storage deep dives

These lessons follow the source AZ-104 certification-theory hierarchy and expand the domain summary into practical administrator-level notes.

Azure Storage

Understanding Azure Storage Accounts deep dive

Understanding Azure Storage Accounts – Structured Summary + Deep Dive

Primary service
  • Azure Storage Account

A Storage Account is the top-level storage container resource in Azure.

All Azure storage services live inside a storage account.

Think of it as

The control plane container for multiple storage services.

1. Storage Account = Multi-Service Platform
A single storage account can host multiple subservices
  • | Subservice | Purpose | Typical Use Case |
  • | --- | --- | --- |

| Blob | Object storage | Media files, backups, logs |

| Files | Managed SMB/NFS file shares | Lift-and-shift apps |

| Queues | Message storage | Microservices messaging |

| Tables | NoSQL key-value store | Lightweight structured data |

📦 Azure Blob Storage

Azure Blob Storage

Object storage service.

Used for
  • Images
  • Videos (MP4)
  • Audio (MP3)
  • Logs
  • Backups
  • Data lake storage
  • VHD files
Types
  • Block blobs
  • Page blobs
  • Append blobs
Docs

Managed file shares in the cloud.

Protocols
  • SMB
  • NFS
Benefits
  • Fully managed
  • Highly available
  • No on-prem file server management
Docs

Message-based storage system.

Common in
  • Microservices architectures
  • Decoupled systems
  • Event-driven apps
Pattern
  • Publisher -> Queue → Consumer
Docs

NoSQL key-value store.

Used for
  • Semi-structured data
  • Lightweight structured storage
  • Fast lookup workloads
Docs
2. Storage Account Endpoint Structure
Each subservice has its own endpoint
Pattern
  • <account-name>.<service>.core.windows.net
Storage account name
  • Globally unique
  • 3–24 characters
  • Lowercase letters and numbers only
3. Storage Account Configuration Components
When creating a storage account, you choose
1. Account Type
Most common
  • General Purpose v2 (GPv2)
Other types
  • BlobStorage (legacy)
  • Premium (low latency)
Docs
2. Performance Tier

| Tier | Description |

| --- | --- |

| Standard | HDD-backed (most workloads) |

| Premium | SSD-backed (high IOPS, low latency) |

Premium options
  • Premium Blob
  • Premium Files
  • Premium Page blobs
3. Replication (Redundancy)

This is a CRITICAL exam concept.

Azure global structure
  • Geography -> Region → Availability Zones → Datacenters
Storage redundancy determines

Where your copies live.

🟢 LRS – Locally Redundant Storage

3 copies in
  • Single availability zone
  • Single region
  • If zone fails -> data lost

Lowest cost option.

🟡 ZRS – Zone-Redundant Storage

3 copies across
  • Multiple availability zones
  • Same region

Protects against zone failure.

🔵 GRS – Geo-Redundant Storage

3 copies in
  • Primary region
3 copies in
  • Secondary region

Asynchronous replication.

Protects against regional failure.

🟣 GZRS – Geo-Zone-Redundant Storage

3 copies across zones in
  • Primary region
3 copies in
  • Secondary region

Highest durability without read access.

🔴 RA-GZRS – Read Access Geo-Zone Redundant Storage

Same as GZRS

Read access to secondary region.

Used for
  • Global read scaling
  • Disaster recovery readiness
Docs
4. Access Tier (Blob Storage Only)
Applies to

Blob storage only.

Options
  • | Tier | Use Case | Cost |
  • | --- | --- | --- |

| Hot | Frequent access | Higher storage, lower access |

| Cool | Infrequent access | Lower storage, higher access |

| Archive | Rare access | Lowest storage, highest retrieval |

Important
Archive tier
  • Requires rehydration
  • Can take hours to restore
Docs
5. Storage Account Security Features
Access Keys
Each storage account provides
  • 2 access keys
  • Root-level access
Best practice

Use Azure AD authentication instead of keys when possible.

🔒 Encryption

Data encrypted at rest by default

Uses Microsoft-managed keys

Can use customer-managed keys (CMK)

Docs
Options
  • Public endpoint
  • Private endpoint
  • Firewall rules
  • VNet service endpoints
6. Data Protection Options
Optional features
  • Soft delete (blobs, containers)
  • Versioning
  • Point-in-time restore
  • Immutable storage (WORM)
Docs
7. Storage Account Architecture View
Inside portal after deployment
  • Essentials
  • Performance
  • Replication
  • Account kind
  • Data storage
  • Containers (Blob)
  • File shares
  • Queues
  • Tables
  • Security + networking
  • Access keys
  • Networking
  • Encryption
  • Settings
  • Endpoints
  • Configuration
  • Tags
8. High-Level Design Considerations
When designing storage
  • Required durability level
  • Cost sensitivity
  • Read scalability needs
  • Disaster recovery requirements
  • Access frequency
  • Performance needs
  • Security model
9. Durability Comparison (Important for Exams)

| Option | Region Protection | Zone Protection | Secondary Read |

| --- | --- | --- | --- |

| LRS | ❌ | ❌ | ❌ |

| ZRS | ❌ | ✅ | ❌ |

| GRS | ✅ | ❌ | ❌ |

| GZRS | ✅ | ✅ | ❌ |

| RA-GZRS | ✅ | ✅ | ✅ |

🔟 Common Exam Pitfalls

  • Storage account name not globally unique → deployment fails
  • Archive tier supports instant access → False
  • ZRS protects against region failure → False
  • LRS stores only 1 copy → False (stores 3)
  • GRS provides automatic failover → False (manual failover unless configured)
  • Access tier applies to all storage types → False (Blob only)
11. Real-World Architecture Patterns

Web App + Blob Storage

Static content stored in blob.

Microservices + Queue

Decoupled messaging.

Lift-and-Shift File Server

Azure Files replaces on-prem server.

Big Data

Blob Storage + Data Lake.

12. Conceptual Model
Think of storage account as
  • Control layer
  • ↓
  • Replication engine
  • ↓
  • Performance tier
  • ↓
  • Subservices
  • ↓
  • Access endpoints
13. Storage Creation Flow (Portal Summary)

Choose resource group

Enter globally unique name

Select region

Choose performance (Standard/Premium)

Select replication (LRS/ZRS/GRS/GZRS/RA-GZRS)

Choose default access tier (Hot/Cool)

Configure networking

Configure data protection

Review and deploy

14. Summary in One Sentence

A storage account is a globally unique, highly durable, configurable storage platform that hosts multiple storage services and allows you to choose performance, redundancy, and cost characteristics at deployment time.

Conceptualizing Azure Blob Storage deep dive

Conceptualizing Azure Blob Storage – Structured Summary + Deep Dive

Primary service
  • Azure Blob Storage

Azure Blob Storage is an object-based storage service that lives inside an Azure Storage Account.

1. What Is Azure Blob Storage?
Blob Storage is
  • A subservice of a Storage Account
  • Object-based storage (not traditional file system)
Accessible over
  • HTTP / HTTPS
  • REST APIs
  • SDKs
Think of it as

A massively scalable object store for unstructured data.

Official docs
2. Blob Storage Architecture
Blob Storage has 3 main components
  • Storage Account
  • └── Blob Service
  • └── Containers
  • └── Blobs
Storage Account

Top-level resource.

Controls
  • Performance tier
  • Replication
  • Networking
  • Security
  • Default access tier
Blob Service

The object storage engine inside the storage account.

Containers

Logical grouping of blobs.

Equivalent to
  • “Bucket” (AWS S3 conceptually)

Access control can be applied at container level.

Blobs

The actual stored data objects.

Examples
  • Images
  • Videos
  • Text files
  • Logs
  • Backups
  • VHD files
3. Flat Namespace (Important Concept)
Blob Storage is
  • ❌ NOT a true hierarchical file system
  • A flat object store
Folders are
  • Virtual
  • Just prefixes in the blob name
Example
  • images/2026/photo1.jpg
Internally

This is just a blob name with prefix.

4. Types of Blobs
Azure supports 3 blob types
  • 🟦 Block Blobs

Most common.

Used for
  • Images
  • Videos
  • Documents
  • Backups
  • Data lake workloads
Optimized for
  • Streaming
  • Upload/download
  • 🟨 Append Blobs
Optimized for
  • Logging
  • Append-only operations
Used in
  • Diagnostics logs
  • Audit trails
  • 🟪 Page Blobs
Used for
  • Random read/write workloads
  • Virtual machine disks (VHD files)
Docs
5. Access Tiers (Cost Optimization)

Blob storage supports multiple access tiers.

Critical for exam + cost optimization.

| Tier | Storage Cost | Access Cost | Minimum Retention |

| --- | --- | --- | --- |

| Hot | High | Low | None |

| Cool | Lower | Higher | 30 days |

| Cold | Even Lower | Higher | 90 days |

| Archive | Lowest | Highest | 180 days |

Hot Tier

Frequently accessed data

Default for most accounts

❄ Cool Tier

Infrequent access

Minimum 30-day retention

🧊 Cold Tier

Rarely accessed

Minimum 90-day retention

📦 Archive Tier

Rarely accessed long-term storage

Requires rehydration

Retrieval can take hours

Important

Archive tier is offline storage.

Docs
6. Storage Tier Cost Logic
Cost trade-off
Storage cost
  • Hot -> High
  • Archive -> Lowest
Access cost
  • Hot -> Low
  • Archive -> Highest
You optimize based on

Frequency of access.

7. Blob Versioning
Blob Versioning protects against
  • Accidental overwrite
  • Accidental deletion
  • Regulatory compliance requirements
When enabled
  • Every write operation creates a new version
  • Each version gets a unique Version ID
  • Only one current version exists
  • Old versions remain stored
Important behavior
Promoting an old version
  • Creates a new copy
  • Does NOT revert in place

This increases storage usage.

Docs
8. Lifecycle Management
Because versioning increases cost
You can configure lifecycle policies to
  • Delete older versions after X days
  • Move blobs between tiers automatically
  • Archive old data
Docs
9. Upload Configuration Options (Portal)
When uploading blobs, you can configure
  • Blob type (Block / Page / Append)
  • Access tier
  • Encryption
  • Metadata
  • Tags
  • Retention policies
Important

Default tier comes from storage account settings.

🔟 Security & Access

Blob Storage supports
  • Azure AD authentication
  • Access keys
  • Shared Access Signatures (SAS)
  • Private endpoints
  • Firewall rules
Best practice

Avoid using account keys for production apps.

Docs
11. Public Endpoint Structure
Blob endpoint format
Example
12. High Availability & Durability
Blob durability depends on storage account redundancy
  • LRS
  • ZRS
  • GRS
  • GZRS
  • RA-GZRS
Durability
  • Up to 16 nines (99.99999999999999%)
13. Real-World Use Cases

Web Applications

Store static content.

Media Streaming

Store video files as block blobs.

VM Image Library

Store VHD files as page blobs.

Logging Platform

Store logs as append blobs.

Backup & Archiving

Archive tier for long-term retention.

14. Exam-Focused Pitfalls
  • Blob storage is hierarchical → False
  • Archive tier allows instant access → False
  • Versioning replaces old version → False (creates new copy)
  • Cool tier cheaper retrieval than hot → False
  • Only one current version allowed → True
15. Mental Model Summary

Blob Storage =

Object store

Flat namespace

Tiered pricing

Versioning

Lifecycle policies

HTTP-based access

16. Deployment Workflow Summary

Create Storage Account

Open Blob service

Create Container

Upload blobs

Configure access tier

Enable versioning

Configure lifecycle rules

Final Conceptual Summary

Azure Blob Storage is a highly scalable, object-based storage system optimized for unstructured data with tiered cost management, versioning, and lifecycle automation.

Configuring Object Replication deep dive

Configuring Object Replication in Azure Blob Storage – Structured Summary + Deep Dive

Primary services involved
  • Azure Blob Storage
  • Azure Storage Account
1. What Is Object Replication?
Object replication is a feature that
  • Asynchronously copies block blobs
  • From a source storage account
  • To a destination storage account
  • Based on a replication policy
It is used for
  • Reducing read latency
  • Regional data distribution
  • Data processing in multiple regions
  • Cost optimization strategies
Official documentation
2. Core Requirements (Very Important)
For object replication to work
✔ On Source Storage Account
  • Blob versioning must be enabled
  • Blob change feed must be enabled
✔ On Destination Storage Account
  • Blob versioning must be enabled
  • Change feed NOT required
  • Why?
  • Blob change feed tracks create/update/delete events
  • Versioning ensures consistent replication of blob states
Docs
3. Architecture Concept

Source Storage Account (Region A)

└── Source Container

└── Block Blobs

↓ (Asynchronous replication policy)

Destination Storage Account (Region B)

└── Destination Container

└── Replicated Block Blobs

Important
  • Replication is asynchronous
  • Only block blobs are supported
  • Page blobs and append blobs are NOT supported
4. Where Replication Can Occur
Object replication supports
  • Same region
  • Cross-region
  • Cross-subscription
  • Cross–Microsoft Entra ID tenants

Cross-tenant requires explicit configuration.

5. Why Use Object Replication?
1. Minimize Latency
If users are far from Region A

Replicate to Region B closer to them.

Reduces
  • Read latency
  • Cross-region bandwidth usage
2. Data Distribution
You can
  • Process data in one region
  • Replicate to another region
  • Run analytics there
3. Regional Processing
Support
  • Multi-region applications
  • Regional compliance needs
4. Cost Optimization
You can
  • Replicate data
  • Move replicated copy to archive tier
  • Reduce storage costs for secondary workloads
6. Replication Policy Details
When creating a replication rule, you must define
  • Source container
  • Destination container
  • Prefix filter (optional)
  • Copy scope
Prefix Filtering (Important Concept)

Blob storage uses flat namespace.

Folders are just prefixes.

Example
  • awesomefolder/file3.txt
Internally
  • Blob name = awesomefolder/file3.txt
If you configure prefix filter
  • awesomefolder/

Only blobs with that prefix are replicated.

This enables

Selective replication.

Copy Scope Options
You can choose
  • Everything
  • Only new objects
  • Custom time-based configuration
7. Important Behavior Notes
  • Replication is asynchronous
  • Replication delay depends on workload
  • Only block blobs supported
  • Replication respects versions
  • Destination blobs are read-only copies
8. Versioning Interaction
Since versioning is enabled
  • Each blob version is replicated
  • Updates generate new versions
  • Delete operations are tracked
This ensures

Consistency between source and destination.

9. Replication vs Redundancy (Common Confusion)
Do NOT confuse
  • Storage account redundancy (LRS/ZRS/GRS)
  • with

Object replication.

Difference
  • | Feature | Redundancy | Object Replication |
  • | --- | --- | --- |
  • | Automatic | Yes | No (policy-based) |
  • | Whole account | Yes | Per container |
  • | Region control | Limited | Full control |
  • | Filtering | No | Yes (prefix) |
Object replication gives

Granular control.

🔟 Demonstration Summary

Steps performed
  • Enabled versioning (source + destination)
  • Enabled change feed (source only)
  • Created source container
  • Created destination container
  • Uploaded blobs to source
  • Created replication policy
  • Added prefix filter
  • Verified replicated blob in destination

Only blobs matching prefix were replicated.

11. Replication Monitoring
You can view
  • Objects copied from this account
  • Objects copied into this account
  • Replication policy status
Each storage account shows

Inbound and outbound replication rules.

12. Real-World Scenarios

🌍 Multi-Region SaaS App

Users in US and Europe

Replicate to both regions.

Analytics Pipeline
Raw data in Region A

Replicate to Region B for ML processing.

🏛 Compliance

Primary region + regulated secondary region.

💰 Cost Optimization

Primary hot tier

Replicate + archive secondary.

13. Limitations & Considerations

Only block blobs supported

Requires versioning

Requires change feed (source)

Replication policy per container

Destination must exist

Cross-tenant requires permissions

Asynchronous (not instant)

14. Security Considerations

Use RBAC instead of access keys

Configure private endpoints if needed

Control cross-tenant replication carefully

Replicated blobs inherit access controls

15. Exam-Relevant Concepts
  • Change feed required on destination → False
  • Versioning required on both accounts → True
  • Object replication is synchronous → False
  • Supports append blobs → False
  • Supports cross-region replication → True
  • Can filter by prefix → True
16. Conceptual Summary

Object replication =

Controlled, policy-driven, asynchronous copying of block blobs between storage accounts with version awareness and optional prefix filtering.

17. Mental Model
Think of it as

Event-driven blob mirroring powered by change feed.

Configuring Blob Lifecycle Management deep dive

Configuring Blob Lifecycle Management – Structured Summary + Deep Dive

Primary service
  • Azure Blob Storage

Lifecycle management is an automation feature in Azure Blob Storage that:

Automatically moves blobs between access tiers

Or deletes them

Based on age or conditions

It is primarily used for
  • Cost optimization
  • Operational efficiency
  • Automated data governance
Official documentation
1. Why Lifecycle Management Exists
By default
  • Blobs inherit the storage account’s default access tier (often Hot)
  • Over time, large volumes of data accumulate
  • Storage costs increase

Not all data needs to remain in the Hot tier.

Lifecycle management solves this by
  • Automatically tiering data
  • Reducing manual intervention
  • Lowering long-term storage costs
2. Access Tier Recap
Blob tiers

| Tier | Storage Cost | Access Cost | Best For |

| --- | --- | --- | --- |

| Hot | High | Low | Frequent access |

| Cool | Lower | Higher | 30+ days infrequent |

| Cold | Even lower | Higher | 90+ days rare |

| Archive | Lowest | Highest | 180+ days very rare |

Lifecycle policies move blobs between these tiers automatically.

Docs
3. What Lifecycle Management Can Do
Lifecycle rules can
  • Move blobs from Hot -> Cool
  • Move blobs from Cool -> Cold
  • Move blobs from Cold -> Archive
  • Delete blobs after certain time
  • Delete previous versions
  • Delete snapshots
It uses

IF–THEN logic.

Example
  • If last modified > 30 days
  • Then move to Cool tier
4. Lifecycle Rule Structure
Lifecycle rules consist of
  • Scope
  • Conditions
  • Actions
  • Filters (optional)
1. Scope
You can apply rule to
  • All blobs in storage account
  • Specific containers
  • Specific prefixes (folders)
2. Conditions (IF)
Conditions can be based on
  • Days since last modified
  • Days since creation
  • Blob type
  • Blob version
  • Snapshot age
Example
  • Last modified > 30 days
3. Actions (THEN)
Actions include
  • Move to Cool
  • Move to Cold
  • Move to Archive
  • Delete blob
  • Delete version
4. Filters
Because Blob Storage uses a flat namespace

Folders are prefixes.

Example
  • awesomecontainer01/awesomefolder01/

This matches blobs with that prefix.

This allows

Granular lifecycle control.

5. Demonstration Summary
Steps performed
  • Open storage account
  • Navigate to Lifecycle Management
  • Add new rule
  • Limit blobs using filter
  • Apply to specific container + folder prefix
Set condition
  • Last modified > 30 days
Action
  • Move to Cool tier
  • Save rule
After 30 days
  • Blobs matching prefix automatically move from Hot -> Cool.
6. Real-World Lifecycle Example
A common enterprise policy
  • Day 0–30 -> Hot
  • Day 30–90 -> Cool
  • Day 90–180 -> Cold
  • Day 180+ -> Archive
  • Day 365+ -> Delete
This balances

Performance + Cost.

7. Cost Optimization Impact
Without lifecycle management

All blobs stay in Hot tier.

Hot tier = highest storage cost.

Lifecycle management
  • Gradually reduces storage costs
  • Minimizes admin overhead
  • Enforces retention automatically
8. Versioning + Lifecycle
If versioning is enabled
Lifecycle rules can
  • Delete old versions after X days
  • Move older versions to Archive
Important

Old versions accumulate storage cost.

Docs
9. Blob Types Supported
Lifecycle policies apply to
  • Block blobs
  • Append blobs
  • Base blobs
  • Snapshots
  • Versions

You can choose which types the rule applies to.

🔟 Important Behavior Notes

Rules run once per day

Changes are not instant

Archive tier requires rehydration

Early deletion fees apply
  • Cool -> 30 days minimum
  • Cold -> 90 days minimum
  • Archive -> 180 days minimum

If moved too early, you still pay minimum duration fee.

11. JSON-Based Policy (Advanced Concept)

Lifecycle policies are stored as JSON policies internally.

Example structure
  • {
  • "rules": [
  • {
  • "enabled": true,
  • "name": "move-to-cool",
  • "type": "Lifecycle",
  • "definition": {
  • "filters": {...},
  • "actions": {...}
  • }
  • }
  • ]
  • }
This enables

Infrastructure-as-code automation.

Docs
12. Lifecycle vs Manual Tiering

| Manual | Lifecycle |

| --- | --- |

| Labor-intensive | Automated |

| Error-prone | Policy-driven |

| Hard to scale | Scales automatically |

Lifecycle management is preferred for production.

13. Governance & Compliance Use Cases
Lifecycle helps
  • Enforce retention periods
  • Meet regulatory compliance
  • Automate deletion of expired data
  • Reduce legal risk
Often combined with
  • Blob versioning
  • Soft delete
  • Immutable storage
14. Common Exam Pitfalls
  • Lifecycle works instantly → False
  • Applies to all storage services → False (Blob only)
  • Archive tier instantly accessible → False
  • Folders are real directories → False (prefix only)
  • Can delete versions automatically → True
15. Design Best Practices
  • Keep default tier = Hot
  • Use lifecycle for aging
  • Define clear retention strategy
  • Combine with version cleanup
  • Test policy in non-production first
16. Conceptual Model

Blob Lifecycle Management =

Automated tiering engine

Age-based policies

Cost optimization mechanism

Governance enforcement tool

Final Summary

Blob lifecycle management is an automation framework in Azure Blob Storage that moves or deletes data based on defined rules to optimize cost and enforce retention policies over time.

Securing Storage Accounts deep dive

Securing Storage Accounts – Structured Summary + Deep Dive

Primary service
  • Azure Storage

This lesson explains how to secure Azure Storage Accounts at multiple layers:

Encryption (data at rest & in transit)

Authentication (who can access)

Authorization (what they can do)

Key management & SAS governance

Official documentation
1. Security Goals for Storage Accounts

Regardless of the service used (Blobs, Files, Queues, Tables), the objectives are:

  • Protect data at rest
  • Protect data in transit
  • Control access (least privilege)
  • Enable key rotation
  • Support compliance & governance
2. Encryption in Azure Storage
A. Encryption at Rest (Default)
Azure Storage automatically uses
  • Storage Service Encryption (SSE)
  • 256-bit AES encryption
  • Enabled by default
  • No extra configuration required
Docs
B. Microsoft-Managed Keys (MMK)

Default option.

Azure
  • Generates
  • Rotates
  • Manages
  • Protects keys
Best for
  • Simplicity
  • Most production workloads
C. Customer-Managed Keys (CMK)

You can bring your own encryption keys.

Requires
  • Key stored in
  • Azure Key Vault
  • User-assigned managed identity
Key permissions
  • Get
  • WrapKey
  • UnwrapKey
Benefits
  • Regulatory compliance
  • Full control over key lifecycle
  • Ability to revoke access instantly
Docs
D. Infrastructure Encryption

Optional second layer of encryption.

Adds
  • Double encryption at infrastructure level
  • Extra compliance assurance
Important
  • ⚠ Must be enabled at storage account creation
  • ⚠ Cannot be changed later
3. Encryption in Transit

Setting: Secure transfer required

When enabled
  • Only HTTPS allowed
  • ❌ HTTP blocked
This prevents
  • Man-in-the-middle attacks
  • Plain-text data transmission

Recommended: Always enabled (default).

Docs
4. Authentication Layers Explained
There are two distinct layers
1. Management Plane
Controls
  • Storage account settings
  • Configuration
  • Networking
  • Key settings
Managed via
  • Azure RBAC
2. Data Plane
Controls
  • Blob access
  • File access
  • Queue messages
  • Table entities
Can use
  • Access Keys
  • SAS
  • Microsoft Entra ID

Understanding this distinction is critical for exams.

5. Access Keys
Every storage account includes
  • Key1
  • Key2
Characteristics
  • Full root-level access
  • Covers management + data plane
  • Unlimited permissions
Use case
  • Legacy apps
  • Simplified connection strings
Risk
  • ❗ Too much privilege
  • ❗ Hard to audit
Key Rotation Strategy
Use dual-key model
  • App uses Key1
  • Switch app to Key2
  • Regenerate Key1
  • Repeat cycle
If you regenerate without switching

Application breaks immediately.

Docs
6. Shared Access Signatures (SAS)
SAS provides
  • Limited access
  • Time-bound access
  • Permission-scoped access

Instead of giving full access key, you generate a token.

SAS Levels
  1. Account-level SAS
Grants access to
  • Multiple services
  • Entire storage account
  1. Service-level SAS
Grants access to
  • Specific container
  • Specific service (Blob, File, etc.)
  1. Object-level SAS
Grants access to
  • Single blob
SAS Controls
You can restrict
  • Start time
  • Expiry time
  • Permissions (Read, Write, Delete, List, etc.)
  • IP address range
  • Allowed protocols (HTTPS only recommended)
Docs
7. User Delegation SAS (More Secure)
Instead of signing with account key
Use
  • Microsoft Entra identity
This is called
  • User Delegation SAS
Benefits
  • No storage account keys required
  • Azure RBAC enforced
  • Better security model

Recommended for modern architectures.

8. Stored Access Policies
Stored Access Policies allow
  • Centralized management of SAS tokens
  • Modify or revoke multiple SAS tokens at once
How it works
  • Create policy on container
  • Attach SAS tokens to that policy
  • Modify policy -> affects all attached SAS tokens
This solves

Problem of "unrevokable" SAS tokens.

Docs
9. Disabling Key-Based Access
You can disable
  • Storage account key access
Then only allow
  • Microsoft Entra ID authentication

This enforces stronger identity-based access control.

Recommended for enterprise security.

🔟 Security Architecture Summary

Azure Storage Security Stack
  • Layer 1: Encryption at Rest (SSE)
  • Layer 2: Encryption in Transit (HTTPS)
  • Layer 3: Authentication (Keys / SAS / Entra ID)
  • Layer 4: Authorization (RBAC / Policies)
  • Layer 5: Key Rotation & Governance
11. Best Practice Recommendations
  • Keep Secure transfer enabled
  • Use Microsoft Entra ID over access keys
  • Prefer User Delegation SAS
  • Rotate access keys regularly
  • Use Stored Access Policies
  • Use CMK if compliance requires
  • Disable key access in enterprise environments
12. Common Exam Pitfalls
  • Access keys provide limited access → False
  • SAS can be time-restricted → True
  • Infrastructure encryption can be changed later → False
  • Encryption at rest must be manually enabled → False
  • You can revoke SAS by deleting policy → True
13. Real-World Security Model Example
Enterprise secure design
  • CMK with Azure Key Vault
  • Infrastructure encryption enabled
  • Secure transfer required
  • Key access disabled
  • RBAC enforced
  • User Delegation SAS for temporary sharing
  • Lifecycle management for old data
  • Access logs enabled
14. Deep Concept: Why Keys Are Risky
Access keys
  • Bypass RBAC
  • Grant full control
  • Hard to audit
  • Often embedded in code
Modern recommendation
Move toward
  • Identity-based authentication (Entra ID + RBAC)
15. Complete Security Flow Example

User authenticates via Entra ID

RBAC determines permissions

Blob request over HTTPS

Data encrypted at rest

Optional CMK used

Optional infrastructure encryption applied

This provides end-to-end protection.

Final Summary

Securing Azure Storage involves
  • Automatic encryption at rest
  • Enforced HTTPS in transit
  • Strong identity-based authentication
  • Limited-scope SAS tokens
  • Key rotation strategies
  • Optional customer-managed encryption keys
  • Stored access policies for centralized governance

It is a layered security model combining encryption, identity, and access control.

Configuring Azure Files deep dive

Configuring Azure Files – Structured Summary + Deep Dive

Primary service
  • Azure Files

Azure Files is a fully managed cloud file share service built on top of:

Azure Storage

It provides
  • SMB (Server Message Block)
  • NFS (Network File System)

access to file shares hosted in Azure.

Official documentation
1. What is Azure Files?
Azure Files is
  • A managed file-sharing service
  • Hosted in a storage account
  • Accessible over SMB or NFS
  • Cross-platform (Windows, Linux, macOS)
Unlike Azure Blob Storage
  • Blob = object storage (flat namespace)
  • Azure Files = real hierarchical file system
Azure Files supports
  • True folders
  • File permissions
  • NTFS/SMB metadata
  • POSIX-style structure (for Linux NFS)
2. Architecture Overview
Azure Files hierarchy
  • Storage Account
  • → File Service
  • → File Shares
  • → Folders
  • → Files
You can have
  • Multiple file shares per storage account
  • Each share has its own structure
  • Each share has its own endpoint
Endpoint example
  • \storageaccountname.file.core.windows.net\sharename
3. SMB vs NFS
Azure Files supports
  • SMB (Common)
  • Windows native
  • NTFS permissions
  • Azure AD / AD DS integration
  • Most enterprise scenarios
  • NFS
  • Linux workloads
  • POSIX permissions
  • Requires Premium file shares
Docs
4. Storage Account Requirements
Azure Files can be hosted in
  • General Purpose v2 (Standard)
  • Premium FileStorage accounts (for high performance)
Premium required for
  • NFS
  • Low-latency workloads
  • High IOPS
5. Performance Tiers (Standard Accounts)
Standard file shares offer multiple tiers
  • | Tier | Best For |
  • | --- | --- |
  • | Transaction Optimized | Transaction-heavy workloads |
  • | Hot | General purpose file sharing |
  • | Cool | Archival-like, lower performance |
Important

⚠ These tiers are NOT the same as Blob storage access tiers

⚠ Lifecycle management is NOT supported for file shares

Docs
6. Quota Configuration
Each file share allows
  • Configurable size limit (e.g., 100 GB)
  • Helps prevent runaway growth
  • Enforces cost control

Quota can be modified after creation.

7. Demonstration Summary
Steps performed
  • Navigate to Storage Account
  • Go to File Shares
  • Create new file share
  • Select tier (Transaction Optimized)
  • Configure quota
  • Upload files
  • Create directory
  • Connect via Windows
  • Mount share as drive (Z:)
Connection script
  • Uses Storage Account Key
  • Mounts persistent SMB drive
  • Maps network location
After mounting
  • Files visible in Windows Explorer
  • Changes sync bidirectionally
8. Authentication Options
Azure Files supports
1. Storage Account Key

Simple

Full access

Less secure

2. Active Directory (AD DS)

Domain-based authentication

NTFS ACLs supported

3. Microsoft Entra ID

Identity-based access

Modern cloud authentication

Use AD DS or Entra ID in enterprise environments.

Docs
9. How Mounting Works (Windows Example)
PowerShell script performs
  • Connectivity test to port 445
  • Mounts SMB share
  • Creates persistent drive mapping
Drive appears under
  • "This PC" -> Network Locations
This behaves exactly like

Traditional on-prem file share.

🔟 Key Differences: Azure Files vs Blob Storage

| Feature | Azure Files | Blob Storage |

| --- | --- | --- |

| Structure | Hierarchical | Flat namespace |

| Protocol | SMB/NFS | HTTP/HTTPS |

| Mountable | Yes | No |

| NTFS Permissions | Yes | No |

| Lifecycle Management | No | Yes |

| Best For | Lift-and-shift file servers | Object storage |

11. Common Use Cases
  • Lift-and-shift file servers
  • Shared application storage
  • User home directories
  • Azure Virtual Desktop profiles
  • Hybrid file server via Azure File Sync
12. Azure File Sync (Important Concept)
Azure File Sync allows
  • On-prem Windows Server
  • Sync to Azure file share
  • Cache hot data locally
  • Tier cold data to cloud
This enables

Hybrid file architecture.

Docs
13. Security Considerations
Best practices
  • Enable Secure Transfer
  • Use identity-based authentication
  • Restrict network access via Private Endpoint
  • Disable public access if not required
  • Use RBAC
Azure Files supports
  • NTFS ACLs (SMB)
  • POSIX permissions (NFS)
  • Encryption at rest (default)
  • Encryption in transit (SMB 3.x)
14. Cost Considerations
Costs based on
  • Provisioned size (quota)
  • Transactions
  • Data stored
  • Tier selected
  • Outbound data transfer
Premium file shares
  • Provisioned capacity model
  • Higher cost
  • Higher performance
15. Enterprise Design Pattern
Typical enterprise architecture
  • Users -> SMB mount → Azure Files
  • VMs -> Shared config storage
  • App Servers -> Shared file repository
  • On-Prem -> Azure File Sync → Azure Files
16. Limitations to Know

⚠ Lifecycle management not supported

⚠ NFS requires Premium

⚠ Port 445 must be open (SMB)

⚠ Some ISPs block port 445

⚠ Not ideal for ultra-high IOPS workloads unless Premium

17. Common Exam Pitfalls
  • Azure Files = object storage → False
  • Supports true folders → True
  • Lifecycle supported → False
  • SMB supported → True
  • NFS supported on Standard → False
18. When to Choose Azure Files
Choose Azure Files if
  • You need traditional file system semantics
  • You want lift-and-shift file server
  • Applications expect SMB
  • You need NTFS permissions
Choose Blob if
  • You need object storage
  • HTTP-based access
  • Massive unstructured storage
  • Lifecycle automation
  • Final Summary
Azure Files is a managed cloud file-sharing service that
  • Runs inside a storage account
  • Provides SMB/NFS connectivity
  • Offers real hierarchical file systems
  • Supports identity-based authentication
  • Enables hybrid and cloud-native file sharing
  • Integrates seamlessly with Windows and Linux

It is the cloud equivalent of a traditional file server, but fully managed and scalable.

Managing Azure Files deep dive

Managing Azure Files – Snapshots & Soft Delete (Structured Summary + Deep Dive)

Primary service
  • Azure Files
Azure Files provides built-in data protection features
1. File Share Snapshots
2. Soft Delete
These protect against
  • Accidental deletion
  • Unwanted modifications
  • Operational mistakes
  • Certain disaster scenarios
Official documentation
1. What Is a Snapshot?
A snapshot is

A read-only, point-in-time copy of data.

Snapshots are common across
  • Virtual machines
  • Databases
  • Storage systems
In Azure Files
  • Snapshot captures the entire file share
  • It is read-only
  • It is incremental
  • It can be mounted or restored
Docs
2. Azure File Share Snapshots
When you create a snapshot
  • Azure stores only changes since the previous snapshot
  • This reduces storage costs
  • Snapshots remain within the same storage account
  • Key Characteristics
  • | Feature | Behavior |
  • | --- | --- |
  • | Scope | Entire file share |
  • | Access | Read-only |
  • | Storage | Incremental |
  • | Restore | Entire share or individual files |
  • | Billing | Charged for changed blocks only |
3. Why Snapshots Are Useful
  • Version Control

Recover earlier file versions.

  • Disaster Recovery

Restore after corruption or ransomware.

  • Backup Support

Can be used for retention policies.

  • Safe Change Rollback

Take snapshot before major updates.

4. Snapshot Restore Options
When restoring
  • Overwrite original file
  • Restore as new file
  • Browse and copy specific data
Important

Snapshots protect at share level — not granular file retention policy.

5. Demonstration Summary – Snapshots
Steps performed
  • Open file share
  • Navigate to Snapshots
  • Click Add Snapshot
  • Snapshot created (incremental)
  • Modify file on Windows server
  • Restore file from snapshot
  • Original content restored
Key takeaway

Snapshots allow precise point-in-time recovery.

6. What Is Soft Delete?
Soft Delete protects

Entire file shares from accidental deletion.

When enabled
  • Deleted file shares are retained
  • Data recoverable for configured period
  • Retention period: 1–365 days
Docs
7. Important Soft Delete Behavior

| Feature | Behavior |

| --- | --- |

| Scope | Entire file share |

| Protects | Share deletion |

| Does NOT protect | Individual file deletions |

| Default | Enabled |

| Retention | Configurable (1–365 days) |

Very important
  • ⚠ Soft delete does NOT protect individual files
  • ⚠ Only protects deleted shares
8. Demonstration Summary – Soft Delete
Steps performed
  • Confirm soft delete enabled
  • Attempt delete
  • Removed resource lock (Azure Backup lock)
  • Deleted file share
  • Toggled "Show deleted shares"
  • Restored share via Undelete
  • Share status returned to Active
Key takeaway

Soft delete provides full share recovery.

9. Soft Delete vs Snapshot

| Feature | Snapshots | Soft Delete |

| --- | --- | --- |

| Protects modified files | Yes | No |

| Protects deleted shares | No | Yes |

| Scope | Share state | Share existence |

| Retention control | Manual | Configurable |

| Incremental | Yes | N/A |

Best practice

Use BOTH together.

🔟 Resource Lock Behavior (Important Detail)

When soft delete enabled
  • Azure Backup integration may create locks
  • You must remove lock before deleting share

Locks protect against accidental deletion.

This is part of

Defense-in-depth.

11. Cost Considerations

Snapshots

Charged for changed data only

Incremental billing

Frequent changes increase cost

Soft Delete

Deleted share data still stored during retention

Storage billed until permanently deleted

12. Enterprise Protection Strategy
Enterprise-grade Azure Files protection
  • Soft delete enabled
  • Daily snapshots
  • Azure Backup configured
  • Immutable storage where required
  • RBAC access control
Docs
13. Advanced Concept: Snapshot Internals
Snapshots are
  • Metadata pointers
  • Block-level differential storage
  • Stored in same storage account
  • Not separate full copy
This makes them
  • Fast
  • Storage efficient
14. Ransomware Protection Strategy
If ransomware modifies files
  • Snapshot taken prior to infection
  • Restore entire share or affected files
  • Recover to safe state

Snapshots act as rollback mechanism.

15. Limitations to Understand

⚠ Snapshots are not cross-region

⚠ Soft delete does not protect files

⚠ Snapshots must be manually managed

⚠ Premium shares also support snapshots

⚠ No lifecycle automation like Blob tiering

16. Real-World Use Cases
  • Pre-deployment safe point
  • Patch rollback
  • File corruption recovery
  • Accidental overwrite recovery
  • Accidental share deletion recovery
17. Common Exam Pitfalls
  • Soft delete protects files → False
  • Snapshots are full copies → False
  • Snapshots are read-only → True
  • Soft delete is enabled by default → True
  • Snapshots are incremental → True
Minimum production configuration
  • Soft delete enabled (30+ days)
  • Automated snapshot schedule
  • Azure Backup vault integration
  • Private endpoint access
  • RBAC enforcement
  • Monitoring enabled
  • Final Summary
Azure Files data protection includes
Snapshots

→ Point-in-time, incremental, read-only copies of file shares

→ Restore files or full share

Soft Delete

→ Protects against accidental share deletion

→ Retains deleted shares for configurable period

Together, they provide layered protection for file share workloads.

Providing Access to Azure Files deep dive

Providing Access to Azure Files – Identity-Based Authentication (Structured Summary + Deep Dive)

Primary service
  • Azure Files

Identity-based authentication allows Azure Files to integrate with directory services such as:

Microsoft Entra ID

Active Directory Domain Services (AD DS)

Microsoft Entra Domain Services

Instead of using
  • Storage account keys
  • SAS tokens

This provides enterprise-grade access control.

Official documentation
1. Why Use Identity-Based Authentication?
Traditional methods (Access Keys / SAS)
  • ❌ Full account-level access
  • ❌ Hard to audit
  • ❌ Not user-specific
  • ❌ Poor least-privilege enforcement
Identity-based authentication provides
  • Per-user authentication
  • Kerberos support
  • RBAC enforcement
  • Familiar Windows admin model
  • Integration with LDAP/Kerberos apps
  • Auditability
2. What Identity-Based Authentication Controls
Important distinction
Identity-based authentication controls
  • Share-level access
It does NOT replace
  • ❗ File-level NTFS ACLs
  • ❗ Directory-level permissions
You still must configure
  • Windows Access Control Lists (ACLs)
Think of it as
  • Layer 1: Share access (Azure RBAC)
  • Layer 2: File/folder permissions (NTFS ACL)
3. Identity Options for Azure Files
Azure Files supports three identity models
1. Active Directory Domain Services (AD DS)

Traditional on-premises domain.

Best for
  • Hybrid environments
  • Lift-and-shift scenarios
  • Existing Windows infrastructure
Requires
  • Domain-joined storage account
  • Service principal setup
  • SPN configuration
Docs
2. Microsoft Entra Domain Services

Managed domain service.

Best for
  • Cloud-first deployments
  • No on-prem domain controllers
  • Simplified domain management
Prerequisite

Entra Domain Services must already be deployed.

Docs
3. Microsoft Entra Kerberos

Modern cloud-native approach.

Best for
  • Hybrid Azure AD-joined devices
  • Cloud-first identity strategy
Requires
  • Entra ID application registration
  • Kerberos ticket issuance
  • Explicit permission grants
Docs
4. Share-Level RBAC Roles
When identity-based authentication is enabled, you manage access via

Azure RBAC roles.

Key built-in roles
  • | Role | Permission |
  • | --- | --- |
  • | Storage File Data SMB Share Reader | Read-only |
  • | Storage File Data SMB Share Contributor | Read/write |

| Storage File Data SMB Share Elevated Contributor | Full control |

| Storage File Data SMB Share Owner | Full management |

These apply at
  • File share scope
  • Storage account scope
  • Resource group scope
Docs
5. How Authentication Flow Changes

Without Identity-Based Auth

Mount script uses
  • Storage account name
  • Access key (as password)
Example concept
  • net use Z: \storageaccount.file.core.windows.net\share

This uses root-level credentials.

With Identity-Based Auth

Mount script
  • Uses domain credentials
  • Uses Kerberos ticket
  • No access key required
Security benefit
  • No shared secrets
  • Identity-bound access
  • Better auditing
6. Access Control Layers Explained
Layer 1: Share-Level Authorization
Controlled via
  • Azure RBAC
Determines
  • Can user connect to share?
Layer 2: File-Level Permissions
Controlled via
  • NTFS ACLs
Determines
  • Can user read/write specific files?
Example
  • User may connect to share
  • But denied access to specific folder
7. ACL (Access Control List) Concept
An ACL defines
  • Users
  • Groups
  • Computer accounts
  • Security principals
And their permissions
  • Read
  • Write
  • Modify
  • Full Control
ACLs can be
  • Backed up
  • Restored
  • Managed via File Explorer
8. Demonstration Summary
Steps shown
  • Open file share
  • Click "Identity-based access"
Choose identity source
  • AD DS
  • Entra Domain Services
  • Entra Kerberos
  • Enable configuration
  • Assign RBAC roles
  • Mount using identity instead of key
Key observation

Mount script no longer requires storage account key.

9. Security Architecture Comparison

| Feature | Access Keys | Identity-Based |

| --- | --- | --- |

| User-specific | ❌ | ✔ |

| Auditable | ❌ | ✔ |

| Kerberos | ❌ | ✔ |

| Least privilege | ❌ | ✔ |

| Recommended | ❌ | ✔ |

Enterprise best practice
  • Disable storage key access
  • Use Entra ID + RBAC
  • 🔟 Hybrid Architecture Scenario
Common enterprise pattern
  • On-Prem AD
  • ↓
  • Azure AD Connect
  • ↓
  • Microsoft Entra ID
  • ↓
  • Azure Files (Kerberos auth)
This allows
  • Seamless authentication
  • Same credentials
  • Hybrid identity
11. Important Limitations

⚠ Identity-based auth applies only to SMB (not NFS)

⚠ NFS uses network-based controls

⚠ Must configure NTFS permissions separately

⚠ Requires proper DNS resolution

⚠ Port 445 must be open

12. Common Exam Pitfalls
  • Identity-based auth replaces NTFS → False
  • Access keys are more secure → False
  • RBAC controls file-level ACL → False
  • Identity-based works for SMB → True
  • Custom roles allowed → True
13. Enterprise Best Practice Design
Secure Azure Files design
  • Identity-based authentication enabled
  • Azure RBAC assigned at share level
  • NTFS ACLs configured properly
  • Storage account key access disabled
  • Private endpoints enabled
  • Monitoring + logging enabled
14. Deep Concept: Why This Matters
Traditional file servers
  • Rely on Kerberos
  • Use NTFS permissions
  • Use domain groups
Azure Files identity-based auth allows

Lift-and-shift without redesigning access model.

It bridges

Cloud storage + legacy enterprise authentication.

15. When to Use Each Identity Type

| Scenario | Best Option |

| --- | --- |

| Hybrid enterprise | AD DS |

| Cloud-only domain | Entra Domain Services |

| Modern cloud-native | Entra Kerberos |

Final Summary

Identity-based authentication for Azure Files
  • Replaces shared secrets with user-based auth
  • Integrates with AD / Entra ID
  • Enables RBAC share-level control
  • Still requires NTFS ACL configuration
  • Improves security, auditability, and governance

It is the recommended enterprise-grade method for securing Azure file shares.

Storage Utilities deep dive

Storage Utilities – Azure Storage Explorer & AzCopy (Structured Summary + Deep Dive)

Azure provides powerful utilities to manage
  • Azure Storage
including
  • Blob Storage
  • Azure Files
  • Queues
  • Tables
The two primary tools are
1. Azure Storage Explorer (GUI)
2. AzCopy (CLI)

There is also a lightweight portal tool called Storage Browser.

1. Storage Browser (Portal-Based Tool)

Built into Azure Portal.

Features
  • View containers
  • View file shares
  • Basic upload/download
  • Simple management
Limitations
  • ❌ Limited performance
  • ❌ Not ideal for bulk operations
  • ❌ Limited automation
Best for
  • Quick inspection
  • Small operations
  • Troubleshooting
2. Azure Storage Explorer (GUI Tool)
Official tool
  • Azure Storage Explorer
Documentation
Supported OS
  • Windows
  • macOS
  • Linux
What Storage Explorer Does
  • Connect to subscriptions
  • Connect to individual storage accounts
  • Upload/download blobs
  • Manage file shares
  • Generate SAS tokens
  • Create snapshots
  • Manage access policies
  • Copy/clone containers
  • View queues & tables
It uses
  • AzCopy internally for data transfer
So it is

GUI wrapper over AzCopy.

Connection Methods
You can connect via
  • Azure subscription (Entra login)
  • Connection string
  • SAS URL
  • Storage account name + key
Best practice

Use Microsoft Entra ID authentication when possible.

Key Capabilities Demonstrated
In the lesson
  • Connected via account name + key
  • Viewed blob containers
  • Uploaded/downloaded blobs
  • Managed file shares
  • Created snapshots
  • Generated SAS
  • Managed stored access policies

It mirrors portal functionality — but more powerful.

3. AzCopy (Command Line Tool)
Official tool
  • AzCopy
Documentation
AzCopy is
  • High-performance CLI tool
  • Optimized for bulk transfers
  • Scriptable
  • Automation-friendly
  • Cross-platform
Why Use AzCopy?
Best for
  • Large data migrations
  • Backup operations
  • Automation scripts
  • CI/CD pipelines
  • DevOps workflows
  • Scheduled jobs
4. AzCopy Authentication Methods
You can authenticate using
Command
  • azcopy login
Prompts
  • Browser authentication
  • Device code login

Best practice: use identity-based authentication.

2. SAS Token

Used for temporary scoped access.

Example
  • azcopy copy "source" "destination?SAS"
3. Account Key

Provides full access.

Less secure.

5. AzCopy Common Commands
Create Container

azcopy make "https://account.blob.core.windows.net/container"

Upload File

azcopy copy "localfile.txt" "https://account.blob.core.windows.net/container"

Download File

azcopy copy "https://account.blob.core.windows.net/container/file" "localpath"

Sync (Very Powerful)

azcopy sync "source" "destination"

Sync supports
  • Incremental updates
  • Efficient delta transfers
6. AzCopy Performance Features
AzCopy includes
  • Parallel transfers
  • Resume support
  • Chunked uploads
  • Large file support (TB-scale)
  • High-throughput optimization
It is designed for

Enterprise-scale data movement.

7. Storage Explorer vs AzCopy

| Feature | Storage Explorer | AzCopy |

| --- | --- | --- |

| Interface | GUI | CLI |

| Best For | Interactive use | Automation |

| Bulk Transfer | Yes | Excellent |

| Scriptable | No | Yes |

| Uses AzCopy internally | Yes | Native |

| DevOps Friendly | Limited | Excellent |

8. Security Considerations
When using these tools
  • Prefer Entra ID login
  • Avoid hardcoding access keys
  • Use SAS for limited sharing
  • Rotate keys regularly
  • Restrict network access
9. Where These Tools Fit in Architecture

Developer Workflow

  • Local machine -> AzCopy → Blob container

Migration Scenario

  • On-prem server -> AzCopy → Azure Storage

Admin Management

  • Storage Explorer -> Manage blobs/files visually

CI/CD Pipeline

  • Pipeline script -> AzCopy → Upload artifacts

🔟 Enterprise Data Migration Pattern

Large migration example
  • On-prem file server
  • ↓
  • AzCopy recursive upload
  • ↓
  • Azure Blob or Azure Files
  • ↓
  • Validate integrity
AzCopy supports
  • Recursive copy
  • Filtering
  • Pattern matching
  • Log output
11. Advanced AzCopy Capabilities
  • Cross-account copy
  • Cross-region copy
  • Cross-tenant copy
  • Resume failed transfers
  • Generate transfer logs
You can copy directly
  • Azure -> Azure

Without downloading locally.

12. Common Exam Pitfalls
  • Storage Explorer is required → False
  • AzCopy supports Entra login → True
  • AzCopy only works on Windows → False
  • Storage Explorer uses AzCopy internally → True
  • Portal is best for bulk data migration → False
13. When to Use Each Tool
Use Storage Explorer when
  • You need a visual interface
  • You are browsing data
  • You need quick management
Use AzCopy when
  • You are migrating TBs of data
  • You need automation
  • You need CI/CD integration
  • You want performance
14. Best Practice Recommendations
  • Use Entra ID authentication
  • Add AzCopy to system PATH
  • Store credentials securely
  • Use SAS for temporary access
  • Log and monitor transfers
  • Test transfers before production migration
15. Real-World Enterprise Example
Scenario

Company migrating 50 TB to Azure.

Solution
  • Install AzCopy
  • Authenticate with Entra ID
  • Run recursive copy
  • Monitor logs
  • Validate checksums

This is far superior to manual upload.

Final Summary

Azure Storage Utilities include
Storage Browser (basic portal tool)
Azure Storage Explorer (GUI client)
AzCopy (high-performance CLI tool)

Storage Explorer uses AzCopy under the hood.

AzCopy is preferred for
  • Automation
  • Large transfers
  • Enterprise workloads

Together, they provide both user-friendly and scriptable methods for managing Azure Storage.

Azure Storage Exam Tips deep dive

Exam Tips: Azure Storage – Structured Review + Deep Understanding

Primary service
  • Azure Storage

This summary consolidates the most exam-relevant Azure Storage concepts, design principles, and architecture insights.

Official documentation hub
1. Storage Account Fundamentals

A storage account is a top-level Azure resource that hosts multiple storage services:

Blob Storage

Azure Files

Queues

Tables

It defines
  • Performance tier
  • Redundancy model
  • Security settings
  • Networking rules
  • Lifecycle configuration
2. Performance Tiers
Standard (General Purpose v2 – Default)

Most common

Cost-effective

Supports all services

Required for lifecycle management

Recommended for most workloads

Premium

Low latency

High IOPS

SSD-backed

Used for
  • Premium Blob
  • Premium Files
  • High-performance scenarios
Docs
3. Redundancy Options (Critical Exam Topic)

Redundancy determines durability and availability.

LRS (Locally Redundant Storage)

3 copies

Same availability zone

Cheapest option

No zone or region protection

ZRS (Zone-Redundant Storage)

Copies across availability zones

Survives zone failure

GRS (Geo-Redundant Storage)

Replicates to secondary region

3 copies in primary + 3 in secondary

GZRS (Geo-Zone-Redundant Storage)

ZRS in primary region

LRS in secondary region

Highest durability

RA-GZRS (Read-Access GZRS)

Same as GZRS

Secondary region readable

Docs
4. Azure Blob Storage (Object Storage)
Primary service
  • Azure Blob Storage
Structure
  • Storage Account
  • → Blob Service
  • → Container
  • → Blob
Important
  • Flat namespace
  • “Folders” = prefixes
  • Object-based storage
  • HTTP/HTTPS access
5. Object Replication (Blob Replication)
Requirements
  • Versioning enabled on source & destination
  • Change feed enabled on source
  • Replication policy configured
Facts
  • Asynchronous
  • Source can replicate to up to 2 destinations
  • Can filter via prefix
  • Cross-region, cross-subscription, cross-tenant supported
Docs
6. Blob Lifecycle Management
Requires
  • General Purpose v2 account
Supported blob types
  • Block blobs
  • Append blobs
  • Base blobs
  • Snapshots
  • Versions
Uses
  • IF–THEN logic
Supports
  • Move to Cool
  • Move to Cold
  • Move to Archive
  • Delete
Filters
  • Prefix
  • Blob index tags
  • Last modified time
  • Creation time
  • Last access time
Docs
7. Storage Security Model
Security layers
Encryption at Rest
Default
  • Storage Service Encryption (AES-256)
Management Plane vs Data Plane

Management Plane

Storage account configuration

Controlled by Azure RBAC

Data Plane

Blobs

Files

Queues

Tables

Controlled by
  • Access Keys
  • SAS
  • Entra ID
Access Keys

Full control

Two keys (rotation model)

Not least privilege

Shared Access Signature (SAS)

Scoped access

Time-limited

IP restricted

Protocol restricted

Microsoft Entra Authentication

Role-based access control

More secure

Recommended over keys

Docs
8. Azure Files Overview
Primary service
  • Azure Files
Key characteristics
  • Managed SMB/NFS file share
  • True hierarchical file system
  • Supports Windows, Linux, macOS
  • Can mount as network drive
Unlike Blob
  • Real file system
  • NTFS permissions
  • POSIX (NFS) support
Docs
9. Azure Files Protection
Snapshots

Entire share

Read-only

Incremental

Restore individual files or full share

Soft Delete

Protects deleted shares

Retention: 1–365 days

Does NOT protect individual file deletions

Docs
Options
  • AD DS
  • Entra Domain Services
  • Entra Kerberos
Important
  • Controls share-level access
  • ❗ Does NOT replace NTFS ACL
Two layers
  • Share-level RBAC
  • File-level NTFS permissions
Docs
Azure Storage Explorer (GUI)

Azure Storage Explorer

Visual interface

Uses AzCopy under the hood

Manage containers, shares, snapshots

AzCopy (CLI)

AzCopy

High-performance data transfer

Scriptable

Entra authentication supported

Used for automation and migration

Difference
  • Storage Explorer = GUI
  • AzCopy = Automation & scripting
Docs
  • azure / storage / common / storage use azcopy v10
  • 1️⃣2️⃣ Common Exam Pitfalls
  • Soft delete protects individual files → False
  • Snapshots are full copies → False
  • Blob folders are real directories → False
  • Lifecycle works on all storage types → False (Blob only)
  • Identity-based auth replaces NTFS → False
  • Access keys provide least privilege → False
  • 1️⃣3️⃣ High-Yield Design Patterns for Exam
  • Cost Optimization Pattern
  • GPv2 account
  • Lifecycle policies
  • Cool -> Archive movement
  • High Availability Pattern
  • RA-GZRS
  • Cross-region read access
  • Secure Enterprise Pattern
  • Entra ID authentication
  • RBAC
  • Disable key access
  • Private endpoints
  • Hybrid File Server Pattern
  • Azure Files + AD DS
  • NTFS ACLs
  • Snapshots + Soft Delete
  • 1️⃣4️⃣ Mental Model for Exam
Think in layers
  • Storage Account
  • → Performance
  • → Redundancy
  • → Security
  • → Lifecycle
  • → Data Protection
  • → Identity
  • → Utilities

Each exam question typically touches 2–3 of these layers simultaneously.

Final Takeaway

For exam success, master
  • Storage account architecture
  • Redundancy models
  • Blob lifecycle + replication
  • Management vs data plane security
  • Azure Files authentication & protection
  • Storage Explorer vs AzCopy differences
Azure Storage questions often test

Design decisions, not just definitions.


Domain 3: Compute (20–25%)

Virtual Machines

  • VM sizes — General purpose (D-series), Compute optimised (F-series), Memory optimised (E-series), GPU (N-series).
  • Availability options — Availability Zones (99.99% SLA), Availability Sets (99.95% SLA), no HA option (99.9% SLA).
  • Scale Sets (VMSS) — auto-scale a group of identical VMs; up to 1000 instances.
  • Azure Spot VMs — discounted unused capacity; can be evicted; not for critical workloads.

VM management tasks (exam focus)

  • Add a data disk → attach in portal or CLI → partition + format in OS.
  • Resize a VM → stop (deallocate) first for most size changes.
  • Capture a custom image → generalise (sysprep/waagent) → create image.
  • VM extensions — configure via portal or ARM; e.g., CustomScriptExtension runs scripts post-deploy.

App Service

  • App Service Plan — defines the compute tier (Free, Shared, Basic, Standard, Premium, Isolated).
  • Scale up = bigger plan. Scale out = more instances.
  • Deployment slots — swap staging ↔ production with zero downtime.
  • Custom domains + TLS certificate management.

Containers

  • Azure Container Instances (ACI) — quickest way to run a container; no cluster needed.
  • Azure Kubernetes Service (AKS) — managed Kubernetes; Azure manages the control plane.
  • Azure Container Registry (ACR) — private Docker image registry.

ARM Templates / Bicep

  • ARM templates — JSON-based IaC; declare resources, parameters, variables, outputs.
  • Bicep — DSL that compiles to ARM; cleaner syntax; first-class Azure support.
  • Deploy via portal, CLI (az deployment group create), or pipelines.

Deploy and Manage Azure Compute Resources deep dives

These lessons follow the source AZ-104 certification-theory hierarchy and expand the domain summary into practical administrator-level notes.

Introduction to Azure App Service

Creating an App Service Plan deep dive

Azure App Service Plan — simplified, structured summary

What is an App Service Plan?

An Azure App Service Plan is the underlying compute + networking layer that runs your applications (like web apps, APIs, mobile backends).

Think of it like
  • VMs + networking + scaling rules = App Service Plan
  • Your App Services (apps) run on top of this plan
  • Key concepts (easy mental model)
  • Plan = infrastructure
  • App = code running on that infrastructure
  • Multiple apps can run on one App Service Plan (share resources).
  • Pricing tiers (very important for exams)
The pricing tier determines
  • VM size (CPU, RAM)
  • Number of instances
  • Features (autoscale, backups, networking, etc.)
Common tiers
  • Free / Shared
  • Multi-tenant, limited resources
  • No SLA
  • Basic
  • Dedicated compute (but limited features)
  • Standard
  • Autoscaling, staging slots, backups
  • Premium (v2/v3)
  • Better performance, scaling, networking
  • Isolated (App Service Environment)
  • Fully isolated network + compute (single tenant)
  • Types of hosting environments
  1. Shared (Multi-tenant)

Apps share compute + network with other customers

Cheapest option

Lower performance/isolation

  1. Dedicated

Dedicated VM compute for your apps

Network still shared

Most common production setup

  1. Isolated (Single-tenant)

Dedicated compute and networking

Runs inside your VNet

Used for
  • compliance
  • security-sensitive apps
  • enterprise workloads
  • Region scope
  • App Service Plan is tied to a single Azure region

Apps must be deployed in the same region as the plan

Scaling concepts (very important 🔥)

  1. Scale UP (Vertical scaling)

Change pricing tier / VM size

Example
  • S1 -> P1V3
Adds
  • more CPU
  • more RAM
  • more storage
  • more features
👉 Used when
  • app needs more power per instance
  1. Scale OUT (Horizontal scaling)

Increase number of instances

Example
  • 1 instance -> 5 instances
Options
  • Manual scaling
  • Rule-based (CPU %, schedule, etc.)
  • Automatic (Premium tiers)
👉 Used when
  • traffic increases
  • need high availability
  • Important features by tier (exam focus)
  • | Feature | Standard | Premium | Isolated |
  • | --- | --- | --- | --- |
  • | Autoscale | ✅ | ✅ | ✅ |
  • | Staging slots | ✅ | ✅ | ✅ |
  • | VNet integration | Limited | Advanced | Full |
  • | Zone redundancy | ❌/Limited | ✅ | ✅ |
  • | Private networking | ❌ | Partial | ✅ |
  • Demo flow (what actually happened)
  • Created App Service Plan
  • Name: asp-prod-01
  • OS: Linux
  • Tier: Standard (S1)
  • Explored pricing tiers
  • Compared CPU, memory, features
  • Reviewed scaling
  • Scale UP -> change tier (more power)
  • Scale OUT -> increase instances
  • Observed limits
  • Max instances (e.g., 10 for Standard)
  • Policies can restrict scaling options
  • Real-world decision factors
When choosing a plan, consider

Tiers = Free → Basic → Standard → Premium → Isolated

Scale UP = change tier

Scale OUT = increase instances

Region-bound

Multiple apps can share plan

Isolated = single tenant + VNet

Understanding Azure App Service deep dive

Azure App Service — simplified, structured summary

What is Azure App Service?

Azure App Service is a fully managed PaaS (Platform-as-a-Service) offering used to host:

Web apps (HTTP-based)

APIs

Mobile backends

Function apps

Containerized applications

👉 You focus on code, Azure manages
  • infrastructure
  • scaling
  • patching
  • load balancing
  • Core architecture (easy mental model)
  • App Service Plan -> infrastructure (VMs + scaling)
  • App Service -> your app running on that infrastructure
  • Multiple App Services can run on the same plan
  • High availability design (very common pattern)
  • Deploy multiple App Service instances
Azure automatically
  • load balances traffic
  • distributes across instances
👉 This ensures
  • high availability
  • fault tolerance
  • scalability
  • Under the hood (important for deep understanding)
  1. Azure Resource Manager (ARM)

Receives deployment requests

Sends them to internal Azure services

  1. Geo-controller

Global orchestrator

Decides
  • where apps are deployed
  • which region/scale unit to use
  1. Scale unit (key concept 🔥)

A cluster of worker nodes (VMs)

Can host many App Services

Includes
  • compute resources
  • front-end proxy/load balancer
👉 Think of it as
  • “a pool of servers running your apps”
  • Scale unit components
  • Worker nodes -> run your app code
  • Front-end proxy -> routes traffic to workers
  • Shared infrastructure -> depending on plan type
  • Hosting models (very important for exam)
  1. Multi-tenant (Shared / Dedicated plans)

Shared

Apps share compute + network with other customers

Cheapest, lowest isolation

Dedicated

Dedicated compute (your VM instances)

Still shares network layer

  • Most common production setup
  1. Single-tenant (Isolated / App Service Environment)

Dedicated compute + networking

Runs inside your VNet

No sharing with other customers

👉 Used for
  • financial institutions
  • strict compliance
  • high-security workloads
  • Networking capabilities
  1. VNet Integration

App connects outbound to resources in a VNet

Example
  • connect to database in private subnet
  1. Private Endpoint

Enables inbound private access

App becomes accessible via private IP

  1. Public endpoint (default)

App is internet-accessible

Can restrict using firewall rules

Security (important 🔐)

App Service has a public endpoint by default

You can
  • restrict access via IP rules
  • use Private Endpoint for private access only
  • combine with VNet + firewall
  • Multi-app & multi-subscription flexibility
  • Multiple apps -> same plan
  • Multiple plans -> same subscription
  • Multiple subscriptions -> same tenant
  • Even cross-tenant scenarios possible
  • Very flexible architecture
  • Load balancing (built-in)
  • Automatic load balancing across instances
  • No need to configure manually
  • Containers support
App Service can
  • pull images from registries (like ACR)
  • run containerized apps
  • Key exam takeaways 🚀
  • App Service = PaaS hosting for web apps
  • Runs on App Service Plan
Uses
  • geo-controller
  • scale units
  • worker nodes
Supports
  • multi-tenant (shared/dedicated)
  • single-tenant (isolated)
Built-in
  • load balancing
  • scaling
Networking
Creating an Azure App Service deep dive

Here’s a clean, structured summary + deeper explanation of your transcript so you can quickly review and also build strong conceptual understanding.

📘 Azure App Service – Summary + Deep Dive

(Based on your transcript: )

🚀 1. What is Azure App Service?

Azure App Service is a Platform as a Service (PaaS) offering used to host web applications, APIs, and backend services.

Key idea
You deploy code, Azure manages
  • Infrastructure
  • OS patching
  • Scaling
  • Load balancing
  • You focus on application, not servers.
  • 🧱 2. Core Components
App Service

The actual web app instance

Runs your code (Python, .NET, Node.js, Java, PHP)

App Service Plan

Defines compute + networking resources

Includes
  • CPU
  • Memory
  • Scaling limits
  • Pricing tier
👉 Think
  • App Service = Application
  • App Service Plan = Infrastructure
  • 🌐 3. Default Behavior
Every app gets a public URL
When creating an app, you can choose
  • Code (most common) -> deploy source code
  • Docker container -> run containerized apps
  • Static web app -> frontend hosting
  • ⚙️ 5. Key Features (Important for Exams + Real Use)
  • 🧩 Managed Infrastructure
  • No server management
  • Fully abstracted (PaaS)
  • 📈 Auto Scaling
Scale
  • Up -> bigger VM (more CPU/RAM)
  • Out -> more instances
  • 🟢 High Availability
  • Multiple instances -> load balanced automatically
  • Built-in redundancy
  • 🔄 Deployment Slots (VERY IMPORTANT)
Example
  • production
  • staging
Use cases
  • Test new version safely
  • Swap without downtime
  • Rollback instantly
  • 🔗 Integration Capabilities
  • Microsoft Entra ID (authentication)
  • Virtual Network (access backend services)
  • On-prem systems (hybrid connectivity)
  • 🔌 6. Networking Explained (Important Concept)
Default
  • Public internet access
Integration (not hosting inside VNet)
  • App Service can access resources inside VNet
Example
  • App -> VM → Database
Advanced
  • App Service Environment (ASE)
  • Fully isolated inside VNet (not covered in basic exam)
  • 🛠️ 7. Deployment Options
From portal or CI/CD
  • GitHub Actions
  • Azure DevOps
  • Local Git
  • Bitbucket
  • External repositories
  • 🧪 8. Demo Flow (What Happens Practically)
  • Create Web App
Choose
  • Runtime (Python, etc.)
  • OS (Linux/Windows)
  • Region
  • App Service Plan auto-created
  • Deploy app
  • Access via URL
Manage via
  • Deployment Center
  • Scaling
  • Networking
  • Certificates
9. Key Concepts for Deep Understanding
Why App Service?
Problem it solves
No need to manage
  • VMs
  • OS updates
  • Load balancers
App Service vs VM

| Feature | App Service | Virtual Machine |

| --- | --- | --- |

| Management | Fully managed | You manage OS |

| Scaling | Built-in | Manual |

| Use case | Web apps | Full control workloads |

App Service vs Containers

| Feature | App Service | Containers |

| --- | --- | --- |

| Simplicity | High | Medium |

| Flexibility | Limited | High |

| Best for | Standard apps | Microservices |

📚 10. Reference Documentation

For deeper study
Microsoft Docs
Deployment
Scaling
Networking
Key features
  • Scaling
  • High availability
  • Deployment slots
  • CI/CD integration
Can integrate with
  • VNet
  • Entra ID
  • No server management required

Introduction to Azure Containers

Describing Containers in Azure deep dive

Describing Containers in Azure (and the ACR demo) — clean review summary

Core container concepts (non-Azure specific)

Dockerfile: the “recipe” that defines
  • your app code
  • dependencies/libraries
  • runtime/config instructions needed to run it

Container image: the built artifact produced from the Dockerfile (a portable “package”). It’s not running yet—it’s like a VM image/template.

Container registry: a repository for storing and versioning images (e.g., Docker Hub, or Azure Container Registry).

Container host/runtime: where images are pulled and started as running containers (e.g., Docker host, Kubernetes, Azure services).

Why containers exist (the “works on my machine” problem)

Before containers: apps often failed elsewhere due to missing dependencies or config drift.

With containers: the image carries the dependencies + runtime expectations, so it runs consistently across environments.

What the Azure demo did (step-by-step, conceptually)

  1. Create an Azure Container Registry (ACR)

ACR is Azure’s managed private registry: <registryname>.azurecr.io

Picked a pricing tier (Standard in the demo).

Chose networking defaults (public endpoint in the demo, but private is possible).

Important security note from the demo

Enabled Admin user (access keys) to simplify authentication for the lab. In real environments, you typically avoid admin user and prefer Entra ID/RBAC (more below). (Microsoft Learn)

  1. Pull sample app code (Git clone)
Cloned a repo containing
  • Python app (Flask)
  • requirements.txt
  • Dockerfile
  1. Review the Dockerfile (what it’s doing)
Typical pattern shown
  • Base image: python:3.8-slim
  • WORKDIR /app
  • COPY app + requirements into the container filesystem
  • pip install -r requirements.txt
  • EXPOSE 80
  • CMD runs the Flask app
  1. Build + push the image using ACR Tasks (no local Docker build needed)
Used az acr build to
  • send the source context to ACR
  • build remotely (ACR Tasks)
  • push the resulting image into the registry

This is a common “cloud build” workflow and is part of ACR Tasks capabilities. (Microsoft Learn)

  1. Verify the image exists in ACR repositories
After the build, the ACR Repositories blade shows something like
  • sample/hostnameapp
  • tag v1
  1. Run a quick test execution from ACR

Used az acr run to run a container “on demand” (good for quick validation)

In the portal, this appears under Tasks → Runs (build run + run command history)

Deeper understanding & “exam-worthy” details

ACR authentication options (what to use when)

Common methods (best practice order in many orgs)
  • Microsoft Entra ID + Azure RBAC (recommended for users/automation)
  • Managed Identity (best for Azure resources pulling/pushing without secrets)
  • Service principal (CI/CD scenarios where MI isn’t possible)
  • Admin user (username/password) (easy for labs; generally avoid in production)

The “push/pull using Docker CLI” walkthrough shows ACR sign-in patterns and discusses authentication approaches. (Microsoft Learn)

RBAC roles you’ll see a lot

AcrPull: pull images

AcrPush: push + pull

Owner/Contributor: broader management (use sparingly)

These built-in roles are central to securing ACR access.

ACR Tasks vs local Docker build

Why ACR Tasks (az acr build) is useful

Build happens in Azure (repeatable environment)

No need for Docker installed on your machine/agent

Logs are captured, and runs are tracked

Fits CI/CD patterns well (Microsoft Learn)

Networking hardening (big in real projects)

Two common patterns
  • Public endpoint (simple; restrict with firewall rules where possible)

Private Link / private endpoint (preferred in enterprise): access ACR privately from VNets, block public network access (Microsoft Learn)

Where you run the image after it’s in ACR

Once images are in ACR, you typically run them on
  • AKS (Kubernetes)
  • Azure Container Instances (ACI)
  • App Service (Web App for Containers)
  • other container platforms

Example: ACI can pull images from ACR as part of its workflow. (Microsoft Learn)

Quick mental model to remember

  • Dockerfile -> Image → Registry → Host → Running container
In Azure demo terms

Dockerfile/code → built by ACR Tasks → stored in ACR → validated via az acr run → then typically deployed to AKS/ACI/App Service

Introduction to Azure Virtual Machines

Creating and Managing Virtual Machines Part 1 deep dive

Structured Summary + Deep Technical Understanding

Primary service
  • Azure Virtual Machines
  • Azure Virtual Network
  • Azure Managed Disks
  • Azure Network Security Group
  • Azure Migrate
Official documentation
1. What Is an Azure Virtual Machine?
An Azure VM is
  • Infrastructure as a Service (IaaS) compute
  • A cloud-hosted virtualized server
  • Built on Azure’s hypervisor platform (based on Hyper-V)
  • Deployed into an Azure Virtual Network
It replaces on-prem hypervisor solutions like
  • VMware
  • Hyper-V
  • Physical servers
Key difference from on-prem
You manage
  • OS
  • Applications
  • Configuration
Azure manages
  • Physical hardware
  • Hypervisor layer
  • Datacenter infrastructure
2. VM Core Architecture Components
A VM consists of several associated resources
Compute Resource

The VM itself (CPU + Memory)

Operating System Image
Examples
  • Ubuntu
  • Red Hat
  • Windows Server
  • CentOS

Marketplace provides ready-made images.

Storage (Disks)
Modern Azure uses
  • Azure Managed Disks
Types
  • OS Disk
  • Data Disks
  • Premium SSD
  • Standard SSD
  • Standard HDD
Important

Managed disks replaced unmanaged disks (which used storage accounts + page blobs).

Networking
VM networking includes
  • Network Interface (NIC)
  • Private IP
  • Optional Public IP
  • Subnet
  • Virtual Network
Security controlled by
  • Azure Network Security Group
3. Common VM Use Cases
  • Domain Controllers (Active Directory)

Run AD DS in VMs.

  • Web Servers

Apache

Nginx

IIS

  • Database Servers

MySQL

MariaDB

SQL Server

  • Network Appliances

Firewalls

VPN appliances

Load balancers

  • N-tier Architecture
Deploy
  • Frontend in one subnet
  • Application tier in another
  • Database tier in another
4. VM Deployment Properties (Exam Important)
When deploying a VM, you configure
  • | Property | Purpose |
  • | --- | --- |
  • | Name | Logical resource name |
  • | Region | Azure datacenter location |
  • | Availability | Zone / Set / None |
  • | Size | CPU, Memory, Network |
  • | Image | OS selection |
  • | Disks | OS + Data disks |
  • | Networking | VNet + Subnet + IP |
  • | Authentication | SSH / Password / RDP |
5. VM Families Explained

Choosing the correct VM family is critical.

General Purpose

Balanced CPU-to-memory

Use cases
  • Dev/Test
  • Small web apps
  • Light workloads
Compute Optimized

High CPU-to-memory

Use cases
  • Web servers
  • Batch processing
  • Network appliances
Memory Optimized

High memory-to-CPU

Use cases
  • Relational databases
  • Caching
  • In-memory analytics
Storage Optimized

High disk throughput

Use cases
  • OLTP databases
  • Big data
  • Data warehousing
GPU

Graphics acceleration

Use cases
  • Video rendering
  • AI training
  • Deep learning
  • Game servers
HPC (High Performance Compute)

Maximum performance

Use cases
  • Scientific computing
  • Geophysics
  • Advanced simulations
Docs
6. Availability Options (Important for High Availability)
During deployment you can choose
  • No infrastructure redundancy
  • Availability Set
  • Availability Zone
  • VM Scale Set
Note

Not all regions support Availability Zones.

Docs
7. Deployment Walkthrough Summary (Demo Recap)
Steps performed
  • Create Virtual Machine
  • Choose Ubuntu 20.04 LTS
  • Select VM size (2 vCPU, 8GB RAM)
  • Configure authentication (password)
  • Select disk type (Premium SSD)
Auto-create
  • Virtual Network
  • Subnet
  • Public IP
  • NIC
  • Review + Create
  • Deploy
After deployment
  • VM is running
  • Public and Private IP assigned
  • SSH connectivity available
  • Disk and networking configurable
8. Post-Deployment Management Options
After creation, you can
  • Start / Stop VM
  • Restart VM
  • Resize VM
  • Change disk size
  • Modify networking
  • Add data disks
  • Configure NSG rules
  • Connect via SSH or RDP
Important

Stopping VM without deallocating still incurs compute charges.

9. VM Networking Concepts
If VM has
  • Public IP -> Accessible over internet
  • Private IP only -> Internal access only
NSG rules control inbound traffic
  • SSH (22)
  • HTTP (80)
  • HTTPS (443)
  • RDP (3389)
  • 🔟 Migration to Azure
Existing workloads can be migrated using
  • Azure Migrate
Supports
  • VMware
  • Hyper-V
  • Physical servers
Docs
VM pricing depends on
  • VM size
  • Disk type
  • Region
  • Running vs stopped
  • Public IP
  • Network egress
Exam Tip

Compute cost stops only when VM is deallocated.

1️⃣2️⃣ Key Exam Concepts to Remember

  • Azure VMs are IaaS
  • Managed disks are default
  • VM deployed inside a VNet
  • VM requires NIC
  • VM size determines CPU & memory
  • VM families optimized for workloads
  • Availability Zones increase resiliency
  • Public IP enables internet access
  • NSGs control traffic
  • Azure manages hypervisor

1️⃣3️⃣ Mental Model

Think of Azure VM as
  • Cloud-based server rack
  • → Hypervisor managed by Azure
  • → You manage OS and applications

It’s your datacenter server — just hosted in Azure.

1️⃣4️⃣ Final Takeaways

  • Azure VMs provide flexible IaaS compute
  • Multiple VM families for workload optimization
  • Networking and storage are separate Azure resources
  • Managed disks simplify storage
  • Public IP enables remote connectivity
  • Availability options improve uptime
  • Azure Migrate helps lift-and-shift
  • VM management continues after deployment
Creating and Managing Virtual Machines Part 2 deep dive

Structured Summary + Deep Technical Understanding

Primary service
  • Azure Virtual Machines
  • Azure Virtual Network
  • Azure Network Security Group
  • Azure Managed Disks
  • Nginx
Official documentation

NSG rules: https://learn.microsoft.com/azure/virtual-network/network-security-groups-overview

Move resources: https://learn.microsoft.com/azure/azure-resource-manager/management/move-resource-group-and-subscription

1. VM Management Overview

Once a VM is deployed, administrators must manage it just like on-premise servers.

Common VM management operations include
  • Authentication and remote access
  • Resizing compute resources
  • Managing networking
  • Managing storage disks
  • Installing applications/services
  • Diagnostics and monitoring
  • Moving resources between environments

These operations are similar to on-prem virtualization platforms like VMware or Hyper-V but are performed through Azure management tools.

2. Authentication and Remote Access

To manage a VM you must connect to it.

Linux VM

Connection method
  • ssh username@public-ip
Uses
  • SSH keys (recommended)
  • Password authentication
  • Windows VM
Connection method
  • RDP (Remote Desktop Protocol)
Port
  • 3389
Important concept

Remote access requires the correct inbound network rules.

3. VM Networking Management
Each VM is connected to
  • Virtual Network
  • Subnet
  • Network Interface (NIC)
  • Optional Public IP
Traffic filtering is controlled using
  • Azure Network Security Group
Example NSG rules
  • | Service | Port |
  • | --- | --- |
  • | SSH | 22 |
  • | HTTP | 80 |
  • | HTTPS | 443 |
  • | RDP | 3389 |
Example

Allow SSH rule to connect to Linux VM.

4. VM Storage Components
Azure VMs use
  • Azure Managed Disks
Disk types attached to VM
  • OS Disk

Contains the operating system.

Temporary Disk

Ephemeral disk used for temporary storage.

Data Disk

Used for application data or databases.

Important exam concept

Temporary disk data is lost during host migration or restart.

Docs
5. Resizing a Virtual Machine

One common management task is resizing the VM.

Reasons to resize
  • Increase CPU
  • Increase RAM
  • Reduce cost
  • Handle increased workload
Resize options depend on
  • Region capacity
  • VM size family
  • Current VM state
  • Important Behavior
Resizing may require
  • VM restart
  • Temporary downtime
  • Stopping the VM to access more size options
Example impact

Running services may become unavailable temporarily.

Docs
6. VM Deployment Using Azure CLI (Demo)
VM was created using
  • az vm create
Key parameters used
  • VM name
  • Resource group
  • OS image
  • Security configuration
  • SSH key authentication
Example concept

If an incorrect image name is used, Azure CLI returns a list of supported images.

7. SSH Authentication Using Key-Based Access
After VM creation

SSH keys are generated automatically.

Connection command
  • ssh <public-ip>

Authentication happens using the stored private key in Cloud Shell.

Key advantage

More secure than passwords.

8. Installing Applications on the VM
After connecting via SSH
Example commands used
  • sudo apt update
  • sudo apt install nginx -y
This installs
  • Nginx
To verify service status
  • sudo systemctl status nginx
9. Allowing Web Traffic to the VM
To access the web server

An inbound NSG rule must allow HTTP.

Rule created
  • Port: 80
  • Protocol: TCP
  • Source: Any (for demo purposes)
Once rule applied
Access via browser

The Nginx default page confirms the web server is running.

🔟 VM Connectivity Troubleshooting

If SSH fails
Check
1. NSG rule allows port 22
2. VM is running
3. Public IP exists
4. VM not currently resizing
5. Correct username and key
Example issue shown in demo

SSH failed temporarily because VM was resizing.

1️⃣1️⃣ Moving a Virtual Machine

Azure supports moving resources between
  • Resource Groups
  • Subscriptions
  • Regions (with restrictions)
Important limitation shown

VM with Trusted Launch enabled cannot be moved across regions.

Trusted Launch provides
  • Secure Boot
  • vTPM protection
  • Integrity validation
Docs

Supported operation.

Steps
2. Choose Move → Move to another resource group
3. Validate dependencies
4. Complete move operation

1️⃣2️⃣ VM Architecture Overview

Typical architecture
  • VM
  • │
  • ├─ Managed OS Disk
  • ├─ Data Disk(s)
  • ├─ NIC
  • │ ├─ Private IP
  • │ └─ Optional Public IP
  • │
  • └─ Network Security Group
VM runs inside
  • Azure Virtual Network
  • 1️⃣3️⃣ Diagnostics and Monitoring
VM diagnostic features include
  • Boot diagnostics
  • Performance metrics
  • Activity logs
  • Guest-level diagnostics
These help administrators troubleshoot
  • Boot failures
  • Network connectivity
  • Resource usage
  • Application issues
Docs
Important concepts to remember
  • VM resizing may require restart
  • SSH/RDP requires NSG rule
  • Managed disks store VM data
  • Temp disk data is not persistent
  • NSG controls inbound traffic
  • VM can be resized for performance or cost optimization
  • Resource moves may have restrictions
  • Trusted Launch prevents some migration operations
  • 1️⃣5️⃣ Mental Model
Think of Azure VM management as
Cloud version of managing a physical server
  • Connect remotely
  • Install software
  • Adjust hardware resources
  • Configure networking
  • Secure access

But Azure handles the underlying infrastructure.

1️⃣6️⃣ Final Takeaways

  • Azure VMs require ongoing management after deployment
  • SSH or RDP enables remote administration
  • NSGs control traffic access
  • VM resizing helps scale workloads
  • Applications can be installed directly on the VM
  • Storage consists of OS, temp, and data disks
  • Moving VMs has platform limitations
  • Trusted Launch improves security but limits mobility
Managing Virtual Machine Disks deep dive

Managing Azure VM disks — summary (easy to review)

  1. What an Azure “disk” is

An Azure VM uses virtual hard disks (VHDs) presented to the guest OS as block devices.

The common disk categories you manage on a VM:

OS disk: holds the operating system.

Temporary disk: ephemeral storage (not durable; used for swap/temp depending on OS and config).

Data disks: durable disks you attach for app/data (databases, file shares, logs, etc.).

  1. Managed vs. unmanaged disks (important exam + real-world difference)

Managed disks (modern/default): Azure manages the underlying storage accounts and durability/availability aspects for you. You manage a first-class resource called Disk (RBAC, snapshots, backup integration, etc.).

Unmanaged disks (legacy/classic): VHDs live in a storage account you manage, increasing operational overhead and making scaling/availability management more DIY. (Most environments should avoid new unmanaged designs today.)

Managed disk types and the ability to change disk performance tiers are documented under Azure Disk Storage. (Microsoft Learn)

  1. Disk performance tiers (what to choose and why)

Azure Disk Storage offers tiers optimized for different workloads:

Ultra Disk: highest performance/lowest latency (heavy OLTP, extremely IO-sensitive workloads). (Microsoft Learn)

Premium SSD / Premium SSD v2: production performance workloads. (Microsoft Learn)

Standard SSD: dev/test, web servers, lighter enterprise workloads. (Microsoft Learn)

Standard HDD: lowest cost; backup/non-critical workloads. (Microsoft Learn)

Key constraint: disk throughput/IOPS can be limited by VM size, so “fast disk + small VM” may still bottleneck (common gotcha for databases).

What the demo actually did (step-by-step, conceptually)

A) Create a managed disk resource

In the portal:

Create Managed Disk

Pick region, size (GB), and tier (Premium/Standard/etc.)

Choose redundancy (commonly LRS for many single-region patterns; higher redundancy depends on scenario)

Review encryption settings (platform-managed by default; CMK optional)

Disk tiers and management are covered in Azure Disk Storage docs. (Microsoft Learn)

B) Attach the disk to an existing VM

Portal path (typical):

VM → Disks → Attach existing disk (or create+attach)

Attaching makes the disk visible to the guest OS, but the disk is empty/unformatted, so the OS won’t “use” it until you partition + format + mount it.

C) Initialize the disk inside Linux (partition, format, mount)

Typical Linux workflow:

Identify the new device (often /dev/sdc, /dev/sdd, etc.)

Partition it

Create a filesystem

Mount it to a directory (optionally persist via /etc/fstab)

Microsoft’s Linux VM guidance shows the exact idea (use lsblk, partition, mkfs, mount). (Microsoft Learn)

Example commands (your transcript used parted + mkfs.xfs, which is very common):

lsblk

Partition (example with parted; replace /dev/sdd with your new disk)

sudo parted /dev/sdd --script mklabel gpt mkpart primary 0% 100%

Format (XFS example)

sudo mkfs.xfs -f /dev/sdd1

Create mount point + mount

sudo mkdir -p /datadrive

sudo mount /dev/sdd1 /datadrive

Verify

lsblk

The architecture-center guide demonstrates the same lifecycle: discover disk → partition → create filesystem → mount. (Microsoft Learn)

Important troubleshooting insight from the demo

“Permission denied (publickey)” when SSH’ing

That happened because the VM was created with SSH key auth, but the user tried to connect without the right private key (or from an environment that didn’t have it available).

Common fixes:

Use the correct private key (best).

Or reset credentials / re-inject SSH keys using supported Azure mechanisms (commonly via VM agent/extension tooling). A Microsoft sample shows using the VMAccess extension to add/modify users/keys on Ubuntu. (Microsoft Learn)

If reset operations fail, a frequent root cause is VM agent / extension health (walinuxagent, extension failures, etc.). (Microsoft Learn)

Deeper understanding + best practices (exam-friendly)

  1. Plan disks around the workload

Databases: isolate data/log/temp onto separate disks when needed; pick Premium/Ultra when latency matters.

Apps/logs: standard SSD often fine for many internal apps.

“Cheap storage” for non-critical: standard HDD.

  1. Mount persistence

Mounting is temporary across reboot unless you add an /etc/fstab entry (Linux). In production, always validate:

correct UUID/label usage

boot doesn’t hang if disk missing (use nofail where appropriate)

  1. Security & encryption posture

Storage encryption at rest is typically on by default for Azure-managed storage; for stricter compliance, consider customer-managed keys (CMK) (often with Key Vault) for disks depending on requirements. (Microsoft Learn)

  1. “Shared disk” is a special case

You saw a “shared disk” toggle in the UI. Shared disks are for cluster-style scenarios (multiple VMs attaching to the same disk) and come with design constraints—don’t enable it unless you’re implementing a supported clustering pattern.

Reference documentation (official / primary)

Azure Disk Storage overview and disk types/performance tiers (Microsoft Learn)

Linux VM guidance showing data-disk partition/format/mount workflow (Microsoft Learn)

VMAccess extension sample (adds/modifies users/SSH keys on Ubuntu) (Microsoft Learn)

Troubleshooting reset/password/agent/extension issues (Microsoft Q&A) (Microsoft Learn)


Domain 4: Virtual Networking (15–20%)

Core networking concepts

  • VNet — isolated network (CIDR range, e.g., 10.0.0.0/16). Resources in same VNet communicate freely.
  • Subnet — divide VNet into segments (e.g., web: 10.0.1.0/24, db: 10.0.2.0/24). Azure reserves 5 IPs per subnet.
  • NSG — Layer 4 stateful firewall rules. Apply at subnet or NIC level.
  • Route tables — custom routes to override default Azure routing (e.g., force traffic through NVA).
  • VNet Peering — low-latency connection between VNets (same or different regions). Not transitive.
  • Service endpoints — route traffic to Azure services (Storage, SQL) over Azure backbone.
  • Private endpoints — inject an Azure service into your VNet with a private IP.

Connectivity options

OptionUse case
VPN GatewaySite-to-site IPsec VPN to on-premises; point-to-site for remote users
ExpressRouteDedicated private connection to Azure; no internet
Azure BastionSecure RDP/SSH to VMs via browser; no public IP on VMs
Azure NAT GatewayOutbound internet for private subnet VMs

Load balancing

ServiceLayerUse case
Azure Load BalancerLayer 4TCP/UDP; high throughput; internal or external
Application GatewayLayer 7HTTP/HTTPS; WAF; URL-based routing
Azure Front DoorGlobal Layer 7CDN + WAF + global load balancing
Traffic ManagerDNS-basedRoute to closest region; failover

Azure DNS

  • Host public DNS zones in Azure.
  • Private DNS zones — name resolution within VNets; link to VNet for auto-registration.

Implement and Manage Virtual Networking deep dives

These lessons follow the source AZ-104 certification-theory hierarchy and expand the domain summary into practical administrator-level notes.

Introduction to Virtual Networking

Conceptualizing Virtual Networks deep dive

Conceptualizing Virtual Networks – Structured Summary + Deep Dive

This lesson explains the foundational networking concept in Azure
  • Azure Virtual Network

An Azure Virtual Network (VNet) is the core networking boundary in Azure — comparable to your on-premises private network.

1. What Is an Azure Virtual Network?
A Virtual Network (VNet)
  • Isolated private network in Azure
  • Uses private IP address space (RFC 1918)
  • Hosts IaaS and integrates PaaS services
  • Supports hybrid connectivity
Think of it as
  • Your private data center network
  • → but inside Azure
2. What Can a VNet Connect?
VNets enable integration with
  • IaaS Services
  • Azure Virtual Machines
  • Virtual Machine Scale Sets
  • Network Virtual Appliances
  • PaaS Services
  • Via Service Endpoints
  • Via Private Endpoints
  • Hybrid Environments
  • Site-to-Site VPN
  • ExpressRoute
  • VNet Peering
3. Core Components of a Virtual Network
1. Address Space
Every VNet must define
  • RFC 1918 private IP range
Example
  • 10.0.0.0/16
  • 172.16.0.0/16
  • 192.168.0.0/16

This defines the total IP pool available.

Important

You cannot overlap address spaces when connecting VNets or hybrid networks.

2. Subnets
Subnets are
  • Segments of VNet address space
  • Used to group workloads
  • Security and routing boundaries
Example
  • 10.0.0.0/16
  • ├── 10.0.1.0/24 (Web)
  • ├── 10.0.2.0/24 (App)
  • └── 10.0.3.0/24 (DB)
Each subnet
  • Assigns IPs to resources
  • Can have NSGs
  • Can have route tables
  • Can enable service endpoints
3. Connected Devices
Connected devices include
  • Virtual Machines
  • NICs
  • Load Balancers
  • Bastion
  • Private Endpoints
Each connected device receives
  • Private IP (via Azure DHCP)
  • Optional Public IP
4. Private IP Addressing (DHCP)
Azure provides
  • Managed DHCP
  • Automatic IP assignment
  • DNS configuration distribution
Important

You cannot deploy your own DHCP server to replace Azure DHCP for VM IP assignment.

5. Public IP Association
A resource may have
  • Private IP (inside VNet)
  • Public IP (internet accessible)
Public IP is attached to
  • Network Interface
  • Load Balancer
  • NAT Gateway
Security Best Practice

Avoid unnecessary public IPs.

6. Routing in VNets
Azure provides
  • System Routes (Default)
These are
  • Automatically created
  • Immutable
  • Control traffic within VNet and internet
Examples
  • VNet local route
  • Default internet route (0.0.0.0/0)
  • Custom Routes (User Defined Routes – UDRs)
You can
  • Override system routes
  • Send traffic to NVA (firewall)
  • Control hybrid routing
Route types
  • Virtual Appliance
  • Internet
  • VNet Peering
  • Service Endpoint
  • BGP propagated routes
7. DNS Settings
By default
  • Azure provides internal DNS (168.63.129.16)
Options
  • Azure-provided DNS
  • Custom DNS servers
  • Domain controllers in subnet
If using AD DS

You must configure custom DNS settings.

4. Hybrid Connectivity Options
VNets support
  • Azure VPN Gateway
  • Azure ExpressRoute
This allows
  • On-prem ↔ Azure network extension
Important

Address space must not overlap.

5. VNet as Security Boundary
VNets provide
  • Isolation from other Azure customers
  • Segmentation via subnets
  • Network Security Group enforcement
  • Routing control
  • Private connectivity
Think of VNet as

Layer 3 boundary in Azure.

6. Common Exam Concepts (AZ-104 / AZ-700)
VNet must have non-overlapping IP space
Subnets cannot overlap
Azure DHCP is managed
System routes cannot be removed
Custom DNS overrides Azure DNS
Public IP is optional
7. Architectural Pattern Example
Typical 3-tier architecture
  • Internet
  • → Public Load Balancer
  • → Web Subnet
  • → App Subnet
  • → DB Subnet
Optional

Hybrid connectivity via VPN Gateway.

8. Design Best Practices
  • Plan address space carefully
  • Avoid overlapping IP ranges
  • Use subnet segmentation
  • Minimize public IP usage
  • Use NSGs per subnet
  • Use UDRs for traffic inspection
  • Use private endpoints for PaaS
9. Troubleshooting Scenarios
If VM cannot communicate
Azure Virtual Network is
  • Your isolated private cloud network
  • Built on RFC 1918 address space
  • Segmented into subnets
  • Controlled by routing & NSGs
  • Integrated with IaaS, PaaS, and hybrid

Everything networking-related in Azure starts with VNet.

Creating Virtual Networks deep dive

Creating Virtual Networks – Structured Summary + Deep Dive

This lesson builds on VNet concepts and walks through
  • How to design a virtual network properly
  • How to create it in Azure
  • How to deploy a VM into it
Core service
  • Azure Virtual Network
1. Step 1: Designing Before Creating (Critical for Real-World & Exams)

Networking must be planned before implementation.

A. Choose IP Address Space (CIDR)

VNets use RFC 1918 private IP ranges
  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16
Example
  • 172.16.0.0/16
Key Planning Rule
✔ Must NOT overlap with
  • Other VNets
  • On-prem networks
  • Other clouds
  • Future peered networks
  • Why?
Overlapping IP space causes
  • Complex NAT requirements
  • Routing failures
  • Hybrid connectivity issues
  • B. Subnet Design

After choosing address space, segment into subnets.

Example
  • 172.16.0.0/16
  • ├── 172.16.1.0/24 (Frontend)
  • ├── 172.16.2.0/24 (Backend)
  • └── 172.16.3.0/24 (Identity)
Subnet design depends on
  • Application tiers
  • Security boundaries
  • Scaling needs
  • Routing control
Each subnet
  • Allocates IPs to workloads
  • Can have NSGs
  • Can have route tables
  • Can enable service endpoints
  • C. Determine Connectivity Requirements
Questions to ask
  • Does frontend need public access?
  • Do backend systems require private-only access?
  • Do we need load balancers?
  • Do we need VNet peering?
  • Do we need hybrid connectivity?
Connectivity options include
  • Azure Load Balancer
  • Azure VPN Gateway
  • Azure ExpressRoute
  • VNet Peering

Good design considers future expansion.

2. Creating the Virtual Network (Portal Walkthrough)

Step 1: Define Basics

Name: vnet-prod-01

Region: East US

Subscription + Resource Group

Naming convention example
  • vnet-[environment]-[number]
  • Step 2: Advanced Features (Optional)
Options include
  • Virtual Network Encryption
  • Azure Bastion integration
  • Azure Firewall
  • DDoS Protection Plan

Most deployments leave these off initially unless required.

Step 3: Address Space

Example configured
  • 172.16.0.0/16
Possible adjustment
  • 172.16.0.0/24
Planning Tip

Always leave space for growth.

Step 4: Create Subnet

Example
  • fe-subnet
  • 172.16.0.0/29
/29 provides

8 IP addresses (5 usable after Azure reservation).

Important

Azure reserves 5 IPs per subnet.

So
  • /29 -> 8 total → 3 usable
  • /24 -> 256 total → 251 usable

Plan subnet sizes carefully.

Step 5: Private Subnet Option

“Private subnet” disables default outbound internet access.

Useful for
  • Backend databases
  • High-security environments
3. Deploying a VM into the VNet
Created
  • Ubuntu VM
  • No public IP
  • No inbound public ports
  • Placed in fe-subnet
Key Settings
  • Public IP: None
  • NIC NSG: None (for simplicity)
  • Accelerated networking: Enabled
4. What Happens Internally
After deployment
  • NIC created
  • Private IP assigned via Azure DHCP
  • VM attached to subnet
  • System routes applied
5. System Default Routes
Every subnet automatically gets
  • Local VNet route
  • Internet route (0.0.0.0/0)
  • Service routes
  • VNet peering routes (if configured)
System routes
  • Automatically created
  • Cannot be deleted
  • Can be overridden with UDRs
6. DNS Behavior
By default
  • Uses Azure-provided DNS (168.63.129.16)
Can configure
  • Custom DNS
  • Domain controllers
  • Hybrid DNS forwarding
If using Active Directory

Must configure custom DNS.

7. Connected Devices View
Inside VNet
You can view
  • NICs
  • Private Endpoints
  • Bastion
  • Other resources

Effective routes are visible on NIC level.

8. Real-World Architecture Example
Typical Production Layout
  • Internet
  • → Public Load Balancer
  • → Frontend Subnet
  • → Internal Load Balancer
  • → Backend Subnet
  • → Identity Subnet
Hybrid
  • → VPN Gateway subnet
9. Best Practices
  • Avoid overlapping IP ranges
  • Use structured subnet naming
  • Plan for hybrid early
  • Reserve IP space for future growth
  • Use private subnets for backend
  • Minimize public IP exposure
  • Use NSGs and UDRs appropriately

🔟 Common Exam Traps (AZ-104 / AZ-700)

  • Subnets can overlap → False
  • Azure reserves 2 IPs → False (reserves 5)
  • You can remove system routes → False
  • You must use 10.x.x.x range → False (any RFC 1918 allowed)
  • VM requires public IP → False
11. Reference Documentation

Virtual Network Overview

IP Address Planning

Subnet Design

User Defined Routes

DNS for VMs

Hybrid Networking

Final Conceptual Summary

Creating a VNet involves
1. Designing address space
2. Segmenting subnets
3. Planning connectivity
4. Deploying resources
5. Understanding routing & DNS

Networking design mistakes are costly to fix later — planning is critical.

Managing Public and Private Connectivity deep dive

Managing Public and Private Connectivity – Structured Summary + Deep Dive

This lesson explains how Azure Virtual Networks handle public and private connectivity, focusing on:

IP addressing

Network Interface (NIC) components

Public IP configuration

Network Security Groups (NSGs)

Core services involved
  • Azure Virtual Network
  • Azure Virtual Machines
  • Azure Public IP Address
  • Azure Network Security Group
1. Understanding Public vs Private Zones
Azure networking operates in two logical spaces
  • 🔒 Private Zone
  • Virtual Networks (VNets)
  • Subnets
  • Private IP addresses
  • VM-to-VM communication
  • Hybrid connectivity (VPN/ExpressRoute)
  • 🌐 Public Zone
  • Internet
  • Public IP addresses
  • Public endpoints of PaaS services
2. How Public Connectivity Works
To expose a VM publicly
  • Assign a Public IP resource
  • Associate it with VM’s NIC
  • Configure NSG to allow inbound traffic
Traffic Flow

Internet → Public IP → NAT → Private IP → VM

Public connectivity always involves Network Address Translation (NAT).

3. How Private Connectivity Works
Private connectivity
  • Uses private IP addresses
  • Stays within VNet
  • Works across peered VNets
  • Works across hybrid (VPN/ExpressRoute)
Example
  • VM1 (172.16.0.4) -> VM2 (172.16.0.5)

No public IP required.

4. Network Interface Card (NIC) Components
Each VM has a NIC with
  • IP Configuration
  • Private IP (dynamic or static)
  • Optional Public IP association
  • Subnet Association
  • Determines IP allocation range
  • DNS Settings
  • Inherit from VNet
  • Or use custom DNS
  • NSG Association
  • Controls inbound/outbound traffic
5. Private IP Configuration
Private IP
  • Assigned via Azure-managed DHCP
  • Can be dynamic (default)
  • Can be set to static
Important

Azure reserves 5 IPs per subnet.

6. Public IP Configuration
Public IP resource options
  • SKU Types
  • | Feature | Basic | Standard |
  • | --- | --- | --- |

| Security | Open by default | Secure by default |

| IP assignment | Dynamic or Static | Static only |

| Recommended | No | Yes |

Standard SKU
  • Requires NSG rule to allow traffic
  • More secure
7. Demonstration Summary
Steps performed
  • Created Standard Public IP
  • Associated it to VM NIC
  • Attempted SSH -> Failed (secure by default)
  • Created Network Security Group
  • Added inbound SSH rule
  • Successfully connected via public IP
  • Used private IP to SSH into second VM
This demonstrated
  • Public connectivity via Public IP + NSG
  • Private connectivity via Private IP
8. Network Security Groups (NSGs)
NSGs are
  • Stateful Layer 4 firewalls
Can attach to
  • Subnet
  • NIC
Rule example
  • Allow SSH (Port 22)
  • Source: Any
  • Destination: Any
  • Action: Allow
Without NSG rule

Standard Public IP will block traffic.

9. Public IP Security Behavior
Standard Public IP
  • Closed by default
  • Requires explicit NSG allow rule
Basic Public IP
  • ⚠ More permissive
  • ⚠ Not recommended for production
  • 🔟 Jump Box Pattern (What Demo Showed)

Public connectivity used only for VM1.

Then
  • VM1 (Public Access)
  • → SSH
  • → VM2 (Private IP)

This is traditional “jump host” model.

More secure alternative

Use Azure Bastion instead.

11. Key Exam Concepts (AZ-104 / AZ-700)
Standard Public IP requires NSG rule
Public IP is separate resource
Public IP performs NAT
Private connectivity requires no public IP
NSG can be applied to NIC or subnet
Private IP assigned from subnet range
12. Connectivity Models Compared

| Connectivity Type | Requires Public IP | Uses NAT | Secure by Default |

| --- | --- | --- | --- |

| Private (VNet) | No | No | Yes |

| Public IP (Standard) | Yes | Yes | Yes |

| Public IP (Basic) | Yes | Yes | Less secure |

| Bastion | No | Yes (managed) | Yes |

13. Design Best Practices
  • Avoid assigning public IPs directly to VMs
  • Use Standard SKU public IPs
  • Use NSGs for granular control
  • Prefer Bastion for admin access
  • Segment workloads into subnets
  • Use private connectivity whenever possible
14. Troubleshooting Checklist
If SSH fails
  • Check Public IP associated?
  • Confirm NSG rule exists?
  • Confirm correct port?
  • Verify VM running?
  • Check effective security rules?
If private connectivity fails
  • Confirm both VMs in same VNet?
  • Check NSGs blocking traffic?
  • Verify correct private IP?
15. Reference Documentation

Azure Virtual Network

Public IP Addresses

Network Security Groups

Azure VM Networking

Effective Security Rules

Final Conceptual Summary

Public Connectivity
  • Uses Public IP
  • Requires NSG allow rule
  • Involves NAT
Private Connectivity
  • Uses private IP
  • Stays inside VNet
  • Secure by default
Managing connectivity requires understanding
  • NIC configuration
  • Public IP association
  • NSG rules
  • Subnet design
Routing Inside Virtual Networks deep dive

Routing Inside Virtual Networks – Structured Summary + Deep Dive

This lesson explains how routing works inside
  • Azure Virtual Network

Routing determines how traffic moves from one destination to another inside Azure and beyond.

1. What Is Routing?

Routing = The path traffic takes between networks.

Think of routes like
  • Roadways between cities
  • Without them, traffic has nowhere to go
In Azure, routing determines
  • Private communication (VM ↔ VM)
  • Internet access
  • Hybrid connectivity (on-prem ↔ Azure)
  • VNet peering traffic
2. Types of Routes in Azure
Azure has three main route types
  • | Type | Description | Can Modify? |
  • | --- | --- | --- |

| System Routes | Default routes created by Azure | ❌ No |

| User-Defined Routes (UDR) | Custom routes you create | ✅ Yes |

| BGP Routes | Learned from on-prem via gateway | Semi-managed |

3. System Routes (Default)
Created automatically when
  • You create a VNet
  • You create a subnet
  • You deploy a VM
Examples
  • VNet local route
  • Internet route (0.0.0.0/0)
  • Peering route
  • Service endpoint route
Important
  • Immutable
  • Automatically applied
  • Can be overridden
4. User-Defined Routes (UDRs)
Created via
  • Azure Route Table
Steps
  • Create Route Table
  • Add Route
  • Associate Route Table to Subnet
UDRs allow you to
  • Override system routes
  • Force traffic through firewall
  • Drop traffic
  • Send traffic to VPN gateway
  • Send traffic to NVA (Network Virtual Appliance)
5. BGP Routes
Used when
  • Hybrid connectivity exists
  • Using VPN Gateway or ExpressRoute
  • BGP enabled between Azure and on-prem
  • Azure VPN Gateway
  • Azure ExpressRoute
BGP automatically exchanges
  • On-prem routes
  • Azure routes

BGP routes override system routes but not UDRs.

6. Route Precedence Order (VERY IMPORTANT FOR EXAM)
Priority order
1. User-Defined Routes
2. BGP Routes
3. System Routes
If multiple routes match same prefix

Most specific prefix wins (Longest prefix match).

7. Demonstration Summary
Created
  • Route table (rt-prod-01)
Route
  • 0.0.0.0/0 -> Virtual Appliance → 172.16.0.6
  • Associated route table to subnet
Result
System default internet route
  • 0.0.0.0/0 -> Internet
Became
  • ❌ Invalid
User-defined route
  • 0.0.0.0/0 -> Virtual Appliance
Became
  • Active
This demonstrates

UDR overrides system route.

8. Next Hop Types Explained
When creating a route, next hop options include
  • | Next Hop Type | Purpose |
  • | --- | --- |
  • | Internet | Send traffic directly to internet |
  • | Virtual Appliance | Send to firewall/NVA |
  • | VNet Peering | Route to peered VNet |
  • | VNet Gateway | Send to VPN/ExpressRoute |
  • | None | Drop traffic |
Example Security Pattern
Force all outbound internet traffic through firewall
  • 0.0.0.0/0 -> Virtual Appliance (Firewall IP)
9. Subnet-Level Association
Important

Route tables are associated at subnet level, not VNet level.

If you want routing applied to all subnets
  • Associate route table to each subnet
  • 🔟 Effective Routes
You can check
  • NIC -> Effective Routes
This shows
  • Active routes
  • Invalid routes
  • Overridden routes
  • Next hop type

This is key for troubleshooting.

11. Security & Routing Relationship

Routing controls where traffic goes.

Security controls whether traffic is allowed.

Security is enforced by
  • Azure Network Security Group
NSGs are
  • Layer 4 firewalls
  • Stateful
  • Applied at subnet or NIC
Important
  • Routing ≠ Security

NSG blocks traffic even if route exists.

12. Common Enterprise Routing Patterns
1. Forced Tunneling
Send all internet traffic to firewall
  • 0.0.0.0/0 -> Firewall
2. Hub-Spoke Architecture
Spoke VNets
  • Route -> Hub Firewall
3. Hybrid Routing
If BGP disabled
Create UDR
  • OnPremSubnet -> Virtual Network Gateway
13. Common Exam Scenarios (AZ-104 / AZ-700)
  • Route table affects whole VNet → False (subnet only)
  • System routes can be deleted → False
  • BGP overrides UDR → False
  • UDR overrides system route → True
  • Most specific prefix wins → True
14. Troubleshooting Checklist
If traffic fails
  • Check effective routes
  • Confirm route table associated
  • Verify next hop reachable
  • Check NSG rules
  • Confirm no conflicting UDR
If internet stops working after UDR
  • Check 0.0.0.0/0 override
  • Confirm firewall reachable
15. Reference Documentation

Routing Overview

System Routes

Effective Routes

BGP Routing

Route Tables

Final Conceptual Summary

Azure Routing Model
  • System routes = automatic
  • UDRs = override control
  • BGP = hybrid exchange
  • UDR > BGP > System
  • Subnet-level association
  • Effective routes show final result

Routing defines the path.

NSGs define permission.

Both must work together.

Configuring Azure VNet Peering deep dive

Configuring Azure VNet Peering – Structured Summary + Deep Dive

This lesson explains how to connect isolated virtual networks using
  • Azure Virtual Network
  • VNet Peering
1. What Is VNet Peering?
By default
  • VNets are isolated
  • No communication between them
  • Even within same subscription
VNet Peering enables
  • Private IP communication
  • High-speed backbone connectivity
  • Cross-region connectivity
  • Cross-subscription connectivity
  • Cross-tenant connectivity
2. Requirements for VNet Peering
  • Non-overlapping IP address space
  • If CIDR overlaps -> Peering fails
Example
  • VNet-A -> 172.16.0.0/24
  • VNet-B -> 10.0.0.0/16

This works.

  • VNet-A -> 172.16.0.0/24
  • VNet-B -> 172.16.0.0/16

This fails (overlapping).

3. Key Characteristics
Private connectivity only

Traffic flows over Azure backbone.

Not encrypted by default

Unlike VPN (IPsec), peering is not encrypted unless VNet encryption is enabled.

Non-transitive
Very important concept
If
  • VNet-A ↔ VNet-Hub
  • VNet-B ↔ VNet-Hub

VNet-A ❌ cannot talk to VNet-B automatically.

Each pair requires its own peering.

4. Types of VNet Peering
  • Regional Peering

Same Azure region

  • Global Peering

Across regions

  • Cross-Subscription Peering

Different subscriptions

  • Cross-Tenant Peering

Different Azure AD tenants

5. Demonstration Summary
Environment
  • VNet-Prod-01 -> 172.16.0.0/24
  • VM: 172.16.0.4
  • VNet-Prod-02 -> 10.0.0.0/16
  • VM: 10.0.0.4
Before peering
  • Ping 10.0.0.4 -> ❌ Failed
After peering
  • Ping 10.0.0.4 -> ✅ Success
6. How Peering Is Created
Peering must be
  • Configured on both VNets
  • Azure portal creates both sides automatically
Each side has
  • Peering name
  • Remote VNet
  • Allow forwarded traffic option
  • Gateway usage options
7. Important Peering Options Explained

| Option | Purpose |

| --- | --- |

| Allow VNet access | Enables connectivity |

| Allow forwarded traffic | Required for NVA routing |

| Allow gateway transit | Share gateway to other VNet |

| Use remote gateway | Use remote VNet’s VPN/ExpressRoute |

8. Gateway Transit Scenario (Hub-Spoke)
Example
  • Hub VNet -> Has VPN Gateway
  • Spoke VNet -> Uses remote gateway
Configuration
Hub
  • Allow gateway transit
Spoke
  • Use remote gateway

This allows spokes to use hub’s gateway.

9. VNet Peering vs VPN

| Feature | VNet Peering | VPN |

| --- | --- | --- |

| Encryption | Not by default | Yes (IPsec) |

| Speed | High (Azure backbone) | Lower |

| Cost | Peering data transfer cost | VPN gateway cost |

| Setup complexity | Simple | Moderate |

🔟 Routing with Peering

When peering is created
Azure automatically
  • Adds system routes
  • Updates effective routes
  • Enables private communication

No manual route table required.

11. Security Considerations
Peering enables connectivity, but
  • NSGs still apply
  • Route tables still apply
  • Firewall rules still apply

Peering ≠ unrestricted access.

12. Common Exam Concepts (AZ-104 / AZ-700)
  • Peering is transitive → False
  • Peering requires same region → False
  • Peering requires non-overlapping CIDR → True
  • Peering traffic is encrypted by default → False
  • Peering works across subscriptions → True
13. Hub-and-Spoke Architecture Example

Hub

/ \

Spoke1 Spoke2

Spoke1 ↔ Hub

Spoke2 ↔ Hub

Spoke1 ❌ Spoke2 (unless directly peered)

14. Troubleshooting Checklist
If peering not working
  • Check IP ranges overlap?
  • Confirm peering status = Connected
  • Check NSGs blocking traffic
  • Check UDRs overriding routes
  • Verify gateway transit settings
15. Reference Documentation

VNet Peering Overview

Global VNet Peering

Hub-Spoke Architecture

Effective Routes

Final Conceptual Summary

VNet Peering
  • Connects isolated VNets
  • Uses Azure backbone
  • Requires non-overlapping IPs
  • Is non-transitive
  • Not encrypted by default
  • Supports cross-region & cross-subscription
It is the foundational building block of
  • Hub-spoke designs
  • Enterprise multi-VNet environments
  • Partner connectivity
  • Mergers & acquisitions scenarios
Network Security Groups deep dive

Network Security Groups (NSGs) – Structured Summary + Deep Dive

This lesson explains how Azure secures traffic inside and outside virtual networks using:

Azure Network Security Group

Azure Virtual Network

1. What Is a Network Security Group (NSG)?
An NSG is
  • A Layer 4 (TCP/UDP) stateful firewall
  • Used to control inbound and outbound traffic
Applied at
  • Subnet level
  • NIC level
It protects
  • Traffic from internet
  • Traffic from peered VNets
  • Traffic from on-prem
  • Even traffic within same subnet
2. Why NSGs Are Needed
Azure VNets can have
  • Public IP connectivity
  • VNet Peering
  • Hybrid VPN
  • Internal subnet communication
Without NSGs

All allowed traffic routes would be reachable.

NSGs enforce
  • Allow / Deny
based on
  • Source
  • Destination
  • Port
  • Protocol
  • Direction
  • Priority
3. Where Can NSGs Be Applied?

Option 1️⃣ Subnet Level

Affects all NICs inside subnet

Good for centralized policy

Option 2️⃣ NIC Level

Affects only that VM

Good for granular control

You can combine both.

4. Default NSG Rules (System Rules)
Every NSG includes built-in rules (priority 65000+)
Default Inbound
  • Allow VNet traffic
  • Allow Azure Load Balancer
  • Deny all other inbound
Default Outbound
  • Allow VNet traffic
  • Allow Internet
  • Allow Azure services
User-defined rules
  • Have priority 100–4096
  • Lower number = higher priority
5. Demonstration Summary
Scenario
  • Ubuntu VM
  • Public IP assigned
  • NGINX installed
  • Want HTTP access (port 80)
Initially
  • HTTP blocked
  • Because no NSG rule allowed it
Action Taken
Added inbound rule
  • Source: Any
  • Destination: Any
  • Protocol: TCP
  • Port: 80
  • Action: Allow
  • Priority: 110
Result
  • HTTP traffic allowed
  • NGINX webpage accessible
6. Stateful Firewall Behavior (Very Important)

NSGs are stateful.

This means
If inbound rule allows HTTP

Return outbound traffic is automatically allowed.

You DO NOT need to create reverse outbound rule.

State tracking is automatic.

7. NSG Rule Components
Each rule defines
  • | Component | Description |
  • | --- | --- |
  • | Direction | Inbound / Outbound |

| Source | IP / CIDR / Any / Service tag |

| Destination | IP / Any |

| Protocol | TCP / UDP / Any |

| Port | Single / Range |

| Action | Allow / Deny |

| Priority | Lower = Higher precedence |

8. Priority Rules
Rules are evaluated
1. Lowest priority number first
2. First match wins
3. Stops evaluation
Example
  • Priority 100 -> Deny HTTP
  • Priority 200 -> Allow HTTP
Result
  • Traffic denied (100 wins)
9. Internal Traffic Impact
Important concept
Even VM-to-VM traffic in same subnet
  • Leaves VM
  • Hits virtual router
  • Comes back
NSG rules apply to
  • East-West traffic
  • Not just internet traffic
  • 🔟 Monitoring with NSG Flow Logs
NSG supports monitoring via
  • Flow logs
  • Traffic analytics
  • Storage account integration
Useful for
  • Security auditing
  • Troubleshooting
  • Compliance
Flow logs show
  • Allowed traffic
  • Denied traffic
  • Source/destination
  • Ports
11. Subnet vs NIC Scope Comparison

| Feature | Subnet NSG | NIC NSG |

| --- | --- | --- |

| Scope | All VMs in subnet | Single VM |

| Easier management | Yes | Less |

| Granular control | Less | More |

| Enterprise usage | Common | Selective |

Best Practice

Use subnet-level NSGs primarily.

12. Common Enterprise Pattern
Frontend Subnet
  • Allow HTTP/HTTPS
  • Deny everything else
Backend Subnet
  • Allow only frontend subnet
  • No internet access
Database Subnet
  • Allow only backend subnet
13. Common Exam Concepts (AZ-104 / AZ-700)
  • NSGs are stateless → False
  • NSG applied at VNet level → False
  • Return traffic requires explicit rule → False
  • Lower priority number wins → True
  • NSGs control Layer 7 → False (Layer 4 only)
14. Troubleshooting Checklist
If traffic blocked
  • Check NSG inbound rules
  • Check NSG outbound rules
  • Verify priority order
  • Check subnet + NIC both
  • Review effective security rules
If rule not working
  • Confirm rule priority
  • Confirm correct direction
  • Confirm protocol matches
15. Security Best Practices
  • Use Standard public IPs
  • Avoid “Allow Any Any” rules
  • Space priorities (100, 200, 300)
  • Use service tags where possible
  • Log traffic using flow logs
  • Apply least privilege principle
16. Reference Documentation

NSG Overview

Default Security Rules

NSG Flow Logs

Effective Security Rules

Final Conceptual Summary

NSGs
  • Control traffic at subnet/NIC
  • Stateful Layer 4 firewall
  • Inbound + Outbound rules
  • Priority-based evaluation
  • Return traffic automatically allowed

They are the primary traffic control mechanism inside Azure VNets.

Application Security Groups deep dive

Application Security Groups (ASGs) – Structured Summary + Deep Dive

This lesson explains how to make Network Security Groups (NSGs) more scalable and logical using:

Application Security Group

Azure Network Security Group

Azure Virtual Network

1. What Is an Application Security Group (ASG)?
An ASG is
  • A logical grouping of VM network interfaces
  • Used inside NSG rules
  • Acts like a dynamic tag for NICs
  • Helps build application-tier-based security
Important

ASGs do NOT filter traffic themselves.

They are referenced inside NSG rules.

2. Why ASGs Exist
Without ASGs, NSG rules must specify
  • IP addresses
  • Subnets
  • Individual NICs
Problem
If IPs change or VMs scale out

You must constantly update NSG rules.

ASGs solve this by
Grouping resources logically
  • asg-web
  • asg-db
  • asg-app
Then NSG rules reference
  • Source: asg-web
  • Destination: asg-db
  • Port: 1433

No IP management required.

3. How ASGs Work
ASGs are
  • Associated at the NIC level
  • Used as source/destination in NSG rules
  • Layer 4 aware (not Layer 7)
They create

Application-tier-based security.

4. Demonstration Summary
Environment
  • Two Ubuntu VMs
  • Both running NGINX
  • Same frontend subnet
  • One NSG associated at subnet level
Steps performed
1. Created ASG: asg-web-prod-01
2. Associated both VM NICs with ASG
3. Moved NSG from NIC-level to subnet-level
4. Modified NSG rule:
  • Destination -> Application Security Group
Result

HTTP traffic allowed only to resources tagged with ASG.

5. Why Move NSG to Subnet Level?
Original setup

NSG attached to NIC.

Improved setup

NSG attached to subnet.

Why?

Centralized management

Applies to all VMs in subnet

Scales better

6. ASG in NSG Rule Structure
NSG rule supports
  • | Field | Can Use ASG? |
  • | --- | --- |
  • | Source | Yes |
  • | Destination | Yes |
Example Rule
  • Inbound
  • Source: Any
  • Destination: asg-web
  • Port: 80
  • Allow
This means

Allow HTTP traffic only to VMs tagged as web.

7. Application-Aware Pattern Example
3-tier architecture
  • Frontend -> App → Database
ASGs
  • asg-web
  • asg-app
  • asg-db
NSG Rules
  • Allow asg-web -> asg-app (port 8080)
  • Allow asg-app -> asg-db (port 1433)
  • Deny everything else

No IP addresses needed.

8. Key Characteristics
  • Logical grouping
  • Dynamic membership
  • NIC-level association
  • Works with subnet-level NSG
  • Scales with VMSS
Important

ASGs do NOT work across VNets.

9. ASG vs Service Tags vs IP-Based Rules

| Feature | ASG | Service Tag | IP-Based |

| --- | --- | --- | --- |

| Dynamic grouping | Yes | Azure-managed | No |

| App-tier grouping | Yes | No | No |

| Cross-subnet | Yes | Yes | Yes |

| Cross-VNet | No | Yes | Yes |

🔟 Stateful Behavior Still Applies

NSGs are stateful.

If inbound allowed

Return outbound traffic automatically allowed.

ASGs do not change statefulness.

11. Common Enterprise Pattern

Public Load Balancer

→ asg-web

→ asg-app

→ asg-db

NSGs enforce tier communication only.

12. Common Exam Concepts (AZ-104 / AZ-700)
  • ASGs are Layer 7 firewalls → False
  • ASGs attach to subnet → False (NIC only)
  • ASGs replace NSGs → False
  • ASGs simplify scaling → True
  • ASGs work across VNets → False
13. When to Use ASGs
Use ASGs when
  • You have multi-tier apps
  • You scale frequently
  • You want logical grouping
  • You want clean NSG rules
  • You want IP-agnostic policies

Avoid using only IP-based rules in scalable environments.

14. Troubleshooting Checklist
If rule not working
  • Confirm VM NIC associated with ASG
  • Confirm NSG associated to subnet or NIC
  • Confirm rule priority
  • Confirm protocol matches
  • Check effective security rules
15. Design Best Practices
  • Use subnet-level NSGs
  • Use ASGs for tier grouping
  • Avoid hardcoded IP rules
  • Keep rule priorities spaced (100, 200, 300)
  • Use descriptive naming (asg-web-prod)
16. Reference Documentation

Application Security Groups

NSG Overview

NSG Rules with ASG

Hub-Spoke Architecture

Final Conceptual Summary

ASGs
  • Logical grouping for VM NICs
  • Used inside NSG rules
  • Enable scalable tier-based security
  • Simplify large environments
  • Improve readability of security rules
They make NSGs
  • Application-tier aware
  • IP-independent
  • Scalable
Troubleshooting Connectivity in Azure deep dive

Troubleshooting Connectivity in Azure – Structured Summary + Deep Dive

This lesson focuses on diagnosing connectivity issues using
  • Azure Network Watcher
  • Azure Virtual Network

Network Watcher is Azure’s built-in networking troubleshooting toolkit.

1. What Is Azure Network Watcher?
Network Watcher is
  • A regional Azure service
  • Automatically enabled when a VNet is deployed
  • Used to diagnose network and connectivity problems
Key concept:

One Network Watcher instance per region.

If you deploy VNets in
  • East US -> 1 Network Watcher in East US
  • West Europe -> 1 Network Watcher in West Europe
It is auto-created in a resource group like
  • NetworkWatcherRG
2. Why Network Watcher Is Important
In Azure, connectivity can break due to
  • NSG rules
  • Route tables (UDRs)
  • BGP propagation
  • Peering issues
  • VPN failures
  • Closed ports
  • Incorrect next hop
  • DNS resolution failures

Network Watcher helps isolate the issue quickly.

Think of it as a networking Swiss Army knife.

3. Major Network Watcher Tools Explained
Below are the core tools and when to use them
  • 🔎 1. IP Flow Verify
Tests whether traffic is allowed or denied based on
  • Source IP
  • Source Port
  • Destination IP
  • Destination Port
  • Protocol (TCP/UDP)
It evaluates
  • NSG rules
  • Effective security rules
Use when

You suspect NSG blocking traffic.

Docs
Shows
  • Which NSG rule allowed/denied traffic
  • Evaluation order
  • Final decision
Helpful when

You have multiple NSGs (NIC + subnet).

Docs
Equivalent to

Traceroute in Azure.

Shows
  • Next hop type
  • Route source (System / UDR / BGP)
Whether traffic goes
  • Internet
  • VNet peering
  • Virtual appliance
  • VPN gateway
Useful for

Route debugging.

Docs
Combines multiple tests
  • Connectivity
  • NSG diagnostics
  • Next hop
  • Port scan
Source options
  • VM
  • Application Gateway
  • Bastion
Destination options
  • VM
  • IP
  • FQDN
  • URI
Protocol
  • TCP
  • ICMP
When run

Deploys Network Watcher VM extension automatically.

Docs
Used for
  • Site-to-site VPN issues
  • Gateway connection debugging
Docs
Captures traffic as
  • PCAP file
Requires
  • Storage account
  • VM extension
Similar to

Wireshark in cloud.

Docs
Provides
  • Visual network map
  • Subnets
  • NSGs
  • Peerings
  • NICs
  • Public IPs

Great for quick architecture review.

Docs
4. Demonstration Summary
Scenario
  • Two VNets
  • Peered together
  • Web VM in VNet1
  • DB VM in VNet2
  • Testing SSH connectivity (Port 22)
Steps
1. Selected source VM
2. Selected destination VM
3. Ran Connection Troubleshoot
4. Reviewed results
Results Showed
  • Connectivity successful
  • Outbound NSG allowed
  • Next hop via VNet peering
  • Port 22 reachable
  • Using system route
Network Watcher clearly indicated

Traffic flowed across peering successfully.

5. How Connection Troubleshoot Works Internally
When run
  • Azure deploys Network Watcher extension on VM
  • Performs active probe
  • Returns structured diagnostic results
It checks
  • DNS resolution
  • Route table lookup
  • NSG rules
  • Effective security rules
  • Next hop
  • Port availability

This saves massive troubleshooting time.

6. Understanding the Output
Connection Troubleshoot returns
  • | Test | What It Means |
  • | --- | --- |
  • | Connectivity | Reachable or not |
  • | NSG diagnostic | Allowed/Denied |
  • | Next hop | Route decision |
  • | Port scanner | Service reachable |
If failure occurs

It tells you exactly which layer failed.

7. Real-World Troubleshooting Workflow
When connection fails
  • Step 1 -> Connection Troubleshoot
  • Step 2 -> Check NSG rules
  • Step 3 -> Check Effective routes
  • Step 4 -> Check UDRs
  • Step 5 -> Check Peering
  • Step 6 -> Check VPN / Gateway
  • Step 7 -> Use Packet Capture

This structured method reduces guesswork.

8. Common Failure Causes Identified by Network Watcher

❌ NSG blocking inbound port

❌ UDR overriding system route

❌ Peering not configured properly

❌ VPN tunnel down

❌ Port closed on VM

❌ Incorrect next hop (blackhole route)

❌ No service running on destination

9. Route Interpretation in Results
Next hop types may include
  • Internet
  • VNet Peering
  • Virtual Appliance
  • VNet Gateway
  • None (blackhole)
Route source
  • System
  • User Defined Route (UDR)
  • BGP
Important exam concept

User-defined routes override system routes.

🔟 Network Watcher Architecture Concepts

  • Regional service
  • Auto-enabled with first VNet
  • Extension deployed for active testing
  • Does not incur heavy cost unless packet capture used
11. Exam Tips (AZ-104 / AZ-700)
  • Network Watcher is global → False (regional)
  • Automatically deployed when VNet created → True
  • Connection Troubleshoot checks NSGs and routes → True
  • Packet capture requires storage account → True
  • Next hop identifies route source → True
12. Best Practices
  • Use Connection Troubleshoot first
  • Use Topology for architecture validation
  • Check effective routes before modifying NSGs
  • Use packet capture only when deeper inspection needed
  • Enable flow logs for ongoing monitoring
13. Advanced Insight
Network Watcher helps validate
  • Zero Trust networking
  • Hub-spoke routing
  • NVA routing
  • Hybrid connectivity
  • BGP route propagation
  • Firewall insertion architectures
It becomes essential in

Enterprise-scale Azure networking.

14. Conceptual Summary
Network Watcher gives you visibility into
  • Traffic path
  • Security evaluation
  • Route decisions
  • Service availability
Instead of guessing

It gives deterministic answers.

Introduction to Virtual Networking Exam Tips deep dive

Exam Tips: Introduction to Virtual Networking (Structured Review + Deep Dive)

This lesson summarizes core networking concepts required for Azure administrator exams (especially AZ-104).

Primary service discussed
  • Azure Virtual Network
1. Core Concept: What Is a Virtual Network?
A Virtual Network (VNet) is
  • An isolated private network in Azure
  • Similar to on-premises LAN
  • Uses RFC1918 private IP ranges
  • Segmented into subnets
Private IP ranges allowed
  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16
Official docs
2. Key Components of a VNet
  • Address Space

Defines total IP CIDR block.

  • Subnets

Smaller IP ranges carved from VNet.

Best practice
  • Separate frontend
  • Backend
  • Database
  • Identity
  • Firewall
  • Gateway subnet
  • Connected Devices

VMs, NICs, private endpoints, etc.

Each device receives
  • Private IP (static or dynamic)
  • DNS settings
  • NSG (optional)
  • Public IP (optional)
3. DHCP and DNS

DHCP

Managed automatically by Azure.

Assigns
  • Private IP
  • Default gateway
  • DNS settings

You cannot disable Azure DHCP.

DNS

Options
  • Azure-provided DNS
  • Custom DNS (e.g., domain controllers)
Docs
4. Routing in Virtual Networks
Every VNet includes
  • System Routes (Default)

Automatically created.

Examples
  • Local VNet route
  • Internet route
  • Peering route

Cannot be deleted, but can be overridden.

  • User-Defined Routes (UDRs)

Custom routes created in route tables.

  • BGP Routes
Learned from
  • VPN Gateway
  • ExpressRoute
Route precedence
  • UDR
  • BGP
  • System route
Docs
5. Public vs Private Connectivity

Azure VNets live in the private zone.

To enable public connectivity
  • Associate Public IP to NIC
  • Use Load Balancer
  • Use Application Gateway
Public IP types
  • Basic (less secure)
  • Standard (secure by default)
Private connectivity includes
  • VNet peering
  • VPN
  • ExpressRoute
Docs
6. VNet Peering

Azure VNet Peering

Allows private connectivity between VNets.

Key properties
  • Non-overlapping IP ranges required
  • Private IP communication
  • Low latency
  • Cross-region supported
  • Cross-subscription supported
  • ❌ Not transitive
  • ❌ Not encrypted by default
Important exam concept

Hub-and-spoke requires explicit peering between spokes if direct communication needed.

Docs
7. Hybrid Connectivity
Options
  • VPN Gateway

Encrypted IPsec tunnel.

ExpressRoute

Private dedicated circuit.

Azure VPN Gateway

Azure ExpressRoute

Docs
8. Network Security Groups (NSGs)

Azure Network Security Group

Layer 4 stateful firewall.

Can be applied at
  • Subnet level
  • NIC level
Key facts
  • Controls inbound/outbound traffic
  • Uses priority numbers (lower wins)
  • Stateful (return traffic auto-allowed)
  • Default rules exist (65000+ range)
Docs
9. Application Security Groups (ASGs)

Azure Application Security Group

Logical grouping of NICs.

Used inside NSG rules as
  • Source
  • Destination
Benefits
  • Application-tier-based filtering
  • Easier scaling
  • Dynamic membership
Docs
Tools include
  • IP Flow Verify
  • Next Hop
  • NSG Diagnostics
  • Connection Troubleshoot
  • Packet Capture
  • VPN Troubleshoot

Connection Troubleshoot is the most powerful combined tool.

Docs
11. Important Design Principles for Exam
When designing a VNet
  • Avoid IP overlap
  • Plan future growth
  • Separate tiers into subnets
  • Use NSGs for segmentation
  • Use UDRs carefully
  • Understand route precedence
  • Know peering limitations
  • Understand public vs private zone concept
12. Exam Pitfalls to Watch
  • NSGs are stateless → False (they are stateful)
  • VNet peering is transitive → False
  • Peering traffic encrypted automatically → False
  • System routes can be deleted → False
  • UDR overrides system route → True
  • DHCP can be disabled → False
  • One Network Watcher per region → True
13. Conceptual Architecture Stack (Mental Model)
Think in layers
  • IP Addressing
  • Subnet segmentation
  • Routing (system, UDR, BGP)
  • Security (NSG)
  • Application grouping (ASG)
  • Connectivity (Peering / VPN / ExpressRoute)
  • Troubleshooting (Network Watcher)
If something breaks

Check in this order.

14. Final Revision Checklist
Before exam, make sure you understand
  • VNet design process
  • Subnet sizing
  • CIDR calculations
  • Route precedence
  • NSG rule evaluation
  • Public IP behavior
  • Peering limitations
  • Hybrid connectivity basics
  • Network Watcher usage

Load Balancing and DNS

Introducing Azure Load Balancer deep dive

Azure Load Balancer – Structured Summary + In-Depth Notes

1. What is Azure Load Balancer?

Azure Load Balancer is a Layer 4 (Transport Layer) load balancing service in Microsoft Azure.

It distributes inbound and outbound traffic based on
  • Source IP
  • Source port
  • Destination IP
  • Destination port
  • Protocol (TCP/UDP)

Because it operates at Layer 4, it does not inspect HTTP headers or URLs (that’s Layer 7 – handled by Application Gateway or Front Door).

2. Deployment Scope
Azure Load Balancer can be
Regional

Balances traffic within one Azure region

Backend resources must be in the same region

Global (Public only)

Cross-region load balancing

Used for multi-region architectures

3. Public vs Internal Load Balancer

🌐 Public Load Balancer

Has a public IP

Exposes services to the internet

Example: Web servers

Internal Load Balancer

Uses private IP

Only accessible inside VNet or connected networks

  • Example: Web tier -> Database tier
4. Core Components Explained
Azure Load Balancer consists of several key components
1. Frontend IP Configuration
Defines
  • Public or private IP
  • IPv4 / IPv6
  • Entry point for traffic
2. Backend Pool
Contains
  • Virtual Machines
  • VM Scale Sets
  • NICs or IP addresses

Traffic is distributed among these backend resources.

3. Health Probes

Health probes check if backend instances are healthy.

Types
  • TCP
  • HTTP
  • HTTPS (Standard SKU)
If a VM fails probe checks
  • It is removed from rotation
  • Traffic goes only to healthy instances
  • Why important?

Prevents traffic from being sent to failed servers.

4. Load Balancing Rules
Defines
  • Frontend port
  • Backend port
  • Protocol
  • Backend pool
  • Health probe
Example
  • Frontend: TCP 80
  • Backend: TCP 80
  • Used for HTTP traffic
5. Inbound NAT Rules
Used for
  • Administrative access (e.g., SSH, RDP)
Example
  • Public IP: Port 1001 -> VM1: Port 22
  • Public IP: Port 1002 -> VM2: Port 22
Commonly used with
  • Virtual Machine Scale Sets
6. Outbound Rules
Controls
  • SNAT (Source Network Address Translation)
  • Outbound internet connectivity
  • Prevents SNAT port exhaustion
5. SKUs Explained
Azure Load Balancer has 3 SKUs
  • 🟡 Basic SKU (Retiring)
  • No SLA
  • No zone redundancy
  • Limited features
  • Not for production
  • 🟢 Standard SKU (Recommended)
Key Features
  • 99.99% SLA
  • Zone redundancy
  • HA ports
  • HTTPS health probes
  • Azure Monitor integration
  • Multiple frontend IPs
  • Secure by default (NSG required)

This is the production-grade option.

🔵 Gateway SKU

Azure Gateway Load Balancer

Used for
  • Chaining traffic to NVAs (Network Virtual Appliances)
  • Firewall insertion
  • Deep packet inspection
Flow

Client → Public LB → Gateway LB → NVA → Public LB → Backend

Used in
  • Security inspection
  • Enterprise architectures
6. Demonstration Architecture Summary
From transcript
  • VNet: vnet-prod
  • Subnet: fe-subnet
  • 2 Ubuntu VMs running NGINX
  • Public Load Balancer (Standard SKU)
  • HTTP load balancing rule (Port 80)
  • TCP health probe (Port 80)
  • SSH NAT rule (Port range 1000+)
Result

Accessing public IP → NGINX splash page → Traffic successfully distributed

7. How Traffic Distribution Works (Under the Hood)
Azure Load Balancer uses
Hash-Based Distribution
Based on 5-tuple hash
  • Source IP
  • Source Port
  • Destination IP
  • Destination Port
  • Protocol

Ensures consistent routing for same session.

8. Session Persistence Options

None (default)

Client IP

Client IP + Protocol

Used when applications require sticky sessions.

9. HA Ports (Standard SKU Only)
Allows
  • Load balancing across all ports
Useful for
  • NVAs
  • Complex firewall scenarios
Prevents
  • Port exhaustion issues
  • 🔟 When to Use Azure Load Balancer
Use when
  • You need L4 load balancing
  • You want high performance
  • You need ultra-low latency
  • You don’t need URL routing
11. Comparison with Other Azure Load Balancing Services

| Service | Layer | Use Case |

| --- | --- | --- |

| Azure Load Balancer | L4 | VM traffic distribution |

| Azure Application Gateway | L7 | Web routing, SSL termination |

| Azure Front Door | L7 Global | Global web apps |

| Traffic Manager | DNS | DNS-based failover |

12. Production Best Practices
  • Always use Standard SKU
  • Use Availability Zones
  • Configure health probes correctly
  • Monitor via Azure Monitor
  • Define outbound rules to avoid SNAT exhaustion
  • Use VM Scale Sets for auto scaling
  • Secure with NSGs
13. Common Real-World Architectures

Architecture 1 – Web App

  • Internet -> Public LB → Web VM Scale Set

Architecture 2 – 3-Tier

  • Internet -> Public LB → Web Tier
  • Web Tier -> Internal LB → App Tier
  • App Tier -> Internal LB → DB Tier

Architecture 3 – Secure Enterprise

Internet → Public LB → Gateway LB → Firewall NVA → Backend

14. Reference Documentation
Official Microsoft Docs

Q: Why is Azure Load Balancer not suitable for URL-based routing?

Because it operates at Layer 4 and does not inspect HTTP headers.

Q: What happens if a backend VM fails?

Health probe fails → VM removed from rotation → No traffic sent.

Q: Why is Standard SKU secure by default?

It requires
  • NSG rules explicitly allowing traffic
  • No open default access
  • Q: What causes SNAT port exhaustion?

Too many outbound connections using limited ephemeral ports.

Solution
  • Use outbound rules
  • Use NAT Gateway (preferred for large outbound traffic)
Key Takeaways

Azure Load Balancer = High-performance L4 load balancer

Standard SKU = Production-ready

Health probes = Critical

Gateway LB = Security chaining

Public vs Internal depends on exposure needs

Use VM Scale Sets for scalability

Troubleshooting Azure Load Balancers deep dive

Troubleshooting Azure Load Balancer – Structured Summary + Deep Dive

This lesson focuses on how to systematically troubleshoot issues in

Azure Load Balancer.

Azure Load Balancer troubleshooting usually falls into 3 main categories
  • Configuration Issues
  • Connectivity Issues
  • Performance Issues

Because Load Balancer is a Layer 4 service, troubleshooting is mostly about validating configuration, network flow, and health probes.

1. Configuration Issues

These are the most common problems.

A. Frontend IP Configuration

Check
  • Is it Public or Internal?
  • Is the public IP assigned?
  • Is the IP associated with the correct load balancer?
  • Correct region?
Common issue
  • Missing or incorrect frontend IP
  • Wrong port exposed
  • B. Backend Pool Configuration
Verify
  • Correct VMs or NICs added?
  • Correct VNet?
  • Instances healthy?

If backend VM is not in the pool → no traffic will reach it.

C. Load Balancing Rules

Check
  • Protocol (TCP/UDP)
  • Frontend port
  • Backend port
  • Associated health probe
  • If ports don’t match application port -> traffic fails.
Example from transcript
  • SSH service runs on port 22
  • NAT rule backend port was incorrectly set to 1000
  • Result: SSH connection failed
  • Fix: Change backend port to 22

This is a classic misconfiguration scenario.

D. Health Probes

Health probes determine if backend instances receive traffic.

If probe fails
  • Instance removed from rotation
  • Load balancer sends traffic to other healthy instances
Check
  • Correct protocol (TCP/HTTP/HTTPS)
  • Correct port
  • Application listening on that port
  • NSG allows probe traffic

Probe failure = no traffic distribution.

2. Connectivity Issues

These issues occur when traffic cannot reach the backend VMs.

Connectivity troubleshooting should follow this path

Client → Frontend IP → Load Balancer → Backend VM → Application

A. Network Security Groups (NSGs)

Check
  • Is port allowed inbound?
  • Is port allowed outbound?
  • Are health probe ports allowed?

NSG misconfiguration is a top cause of failure.

B. Firewall or NVA

If chained through
  • Azure Gateway Load Balancer
Then
  • Firewall rules
  • Deep packet inspection
  • Route tables

May block traffic.

C. Outbound Connectivity Problems

Example from transcript
VM attempted
  • sudo apt install nginx
It failed because
  • No public IP
  • No NAT Gateway
  • No outbound rules
  • Default outbound access deprecated
Azure provides 4 outbound options
  • Public IP on VM
  • Load Balancer outbound rules
  • NAT Gateway (recommended)
  • Default outbound (deprecated)
  • Best Practice for Production
Use
  • Azure NAT Gateway
  • Why?
  • Prevents SNAT port exhaustion
  • Scales better
  • Separates inbound and outbound traffic
In demo
  • Public IP was added to VM -> outbound worked.
3. Performance Issues

Performance troubleshooting involves monitoring.

Azure Load Balancer itself rarely becomes bottleneck — backend pool usually does.

Common performance issues
  • Too few backend instances
  • CPU/memory exhaustion on VMs
  • SNAT port exhaustion
  • Uneven flow distribution
  • Service health issues
  • Monitoring & Diagnostics Tools
Under Load Balancer → Monitoring
  • A. Metrics
Important metrics
  • Byte count
  • Data path availability
  • SNAT connections
  • Used SNAT ports
  • Flows count
Use metrics to detect
  • Throughput bottlenecks
  • High SNAT usage
  • Traffic spikes
  • B. Diagnostic Settings
Send logs to
  • Log Analytics
  • Storage Account
  • Event Hub
Enables
  • Long-term analysis
  • Advanced queries
  • C. Log Analytics Queries
You can query
  • LoadBalancerAlertEvent
  • LoadBalancerProbeHealthStatus
  • LoadBalancerRuleCounter

Requires Log Analytics workspace.

D. Load Balancer Insights

Shows
  • Backend pool health
  • Rule mapping
  • Flow distribution
  • VM availability
  • Data throughput trends
Useful for
  • Identifying traffic imbalance
  • Checking health probe failure rates
  • Understanding backend saturation
  • Deep Understanding: How Azure Load Balancer Works Internally
Azure Load Balancer uses
5-tuple hash
  • Source IP
  • Source Port
  • Destination IP
  • Destination Port
  • Protocol

This determines traffic distribution.

It does NOT
  • Inspect HTTP headers
  • Perform SSL termination
  • Do URL routing

That’s Layer 7 functionality.

SNAT & Port Exhaustion Explained

When backend VMs make outbound connections
  • Load Balancer performs SNAT
  • Each outbound connection consumes a port
  • Limited ephemeral port range
If exhausted
  • New outbound connections fail
  • Apps hang or timeout
Solution

→ Port mismatch or NSG blocking traffic.

Q: Why does health probe matter?

→ If probe fails, backend receives no traffic.

Q: Why avoid default outbound access?

→ Deprecated and unreliable.

Q: Best outbound solution for production?

→ NAT Gateway.

Q: How to detect SNAT exhaustion?

→ Monitor SNAT ports used metric.

Key Takeaways

  • Troubleshooting is mainly configuration validation
  • Always verify ports match actual application ports
  • Health probe is critical
  • NSGs and outbound configuration are common blockers
  • Use monitoring + insights for performance diagnostics
  • NAT Gateway is best practice for outbound traffic
If you’d like, I can now convert this into
  • 🔎 50 Interview Q&A format
PowerPoint slides (deep-dive version)
Flashcards for certification
Real-world troubleshooting lab scenario

📄 One-page printable cheat sheet

Using Azure DNS deep dive

Using Azure DNS – Structured Summary + Deep Dive

This lesson explains how DNS works in Azure and demonstrates private DNS configuration using

Azure DNS.

Azure DNS provides hosted DNS zones for
  • 🌐 Public name resolution (internet-facing)
  • 🔒 Private name resolution (inside virtual networks)
1. What is DNS in Azure?
DNS (Domain Name System) translates

Azure DNS is a fully managed DNS hosting service that replaces:

On-prem Windows DNS

Linux BIND DNS servers

Azure handles
  • High availability
  • Scalability
  • Global distribution
2. Two Types of Azure DNS Zones

🌐 Public DNS Zone

Used for
  • Internet-facing resources
  • Public websites
  • Public Load Balancers
  • Public App Services
Example
  • contoso.com -> A record → Public IP of Load Balancer

Records are publicly resolvable.

🔒 Private DNS Zone

Used for
  • VMs inside VNet
  • Internal Load Balancers
  • Private endpoints
  • Microservices architectures
Records are only resolvable
  • Within linked VNets
  • Peered VNets
  • Connected on-prem networks (via resolver)
3. Public DNS – Key Concepts
If you create a public zone like
  • contoso.com
You can create records such as
  • | Record Type | Purpose |
  • | --- | --- |
  • | A | IPv4 address |
  • | AAAA | IPv6 address |
  • | CNAME | Alias |
  • | MX | Mail |
  • | NS | Name servers |
  • | TXT | Verification / SPF |
  • | SOA | Start of authority |
  • | SRV | Service record |
  • | PTR | Reverse lookup |

⚠ Azure DNS does NOT support DNSSEC directly.

Microsoft recommends

Use TLS encryption instead.

4. Private DNS – Demonstration Summary
In the demo
  • Created private zone: private.contoso.com
  • Linked to VNet: vnet-prod-01
  • Enabled Auto Registration
  • VMs automatically registered A records
Example record created automatically
  • vm-web-prod-01.private.contoso.com -> 172.16.0.4
  • vm-web-prod-02.private.contoso.com -> 172.16.0.5
Then
  • SSH into VM
  • Ping other VM using FQDN
  • Successfully resolved to private IP
5. What is Auto Registration?
When enabled
  • Azure automatically creates DNS records
  • For VMs connected to the VNet
  • Records are updated if IP changes
Without auto-registration
  • You must manually create A records
Use auto-registration when
  • You want automation
  • You don't need selective exclusions

Private DNS zones must be linked to VNets.

  • Enables DNS resolution
  • Allows auto-registration
  • Controls which VNets can resolve zone

→ No resolution happens.

7. DNS Resolution Flow (Private)
  • VM -> Uses Azure-provided DNS (168.63.129.16)

→ Checks private zone

→ Resolves private IP

If VM DNS settings are changed to custom
  • It may NOT use Azure Private DNS
  • Must configure conditional forwarding manually
Important check

VM → Network Interface → DNS Settings → Inherit from VNet

8. Advanced Private DNS Architecture
Private DNS can support
  • Hub-Spoke architecture
  • VNet peering
  • On-prem via VPN/ExpressRoute
For hybrid
  • Use
  • Azure DNS Private Resolver
It allows
  • Conditional forwarding
  • On-prem DNS integration
  • Hybrid DNS resolution
9. When to Use Public vs Private DNS

| Scenario | Use |

| --- | --- |

| Website on public LB | Public DNS |

| Internal app between VMs | Private DNS |

| AKS internal service | Private DNS |

| Private Endpoint to PaaS | Private DNS |

🔟 Real-World Example

Architecture
  • Internet
  • → Public DNS Zone
  • → Public Load Balancer
  • → Web Tier (Private IPs)
Inside network
  • Web Tier
  • → Private DNS
  • → Database Tier
11. Common Troubleshooting Issues

A. Records Not Appearing

Auto-registration not enabled

VM not in linked VNet

DNS propagation delay

B. Cannot Resolve Name

VNet not linked

Custom DNS configured incorrectly

NSG blocking traffic

Using wrong FQDN

C. Hybrid Resolution Not Working

No DNS Private Resolver

Missing conditional forwarder

12. Azure DNS vs On-Prem DNS

| Feature | Azure DNS |

| --- | --- |

| Fully managed | Yes |

| High availability | Built-in |

| Global scale | Yes |

| Infrastructure management | None |

| DNSSEC | Not supported |

| Auto registration | Yes (Private only) |

13. Best Practices
  • Use Private DNS for internal workloads
  • Enable auto-registration when possible
  • Use Private Resolver for hybrid
  • Use meaningful subdomain naming
  • Monitor zone changes
  • Keep DNS simple (avoid overengineering)
14. Reference Documentation

Azure DNS Overview

Private DNS zones

Virtual network links

DNS record types

Azure DNS Private Resolver

Interview-Ready Key Points

Q: Difference between Public and Private DNS?

→ Public resolves over internet, Private resolves inside VNets.

Q: What enables private resolution?

→ Virtual network link.

Q: What is auto-registration?

→ Automatic A record creation for VMs.

Q: What DNS IP do Azure VMs use by default?

→ 168.63.129.16 (Azure-provided DNS).

Q: How to integrate on-prem DNS?

→ Azure DNS Private Resolver.

Key Takeaways

Azure DNS is fully managed.

Public DNS = internet resolution.

Private DNS = internal resolution.

VNet link is mandatory.

Auto-registration simplifies management.

Hybrid scenarios require DNS Private Resolver.

Load Balancing and DNS Exam Tips deep dive

Exam Tips: Load Balancing & DNS – Structured Review + Deep Understanding

This section consolidates key concepts for exam preparation covering
  • Azure Load Balancer
  • Azure DNS

These are commonly tested topics in Azure networking exams (AZ-104, AZ-700, AZ-305).

1. Azure Load Balancer – What You MUST Remember for the Exam
  • Core Concept

Azure Load Balancer is a Layer 4 (Transport Layer) load balancer.

It distributes traffic based on
  • Source IP
  • Source Port
  • Destination IP
  • Destination Port
  • Protocol (TCP/UDP)

⚠ It does NOT inspect HTTP headers (that’s Layer 7).

2. Regional vs Global Load Balancer
Regional

Balances traffic within one Azure region

Can be Public or Internal

Global (Public Only)

Balances traffic across multiple regions

Still has a “home region”

Only supported for Public Load Balancer

⚠ Internal Load Balancer cannot be Global.

3. Core Components (Highly Testable)
1. Frontend IP Configuration
Determines
  • Public or Private
  • Entry point for traffic
Exam trap
  • If frontend is private -> not internet accessible.
2. Backend Pool
Contains
  • VMs
  • VM Scale Sets
  • NICs
  • IPs

Traffic is distributed across backend pool members.

3. Health Probe

Critical for exam questions.

If probe fails

→ Instance removed from rotation.

Common mistakes
  • Wrong port
  • NSG blocking probe
  • Application not running
4. Load Balancing Rules
Maps
  • Frontend Port -> Backend Port
Defines
  • Protocol
  • Health probe association
  • Session persistence
Exam scenario example

SSH failing because backend port set incorrectly.

4. Troubleshooting – Exam Strategy
Always troubleshoot in this order
  • Step 1: Configuration
  • Frontend IP exists?
  • Backend pool correct?
  • Rule ports correct?
  • Health probe healthy?
  • Step 2: Connectivity
Determine
  • Inbound issue?
  • Outbound issue?
  • Outbound Connectivity Exam Scenario
Common issue

VM cannot access internet.

Causes
  • No public IP
  • No outbound rules
  • No NAT Gateway
  • Default outbound access deprecated
Best production solution
  • Use
  • Azure NAT Gateway
  • Why?
  • Prevents SNAT port exhaustion
  • Scales better than public IP per VM
5. Performance Troubleshooting
Know these tools
  • Azure Monitor Metrics
Check
  • Byte count
  • SNAT usage
  • Flow count
  • Diagnostic Settings
Send logs to
  • Log Analytics
  • Storage Account
  • Event Hub
  • Load Balancer Insights
View
  • Backend health
  • Flow distribution
  • Availability
  • Throughput
Exam tip
  • If uneven traffic -> check hash distribution and session persistence.
6. Azure DNS – What You Must Know

Public DNS

Used for
  • Public websites
  • Public load balancers

Records publicly resolvable.

Supports
  • A
  • AAAA
  • CNAME
  • MX
  • TXT
  • NS
  • SOA
  • SRV
  • PTR

⚠ DNSSEC not supported.

Private DNS

Used for
  • Internal VM communication
  • Private endpoints
  • Internal Load Balancer
Requires
  • Virtual Network Link
Optional
  • Auto-registration
7. Auto-Registration (Private DNS)
If enabled
  • Automatically creates A records for VMs
  • Updates if IP changes
If disabled
  • Must manually create records
Exam tip

If VM not resolving → check VNet link + DNS settings.

8. Public vs Private DNS (Exam Comparison)

| Feature | Public DNS | Private DNS |

| --- | --- | --- |

| Internet resolvable | Yes | No |

| VNet required | No | Yes |

| Auto registration | No | Yes |

| Use case | Websites | Internal workloads |

9. Common Exam Traps
  • Internal Load Balancer exposed to internet → Impossible
  • Health probe failing → No traffic to VM
  • VM cannot access internet → Outbound config issue
  • DNS record exists but not resolving → VNet link missing
  • Custom DNS configured → Azure Private DNS ignored

🔟 Architecture-Level Understanding (High-Level Questions)

Internet

→ Public DNS

→ Public Load Balancer

→ Backend Pool

Internal communication
  • VM -> Private DNS → Private IP
Hybrid scenario
  • On-prem DNS
  • ↔ Azure DNS Private Resolver
  • ↔ Azure Private DNS
11. Key Differences You Must Memorize

| Service | Layer | Scope |

| --- | --- | --- |

| Azure Load Balancer | L4 | Regional / Global |

| Application Gateway | L7 | Regional |

| Front Door | L7 | Global |

| Traffic Manager | DNS | Global |

12. High-Yield Exam Questions

Q: What removes a backend VM from load balancing?

→ Failed health probe.

Q: Can internal Load Balancer be global?

→ No.

Q: Best outbound method for production?

→ NAT Gateway.

Q: What enables private DNS resolution?

→ VNet link.

Q: What happens if VM uses custom DNS?

→ Private DNS zone may not resolve.

13. Reference Documentation

Azure Load Balancer Overview

Troubleshoot Load Balancer

Outbound Connections

Azure DNS Overview

Private DNS

Final Exam Strategy

If a question mentions
  • “Layer 4” -> Azure Load Balancer
  • “URL routing” -> Application Gateway
  • “Global HTTP routing” -> Front Door
  • “DNS-based routing” -> Traffic Manager
  • “Internal name resolution” -> Private DNS
  • Ultimate Takeaway
  • Azure Load Balancer = Traffic distribution (L4)
  • Azure DNS = Name resolution (Public & Private)
  • Troubleshooting = Configuration -> Connectivity → Performance

Network Integration

Using Azure Bastion deep dive

Using Azure Bastion – Structured Summary + Deep Dive

This lesson explains how to securely connect to private Azure VMs using:

Azure Bastion

Azure Bastion is a fully managed PaaS jump host service that allows you to connect to VMs via:

SSH (Linux)

RDP (Windows)

Directly from the Azure Portal browser, without exposing VMs to the public internet.

1. Why Azure Bastion Exists

The Problem

You have
  • Virtual Network
  • Subnet
  • Private VMs (no public IP)

You need secure administrative access.

Traditional method
  • Deploy jump box in DMZ
  • Assign public IP
  • Harden OS
  • Patch it
  • Manage security
That increases
  • Attack surface
  • Operational overhead
  • Maintenance effort
2. What Azure Bastion Does
Azure Bastion
  • Deploys into a special subnet
  • Uses a public IP
  • Provides browser-based SSH/RDP
  • Uses HTTPS (TLS encrypted)
  • Does NOT require VM public IP
Connection flow
  • Admin Browser
  • → Azure Portal
  • → Bastion (HTTPS)
  • → Private VM (RDP/SSH)

VM stays private.

3. Key Architecture Requirements

A. Dedicated Subnet (Mandatory)

Must be named
  • AzureBastionSubnet
It must
  • Be /26 or larger
  • Support scaling (host scaling)
  • Exist inside the same VNet
Example
  • 172.16.0.64/26
  • If subnet is smaller than /26 -> Deployment fails.
  • B. Public IP for Bastion
  • Bastion requires a public IP
  • VM does NOT need public IP
  • C. Same Region Requirement
Bastion must
  • Be deployed in same region as VNet
4. Bastion Tiers

Standard tier is production-ready.

Supports
  • Copy & Paste
  • IP-based connection
  • Kerberos authentication
  • Native client support
  • Shareable links

Basic tier has limited features.

5. How Connection Works
From VM
  • Portal -> VM → Connect → Bastion
Choose
  • SSH (Linux)
  • RDP (Windows)
  • Custom port if needed
Authentication method
  • Password
  • SSH key (local file)
  • Key Vault integration

Session opens in new browser tab.

Encrypted via HTTPS.

6. What Makes Bastion Secure
  • No VM public IP required
  • No inbound NSG rules for SSH/RDP needed
  • TLS encryption (HTTPS tunnel)
  • Managed & hardened infrastructure
  • Autoscaling backend

Reduces attack surface significantly.

7. Comparison: Jump Box vs Bastion

| Feature | Jump Box | Bastion |

| --- | --- | --- |

| VM to manage | Yes | No |

| Patch OS | Yes | No |

| Public IP on VM | Yes | No |

| Managed by Microsoft | No | Yes |

| Browser access | No | Yes |

| Scaling | Manual | Automatic |

8. Session Monitoring
Inside Bastion resource
You can view
  • Active sessions
  • Username
  • Protocol
  • Target VM
  • Session state

Useful for auditing.

9. Common Exam Scenarios
  • Question: Securely access VMs without public IP?

Answer: Azure Bastion.

  • Question: Reduce management overhead of jump server?

Answer: Bastion.

  • Question: Connect via browser over HTTPS?

Answer: Bastion.

  • Question: Subnet name requirement?

Answer: AzureBastionSubnet.

  • Minimum subnet size?

Answer: /26.

🔟 When NOT to Use Bastion

If you need
  • Automated scripting at scale
  • Direct SSH from CLI without portal
  • Complex jump workflows
Alternative
  • VPN
  • ExpressRoute
  • Azure AD login
  • Just-in-time VM access
11. Bastion vs Other Remote Access Methods

| Method | Public IP Required | Browser-based | Managed |

| --- | --- | --- | --- |

| Public IP + SSH | Yes | No | No |

| Jump Box | Yes | No | No |

| VPN Gateway | No | No | Managed |

| Bastion | No | Yes | Yes |

12. Security Best Practices
  • Remove public IPs from VMs
  • Use Bastion instead of jump servers
  • Use SSH keys instead of passwords
  • Use Azure AD authentication (if supported)
  • Enable session logging
13. Performance & Scaling

Bastion auto scales (Standard tier)

Supports up to 50 scale units

Backend infrastructure managed by Microsoft

Scaling supports multiple concurrent sessions.

14. Reference Documentation

Azure Bastion Overview

Bastion Architecture

Bastion FAQ

Subnet requirements

15. Deep Conceptual Understanding
Azure Bastion is
  • PaaS-based jump host
  • Provides secure RDP/SSH over TLS
  • Eliminates need for public VM exposure
  • Reduces lateral attack risk
  • Improves zero-trust posture
It integrates well with
  • NSGs
  • Private DNS
  • Hub-spoke architecture
  • Just-in-time VM access
  • Final Exam Memory Hooks
  • Bastion = Browser-based SSH/RDP
  • Dedicated subnet = AzureBastionSubnet
  • Minimum subnet = /26
  • VM public IP = NOT required
  • Managed jump box = Yes
Using Service Endpoints deep dive

Using Service Endpoints – Structured Summary + Deep Dive

This lesson explains how to privately connect Azure VMs to Azure PaaS services using:

Azure Virtual Network Service Endpoints

Service Endpoints allow secure connectivity from a VNet to Azure PaaS services without exposing traffic over the public internet.

1. The Problem Service Endpoints Solve
In Azure
  • VMs live inside Virtual Networks (VNets)
  • PaaS services (like Storage, SQL) have public endpoints by default
Example
  • VM (private IP) -> Storage Account (public endpoint)
Without service endpoints
  • VM must access storage via public IP
  • Traffic goes over internet (even though it stays within Azure)
  • VM may require outbound public IP
This creates
  • Larger attack surface
  • Security concerns
  • Complex firewall configurations
2. What Service Endpoints Do
Service Endpoints
  • Are enabled on a subnet
  • Work for specific Azure resource providers
  • Route traffic over the Microsoft Backbone
  • Keep traffic inside Azure’s private network
Important

⚠ It still uses the public endpoint of the PaaS service

⚠ It does NOT create a private IP for the service

⚠ It does NOT place the service inside your VNet

It simply changes the route to use Azure’s internal backbone.

3. How It Works Internally
Without Service Endpoint

VM → Default route (0.0.0.0/0) → Internet → Storage public endpoint

With Service Endpoint

VM → System route (Service Endpoint) → Microsoft Backbone → Storage public endpoint

Traffic stays within Azure network.

4. Key Concepts (Exam Critical)

A. Enabled at Subnet Level

You enable service endpoints on
  • Virtual Network -> Subnet → Service Endpoints
Not on
  • Individual VM
  • Individual NIC

All resources in that subnet benefit.

B. Resource Provider Based

You choose
  • Microsoft.Storage
  • Microsoft.Sql
  • Microsoft.KeyVault

etc.

Important
If you enable
  • Microsoft.Storage

It applies to ALL storage accounts, not just one specific storage account.

C. Effective Routes Validation

After enabling service endpoint
Go to
  • NIC -> Effective Routes
You will see
  • A new system route
  • Destination = Azure service
  • Next hop = VirtualNetworkServiceEndpoint

This confirms backbone routing.

5. Demonstration Summary
Steps performed
  • Created Storage Account
  • Enabled Microsoft.Storage service endpoint on subnet
  • Waited for propagation
  • Checked NIC -> Effective Routes
  • Verified new system route appeared
Result
VM traffic to Storage now uses

Microsoft Backbone instead of internet route.

6. Security Implications
Service Endpoints improve security by
  • Eliminating need for VM public IP for outbound access
  • Keeping traffic inside Azure network
  • Allowing Storage firewall to restrict access to specific VNets
Important
To fully secure
  • Configure Storage Account firewall
  • Allow only selected VNets

Otherwise, storage is still publicly accessible.

7. Service Endpoints vs Private Endpoints

This is a common exam question.

| Feature | Service Endpoint | Private Endpoint |

| --- | --- | --- |

| Uses public endpoint | Yes | No |

| Creates private IP | No | Yes |

| Works at subnet level | Yes | No |

| Stronger isolation | Moderate | High |

| Access from on-prem | No (directly) | Yes |

If question says
  • “Assign private IP to storage” -> Private Endpoint
  • “Secure backbone access only” -> Service Endpoint
8. When to Use Service Endpoints
Use when
  • Need simple secure access to Azure PaaS
  • Want to restrict PaaS access to specific VNets
  • Don’t need private IP for service
  • Want lower complexity than Private Endpoint
9. Limitations

Works only within Azure region (mostly)

Still public endpoint

Does not remove public DNS resolution

Not ideal for strict zero-trust architectures

For stronger isolation

Use Private Endpoints.

🔟 Supported Azure Services

Common services
  • Microsoft.Storage
  • Microsoft.Sql
  • Microsoft.KeyVault
  • Microsoft.EventHub
  • Microsoft.ServiceBus
  • Microsoft.AzureActiveDirectory
11. Service Endpoint Policies (Advanced)
You can apply
  • Service Endpoint Policies
These
  • Restrict which storage accounts are allowed
  • Provide granular control
  • Prevent accidental access to unintended storage accounts

Used in advanced security architectures.

12. Troubleshooting Checklist
If Service Endpoint not working
  • Confirm enabled on correct subnet
  • Verify VM in that subnet
  • Check Effective Routes
  • Confirm Storage firewall configured correctly
  • Wait for propagation (can take minutes)
  • Ensure same region compatibility
13. Deep Technical Understanding
When enabled

Azure injects a system route into the subnet route table.

Route type
  • VirtualNetworkServiceEndpoint
Priority
  • Overrides default internet route
  • Ensures traffic stays internal

This is automatic.

No UDR needed.

14. Best Practices
  • Use Service Endpoints with Storage firewall
  • Avoid relying on default outbound access
  • Use NAT Gateway for outbound internet traffic
  • Use Private Endpoints for high-security workloads
  • Validate effective routes after enabling
15. Reference Documentation

Service Endpoints Overview

Configure Service Endpoints

Storage Firewall with Service Endpoints

Private Endpoint Overview

Effective Routes

Exam Memory Hooks

Service Endpoint = Subnet-level backbone routing

Still uses public endpoint

No private IP assigned

Check effective routes

Storage firewall required for full restriction

Final Conceptual Summary

Service Endpoints
  • Improve security
  • Use Microsoft Backbone
  • Work at subnet level
  • Do not fully privatize PaaS service
  • Are simpler than Private Endpoints
Using Private Endpoints deep dive

Using Private Endpoints – Structured Summary + Deep Dive

This lesson explains how to securely access Azure PaaS services using:

Azure Private Endpoint

Private Endpoints provide true private connectivity to Azure services by assigning them a private IP address inside your Virtual Network.

1. Why Private Endpoints Exist
Previously, with Service Endpoints
  • Traffic stayed on Microsoft Backbone
  • But still used the public endpoint
  • Worked at subnet level
  • Applied to all services of a resource provider (e.g., Microsoft.Storage)
Private Endpoints solve
  • Granular access to specific service instance
  • Granular access to specific sub-resource (Blob, File, etc.)
  • Private IP-based connectivity
  • Hybrid (on-prem) access
  • Stronger isolation
2. What a Private Endpoint Does
When you create a Private Endpoint
  • Azure creates a Network Interface (NIC)
  • That NIC gets a private IP
  • The PaaS service is “projected” into your VNet
Now your architecture becomes
  • VM -> Private IP → Storage Blob
Instead of
  • VM -> Public Endpoint → Storage

It behaves as if the service lives inside your VNet.

3. Key Differences vs Service Endpoints

| Feature | Service Endpoint | Private Endpoint |

| --- | --- | --- |

| Uses public endpoint | Yes | No |

| Assigns private IP | No | Yes |

| Granular sub-service | No | Yes |

| Works from on-prem | No (directly) | Yes |

| Strong isolation | Moderate | High |

Exam tip
If question says
  • “Assign private IP to storage” -> Private Endpoint
  • “Subnet-level backbone routing only” -> Service Endpoint
4. Sub-Resource Targeting (Very Important)
With Private Endpoint, you select
For Storage
  • Blob
  • File
  • Table
  • Queue
  • DFS
  • Web
Example
You can create private endpoint for
  • StorageAccount -> Blob only

This gives granular control.

Service Endpoints cannot do this.

5. Demonstration Summary
Steps performed
  • Created separate subnet: PrivateEndpointSubnet
  • Created Private Endpoint from Storage Account
Selected
  • Resource type: Microsoft.Storage
  • Specific storage account
  • Sub-resource: Blob
  • Enabled Private DNS integration
Deployment created
  • Network Interface
  • Private IP (e.g., 172.16.0.132)
  • Private DNS Zone
  • DNS record
Result

Storage Blob now accessible via private IP.

6. Private DNS Integration (Critical Concept)
When enabling Private Endpoint
Azure automatically creates
  • privatelink.blob.core.windows.net
DNS flow
  • storageaccount.blob.core.windows.net
  • → CNAME
  • → storageaccount.privatelink.blob.core.windows.net
  • → A record -> Private IP
This ensures
  • No application changes required
  • Same FQDN works
  • DNS resolves to private IP internally
Without private DNS

You must manage DNS manually.

7. Hybrid Connectivity
Private Endpoint supports
  • VNet
  • Peered VNets
  • On-prem via VPN Gateway
  • On-prem via ExpressRoute
Because service now has
  • → Private IP inside VNet

This is a major advantage over Service Endpoints.

8. Security Benefits
Private Endpoints
  • Remove exposure to public endpoint
  • Allow disabling public network access
  • Provide zero-trust architecture
  • Prevent data exfiltration
  • Restrict access to specific VNets
Best practice
After creating Private Endpoint
Disable
  • Public network access = Disabled

On the storage account.

9. Network Interface Creation
Every Private Endpoint creates
  • A hidden NIC
  • With private IP
  • In chosen subnet
You can view it under
  • Network Interface resource
  • Subnet connected devices

This NIC consumes an IP address.

🔟 Subnet Considerations

You may
  • Use existing subnet
  • Or create dedicated PrivateEndpointSubnet
Best practice
Create dedicated subnet for
  • Better traffic control
  • Easier NSG management
  • Cleaner architecture
11. Advanced: Network Policies
By default
Private Endpoint subnet disables
  • Network Security Group policies
  • Route table policies

You can enable network policies if needed.

12. When to Use Private Endpoint
Use when
  • High security requirement
  • Need private IP access
  • Need on-prem access
  • Want to disable public endpoint
  • Zero-trust architecture
Use Service Endpoint when
  • Simpler setup needed
  • No hybrid requirement
  • Moderate security sufficient
13. Troubleshooting Checklist
If Private Endpoint not working
  • Check Private DNS zone linked?
  • Verify correct sub-resource selected
  • Confirm VNet/subnet correct
  • Ensure public access disabled only after testing
  • Validate DNS resolution inside VM
  • Confirm hybrid routing if on-prem
14. Deep Architecture Understanding
Private Endpoint uses
  • Azure Private Link
  • Private connectivity to Azure PaaS
  • Private connectivity to third-party services
  • Service provider publishing services privately

Private Endpoint is consumer side of Private Link.

15. Reference Documentation

Private Endpoint Overview

Private Link Architecture

DNS with Private Endpoints

Compare Service Endpoint vs Private Endpoint

Storage Private Endpoint

Exam Memory Hooks

Private Endpoint = Private IP for PaaS

Creates NIC in VNet

Supports hybrid

Granular sub-service selection

Requires private DNS integration

Final Conceptual Summary

Service Endpoint
  • Subnet-level backbone routing
  • Still public endpoint
Private Endpoint
  • True private IP
  • Instance-level isolation
  • Hybrid-ready
  • Strong security
Storage Network Access deep dive

Storage Network Access – Structured Summary + Deep Dive

This lesson explains how to control network access to Azure PaaS services using the service firewall, focusing on:

Azure Storage

It also clarifies how Service Endpoints and Private Endpoints interact with firewall rules.

1. Core Concept: PaaS Services Have Public Endpoints
Azure PaaS services (Storage, SQL, App Service, etc.)
  • Expose a public endpoint by default
  • Are reachable over the internet unless restricted
  • Include a built-in service firewall
Examples of services with firewall capability
  • Azure Storage
  • Azure SQL Database
  • Azure App Service
2. What Is the Service Firewall?
The service firewall
  • Controls access to the public endpoint
Allows you to
  • Allow all networks
  • Allow selected networks
  • Disable public access completely
Important
  • ⚠ It only affects the public endpoint
  • ⚠ It does NOT affect Private Endpoints
3. Firewall Access Modes
Inside Storage → Networking → Public network access
  • Option 1: Allow from All Networks
  • Default setting
  • Publicly accessible (if authentication allows)
  • Option 2: Allow from Selected Networks
Allows
  • Specific Virtual Networks (via Service Endpoints)
  • Specific Public IP addresses
  • Specific Resource Instances
  • Trusted Microsoft Services
  • Option 3: Disable Public Access
  • Completely blocks public endpoint
  • Only Private Endpoint access works

This is the most secure configuration.

4. How Service Firewall Works with Service Endpoints
Important exam concept
Even though Service Endpoints use the Microsoft Backbone
  • They still use the public endpoint
Therefore
  • If firewall blocks public access,
  • → Service Endpoints are also blocked

(unless explicitly allowed in firewall rules).

To allow Service Endpoint access

Add the specific VNet/subnet to firewall exceptions.

5. Private Endpoint Interaction
Private Endpoint
  • Does NOT use public endpoint
  • Uses private IP inside VNet
  • Bypasses service firewall
Therefore
If you
  • Disable public access completely

Private Endpoint will still work.

This enables zero-trust architecture.

6. Demonstration Summary
Steps performed
  • Created storage account
  • Created private container
  • Uploaded blob
  • Observed public URL behavior
  • Enabled anonymous blob access
  • Verified public access worked
  • Disabled public network access
  • Verified public endpoint blocked
  • Confirmed only private endpoint works
This demonstrated
  • Difference between anonymous access
  • Service firewall restrictions
  • Public endpoint behavior
7. Anonymous Blob Access vs Firewall
Two different controls
  • A. Allow Blob Anonymous Access
  • (Storage Account -> Configuration)
Controls
  • Whether blobs can be accessed anonymously
  • B. Container Access Level
  • Private (no anonymous)
  • Blob (read-only anonymous for blobs)
  • Container (anonymous list + read)
  • C. Service Firewall
Controls
  • Network-level access
  • Public endpoint exposure
  • Even if anonymous access is allowed,

Firewall can still block it.

8. Resource Instance Exceptions
You can allow specific Azure resources
Example
  • Allow a specific Azure SQL Server
  • Allow specific App Service instance
This enables
  • Granular PaaS-to-PaaS communication
9. Trusted Microsoft Services
Option
  • Allow trusted Azure services
Examples
  • Azure Backup
  • Azure Monitor
  • Azure Site Recovery
  • Azure Data Box

This allows Azure internal services to access storage.

Be careful

Trusted services may be broader than expected.

🔟 Architecture-Level Understanding

Without restrictions
  • Internet -> Storage Public Endpoint → Allowed
With firewall restrictions
  • Internet -> Blocked
  • VNet via Service Endpoint -> Allowed (if configured)
  • Private Endpoint -> Always allowed (if configured)
11. Best Practice Security Model
For high-security production
  • Create Private Endpoint
  • Disable public network access
  • Disable anonymous access
  • Use RBAC + Azure AD authentication
This provides
  • No public exposure
  • Private IP-only access
  • Hybrid connectivity
  • Least privilege
12. Comparison: Service Endpoint vs Private Endpoint (With Firewall)

| Scenario | Service Endpoint | Private Endpoint |

| --- | --- | --- |

| Firewall disabled | Works | Works |

| Firewall enabled + VNet added | Works | Works |

| Firewall enabled + no exception | Blocked | Works |

| Public access disabled | Blocked | Works |

Exam trap

Service Endpoints still depend on public endpoint.

13. Common Exam Questions

Q: Does firewall affect Service Endpoints?

→ Yes.

Q: Does firewall affect Private Endpoints?

→ No.

Q: How to completely remove public exposure?

→ Disable public network access.

Q: Anonymous access allowed but firewall enabled?

→ Still blocked unless allowed by firewall.

14. Troubleshooting Checklist
If access fails
  • Check firewall setting
  • Verify Service Endpoint exception added
  • Confirm VNet/subnet correct
  • Validate Private Endpoint DNS resolution
  • Confirm anonymous access settings
  • Review NSGs
15. Deep Security Insight
The service firewall acts as
  • Network-level gatekeeper
  • For the public endpoint only
It complements
  • RBAC
  • Azure AD authentication
  • Storage account keys
  • SAS tokens
Security layering
  • Identity + Network + Encryption + Access control
16. Reference Documentation

Storage Firewall

Storage Anonymous Access

Private Endpoint for Storage

Service Endpoints

Trusted Azure Services

Final Exam Memory Hooks

Service Firewall = Controls public endpoint

Service Endpoint = Uses public endpoint

Private Endpoint = Bypasses public endpoint

Disable public access = Private only

Ultimate Summary

Storage Network Access involves
  • Public endpoint control via service firewall
  • VNet integration via Service Endpoints
  • True isolation via Private Endpoints
  • Anonymous access controls
  • Granular exception rules

Understanding how these layers interact is critical for Azure networking exams.

Network Integration Exam Tips deep dive

Exam Tips: Network Integration (AZ-104) – Structured Review + Deep Understanding

This section summarizes key Network Integration concepts for the AZ-104 exam.

It covers how Azure integrates virtual networks with PaaS services securely.

Core topics
  • Azure Bastion
  • Azure Virtual Network Service Endpoints
  • Azure Private Endpoint
  • Azure Storage (Service Firewall context)
1. Azure Bastion – Secure VM Administration

What It Does

Azure Bastion provides
  • Browser-based SSH/RDP
  • Over HTTPS (TLS encrypted)
  • Managed PaaS jump host
  • No public IP required on VMs
  • Why It Matters for Exam
You must remember
  • Dedicated subnet named AzureBastionSubnet
  • Minimum subnet size: /26
  • Must be in same region as VNet
  • VM does NOT require public IP
  • When to Choose Bastion
  • Secure admin access required
  • Remove public IP exposure
  • Reduce jump-box management overhead
Exam Trigger Words
  • “Secure browser-based access”
  • “No public IP”
  • “Managed jump host”
2. Service Endpoints – Subnet-Level Backbone Access

What They Do

Service Endpoints
  • Enabled at subnet level
  • Route traffic to Azure PaaS services
  • Use Microsoft Backbone
  • Still use public endpoint
Important
  • ⚠ No private IP assigned
  • ⚠ Still public endpoint
  • ⚠ Affects all services under that provider
Example
  • Enable Microsoft.Storage -> applies to all storage accounts.
  • How It Works
Without service endpoint
  • VM -> Internet route → Public endpoint
With service endpoint
  • VM -> System route → Microsoft Backbone → Public endpoint

No public IP needed on VM.

Exam Key Distinction

Service Endpoint
  • Subnet-based
  • Public endpoint
  • Moderate security
3. Private Endpoints – True Private Connectivity
Private Endpoints are part of
  • Azure Private Link
  • What They Do
  • Assign private IP to PaaS service
  • Create NIC in VNet
  • Allow granular sub-resource access (Blob, File, etc.)
  • Support hybrid (VPN / ExpressRoute)
Example
  • StorageAccount -> Blob → Private IP
  • Major Differences
  • | Feature | Service Endpoint | Private Endpoint |
  • | --- | --- | --- |
  • | Uses public endpoint | Yes | No |
  • | Assigns private IP | No | Yes |
  • | Hybrid ready | Limited | Yes |
  • | Sub-resource selection | No | Yes |
Exam Trigger Words
  • “Private IP for storage”
  • “Disable public access”
  • “Hybrid access required”
  • Answer -> Private Endpoint
4. Service Firewall (Storage Network Access)
Many PaaS services include a service firewall, including
  • Azure Storage
  • Azure SQL Database
  • Azure Key Vault
  • What It Does
Controls access to
  • → Public endpoint only
Options
  • Allow all networks
  • Allow selected VNets/IPs
  • Disable public access
  • Critical Exam Concept
Service Firewall
  • Affects Service Endpoints
  • ❌ Does NOT affect Private Endpoints
If public access disabled
  • Service Endpoint -> blocked
  • Private Endpoint -> works
5. Security Architecture Patterns (Exam Scenarios)

Moderate Security

Service Endpoint

Firewall allows specific VNet

High Security (Zero Trust)

Private Endpoint

Public access disabled

Firewall blocks all public

DNS integrated

Secure Admin Pattern

Bastion for VM access

No public IP on VMs

NSGs restrict inbound traffic

6. Decision Tree for Exam Questions
If question mentions
“Browser-based RDP/SSH”

→ Bastion

“Subnet-level backbone routing”

→ Service Endpoint

“Assign private IP to storage”

→ Private Endpoint

“Block all public access”

→ Service Firewall + Private Endpoint

“Hybrid access required”

→ Private Endpoint

7. Common Exam Traps
  • Service Endpoint gives private IP → False
  • Firewall does not affect Service Endpoint → False
  • Bastion requires VM public IP → False
  • Private Endpoint uses public endpoint → False
8. Integration Hierarchy (Conceptual Model)

Layer 1 – Admin Access

→ Bastion

Layer 2 – Subnet-based PaaS routing

→ Service Endpoint

Layer 3 – True private PaaS connectivity

→ Private Endpoint

Layer 4 – Public endpoint control

→ Service Firewall

9. Hybrid Integration Understanding
Only Private Endpoint supports
  • On-prem access via VPN
  • On-prem access via ExpressRoute
  • Private DNS resolution

Service Endpoint does NOT extend to on-prem.

🔟 Reference Documentation

Azure Bastion

Service Endpoints

Private Endpoint

Storage Firewall

Private Link vs Service Endpoints

Final AZ-104 Memory Summary

Azure Bastion

= Secure admin access without public IP

Service Endpoint

= Subnet-level backbone routing

Private Endpoint

= Private IP for PaaS

Service Firewall

= Controls public endpoint access

High-Impact Exam Strategy

When answering scenario questions
Identify whether problem is
  • Admin access
  • PaaS integration
  • Hybrid requirement
  • Public exposure control

Choose smallest secure solution that satisfies requirement.


Domain 5: Monitor and Maintain (10–15%)

Azure Monitor

  • Metrics — platform metrics (auto), guest OS metrics (Azure Monitor Agent required).
  • Logs — send to Log Analytics workspace; query with KQL.
  • Alerts — metric alerts, log alerts, activity log alerts, action groups (email, SMS, webhook, runbook).
  • Workbooks — rich visualisation dashboards.
  • VM Insights — pre-built performance + dependency maps.

Log Analytics and KQL basics

// Heartbeat missed in last 5 min
Heartbeat | summarize LastHB = max(TimeGenerated) by Computer
| where LastHB < ago(5m)

// CPU > 90% for a VM
Perf | where ObjectName == "Processor" and CounterName == "% Processor Time"
| where CounterValue > 90 | project TimeGenerated, Computer, CounterValue

Azure Backup

  • Recovery Services Vault — holds backup data.
  • Backup policy — schedule + retention (daily/weekly/monthly/yearly).
  • Supports: Azure VMs, SQL in VMs, Azure Files, on-premises via MARS/MABS agent.
  • Soft delete — 14-day retention for deleted backup items (enabled by default).

Azure Site Recovery (ASR)

  • Replicates VMs to a secondary region for disaster recovery.
  • RPO typically < 30 seconds; RTO in minutes.
  • Test failover — validates DR without impacting production.
  • Recovery plans — orchestrate failover order + pre/post scripts.

Monitoring and Alerting deep dives

These lessons follow the source AZ-104 certification-theory hierarchy and expand the domain summary into practical administrator-level notes.

Azure Monitor Fundamentals

Azure Monitor Overview deep dive
Understanding Azure Monitor — Review Notes

The transcript is really about Azure Monitor overall, not specifically Azure Monitor Agent. Azure Monitor is Microsoft’s full-stack monitoring/observability service for collecting, analyzing, visualizing, and acting on telemetry from Azure, hybrid infrastructure, applications, and related services.

A useful mental model is:

Resources / Applications / Infrastructure
                 │
                 ▼
            Azure Monitor
          ┌──────┴──────┐
          ▼             ▼
       Metrics         Logs
          │             │
          ▼             ▼
 Metrics Explorer   Log Analytics
                        │
                        ▼
                       KQL

Current Microsoft documentation describes Azure Monitor as a unified observability service that brings together metrics, logs, traces, and events across cloud and hybrid environments. (Microsoft Learn)

1. What Azure Monitor can monitor

The transcript emphasizes that Azure Monitor can monitor more than just Azure VMs. It can cover:

  • Azure resources
  • Azure platform services
  • applications
  • on-premises resources
  • hybrid infrastructure
  • application code

This makes Azure Monitor a central monitoring platform rather than a VM-only monitoring service.

A broader current architecture looks like:

Azure Resources
Azure VMs
Azure PaaS
Applications
Azure Arc / Hybrid
Containers
Application telemetry
        │
        ▼
     Azure Monitor
        │
  ┌─────┼──────────┐
  ▼     ▼          ▼
Metrics Logs     Traces/Events

(Microsoft Learn)


2. Metrics vs Logs

This is the main concept in the transcript.

Metrics

Metrics are primarily numeric, time-series values collected frequently.

Examples:

CPU = 72%
Available memory = 3.1 GB
Requests/sec = 420
Disk latency = 6 ms

Typical characteristics:

  • numeric
  • time-based
  • collected frequently
  • near-real-time
  • lightweight
  • good for alerting and visualization

Typical use case:

Performance monitoring

Azure automatically collects many platform metrics for Azure resources. Microsoft describes platform metrics as numeric values collected automatically at regular intervals. (Microsoft Learn)


Logs

Logs are richer records describing events or activity.

Examples:

Application error occurred
User logged in
VM extension failed
Database query timed out
Firewall rule changed

Characteristics:

  • event-oriented
  • richer than metrics
  • structured or semi-structured
  • queried using KQL
  • useful for diagnostics and investigation

Typical use case:

Troubleshooting and root-cause analysis

Azure Monitor Logs data is normally analyzed using Log Analytics and Kusto Query Language (KQL). (Microsoft Learn)


3. Metrics vs Logs — exam-friendly comparison
CharacteristicMetricsLogs
Data typeNumeric time seriesRecords/events
CollectionFrequentEvent-driven / collected
Query complexityRelatively simplePowerful queries
Primary toolMetrics ExplorerLog Analytics
Query languagePortal metric queries / modern PromQL scenariosKQL
Best usePerformance and healthDiagnostics and investigation
AlertingMetric alertsLog search alerts
ExampleCPU = 80%"Authentication failed"

The simplest distinction to remember is:

Metrics = "What is the value now?"

Logs = "What happened?"

4. Platform metrics are often collected automatically

The transcript demonstrates creating a VM and then going directly to:

VM → Monitoring → Metrics

without first installing an agent.

This is an important concept.

For many Azure resources:

Azure Resource
      │
      ▼
Platform telemetry
      │
      ▼
Azure Monitor Metrics

Azure itself can observe the resource at the platform level.

For a VM, for example:

Percentage CPU
Disk operations
Network traffic

may be available without Azure Monitor Agent.

Microsoft confirms that Azure platform metrics are automatically collected for supported Azure resources. (Microsoft Learn)


5. Platform metrics vs guest OS telemetry

This distinction becomes especially important when you study Azure Monitor Agent.

Platform monitoring

Azure sees the resource externally:

Azure Host
   │
   ▼
VM
   │
   └── CPU / Disk / Network platform metrics

No guest monitoring agent may be required.

Guest monitoring

To inspect what is happening inside the OS, you need guest telemetry collection.

Examples:

Windows Event Logs
Syslog
Guest memory counters
Processes
Custom application logs

That is where:

Azure Monitor Agent
+
Data Collection Rule

becomes relevant.

So:

Platform metric
→ Azure collects it automatically

Guest OS log/counter
→ typically AMA + DCR

6. Metrics Explorer

The transcript demonstrates two ways to access the same metrics experience.

From the resource
Virtual Machine
   ↓
Monitoring
   ↓
Metrics

Azure automatically scopes Metrics Explorer to that VM.

From Azure Monitor
Azure Monitor
   ↓
Metrics
   ↓
Select Scope
   ↓
Choose VM

This approach is useful when working centrally across many resources.

Microsoft confirms that selecting Metrics from an Azure resource opens Metrics Explorer scoped to that resource. (Microsoft Learn)


7. Example: Percentage CPU

The lesson selects:

Metric:
Percentage CPU

which produces a time-series graph.

Conceptually:

CPU %
100 ┤
 80 ┤            ╭───╮
 60 ┤       ╭────╯   ╰─╮
 40 ┤───────╯          ╰────
 20 ┤
  0 └────────────────────────
       time →

This is a classic use of metrics because CPU percentage is:

  • numeric
  • time-series based
  • frequently sampled
  • useful for performance monitoring

8. Time range

Metrics Explorer allows you to control how much historical information is displayed.

The transcript demonstrates choices such as:

Last 30 minutes
Last 24 hours
Last 30 days
Custom

The time range controls which metric samples are considered.

Example:

Last 30 minutes
→ troubleshooting current spike

Last 24 hours
→ daily behavior

Last 30 days
→ identify long-term pattern

9. Time granularity

The transcript also explains time granularity.

This determines the size of the time buckets used to present the metric.

For example:

1-minute granularity
10:00
10:01
10:02
10:03
...

versus:

5-minute granularity
10:00
10:05
10:10
...

A smaller time grain provides more detail but potentially a noisier chart.

A larger time grain provides a smoother high-level trend.

Microsoft documentation also reflects how time range and time granularity influence metric visualization and aggregation. (Microsoft Learn)


10. Correction to the transcript's calculation

The transcript says that at 5-minute granularity, over 24 hours there would be 1,440 data points.

That arithmetic is incorrect.

At five-minute intervals:

60 minutes / 5 = 12 samples per hour

12 × 24 = 288 samples per day

So:

5-minute granularity over 24 hours ≈ 288 time buckets, not 1,440.

1,440 would correspond to one sample per minute:

60 × 24 = 1,440

This is worth correcting in your review notes.


11. Aggregation is different from collection interval

For deeper understanding, don't confuse:

Collection/sampling frequency

How frequently telemetry enters Azure Monitor.

with:

Time granularity

How Metrics Explorer groups the data for analysis.

For example:

Raw samples
10:00 → 42
10:01 → 48
10:02 → 51
10:03 → 47
10:04 → 52

Displayed as a 5-minute average:

10:00–10:05
Average = 48

So a chart's time grain does not necessarily mean Azure only collected one value during that entire period.


12. Metric aggregation

Metrics usually support aggregation functions such as:

Average
Minimum
Maximum
Sum
Count

For CPU:

Average CPU

is usually more useful than summing CPU percentages.

For requests:

Total requests

may make more sense.

This becomes important when building:

  • dashboards
  • alerts
  • workbooks
  • capacity planning charts

13. Where monitoring data can go

The transcript describes several destinations.

A useful architecture is:

Azure Resource
      │
      ▼
Diagnostic / monitoring data
      │
      ├────► Azure Monitor Logs / Log Analytics
      │
      ├────► Storage Account
      │
      └────► Event Hub

Common reasons:

DestinationTypical purpose
Log AnalyticsAnalysis and KQL
Storage AccountLong-term archival
Event HubForward to third-party/SIEM
Azure Monitor MetricsTime-series performance analysis

Azure resource diagnostic settings are commonly used to route resource logs and supported metrics to destinations such as Log Analytics, Storage, and Event Hubs. (Microsoft Learn)


14. Log Analytics Workspace

A Log Analytics workspace is a central Azure Monitor Logs data store and query environment.

Architecture:

VM
Storage Account
Key Vault
Firewall
App Service
     │
     ▼
Azure Monitor Logs
     │
     ▼
Log Analytics Workspace
     │
     ▼
KQL

Typical uses:

  • troubleshooting
  • correlation
  • security analysis
  • operational investigation
  • dashboards
  • alerting
  • workbooks

15. KQL

The transcript refers to "Kusto" as the query language.

The full name is:

Kusto Query Language (KQL).

Example:

AzureActivity
| where TimeGenerated > ago(24h)
| summarize count() by OperationNameValue
| order by count_ desc

Another VM example might be:

Perf
| where ObjectName == "Processor"
| where CounterName == "% Processor Time"
| summarize avg(CounterValue) by Computer, bin(TimeGenerated, 5m)

KQL is fundamental for:

  • Azure Monitor Logs
  • Log Analytics
  • Microsoft Sentinel
  • Application Insights logs
  • log search alerts

Log Analytics currently supports both a simpler exploration mode and full KQL mode for advanced queries. (Microsoft Learn)


16. Storage Account as a monitoring destination

A Storage Account is useful when you primarily need:

Archiving
Long-term retention
Compliance
Low-cost storage

For example:

Azure Firewall logs
        │
        ▼
Storage Account
        │
        ▼
Long-term archive

Later, that information can potentially be processed or imported into analytical platforms.

For active operational analytics, however, Log Analytics is usually much more convenient.


17. Event Hub as a monitoring destination

Event Hubs is useful when telemetry needs to leave Azure Monitor and go to another platform.

Example:

Azure resources
      │
      ▼
Diagnostic Settings
      │
      ▼
Event Hub
      │
      ▼
Third-party SIEM

Potential consumers could include:

Splunk
Custom event processing
External SIEM
Security platform

So think:

Event Hub = streaming/integration destination.


18. Logs cannot be stored in the Azure Monitor metric database

This point from the transcript is important.

Logs
  ✕
Azure Monitor Metrics database

Metrics and logs are optimized for different data models.

Think:

Metrics database
     ↓
numeric time series

Log Analytics
     ↓
structured/semi-structured records

This separation enables each system to optimize for its workload.


19. Diagnostic settings

The transcript discusses routing metrics and logs, but the underlying Azure concept worth knowing is Diagnostic Settings.

A diagnostic setting can route supported resource telemetry to:

Log Analytics workspace
Storage account
Event Hub

For example:

Key Vault
    │
    ▼
Diagnostic Setting
    │
    ├──► Log Analytics
    ├──► Storage
    └──► Event Hub

Microsoft notes that resource logs are generated by Azure, but typically require a diagnostic setting if you want to send them to a destination such as Log Analytics. (Microsoft Learn)


20. Resource logs vs Activity Log

Another distinction to understand:

Activity Log

Tracks Azure control-plane operations.

Examples:

Create VM
Delete VM
Start VM
Change NSG
Assign role
Resource logs

Describe operations occurring within a specific resource/service.

Examples:

Key Vault secret access
Firewall traffic
Storage operation
SQL query auditing

The resource itself generates these logs.

Guest OS logs

Come from inside the VM:

Windows Event Log
Syslog
Application logs

Usually collected using AMA.

So:

Azure control plane
      → Activity Log

Azure service internals
      → Resource Logs

VM operating system
      → AMA / Guest logs

21. Modern Azure Monitor terminology clarification

The transcript uses Azure Monitor as though it were a single metrics database.

Current Azure Monitor architecture is broader.

Microsoft now distinguishes between:

Log Analytics workspace

Primarily:

Logs + traces
→ KQL
Azure Monitor workspace

Currently focused primarily on:

Prometheus metrics

and related modern metrics scenarios.

These are separate resource types. (Microsoft Learn)

For AZ-104-style fundamentals, though, the useful model remains:

Azure Monitor
   ├── Metrics
   └── Logs

22. Azure Monitor Agent's place in this architecture

Since your lesson title mentions Azure Monitor Agent, here's how it fits into the bigger architecture:

                          Azure Monitor
                      ┌───────┴───────┐
                      ▼               ▼
                   Metrics          Logs
                      ▲               ▲
                      │               │
Azure platform ───────┘               │
                                      │
VM Guest OS                           │
    │                                 │
    ▼                                 │
Azure Monitor Agent                   │
    │                                 │
    ▼                                 │
Data Collection Rule ─────────────────┘

AMA does not replace Azure Monitor.

Instead:

Azure Monitor = monitoring platform AMA = agent that feeds certain guest telemetry into Azure Monitor


23. How Alerts fit into Azure Monitor

Once telemetry exists:

Metrics / Logs
      │
      ▼
Azure Monitor Alert Rule
      │
condition met
      ▼
Action Group
      │
      ├── Email
      ├── SMS
      ├── Runbook
      └── Function

So monitoring can move through three stages:

COLLECT
   ↓
ANALYZE
   ↓
ACT

For example:

Collect CPU metric
       ↓
Analyze CPU trend
       ↓
Alert if CPU > 90%
       ↓
Notify administrator

24. Azure Monitor services you should know

Azure Monitor is an umbrella containing several features.

FeaturePurpose
MetricsNumeric time-series monitoring
Metrics ExplorerExplore metric data
Azure Monitor LogsLog data platform
Log AnalyticsQuery logs
KQLLog query language
Application InsightsApplication performance monitoring
VM InsightsVM monitoring experience
Container InsightsAKS/container monitoring
AlertsDetect conditions
Action GroupsRespond to alerts
WorkbooksInteractive dashboards
Diagnostic SettingsRoute resource telemetry
AMAGuest OS collection
DCRDefine AMA collection

25. Example end-to-end monitoring architecture

Imagine an App Service calling a VM-hosted database:

                    Azure Monitor
                         │
          ┌──────────────┼───────────────┐
          ▼              ▼               ▼
       Metrics        Log Analytics    Alerts
          ▲              ▲               │
          │              │               ▼
          │              │          Action Groups
          │              │
App Service              │
     │                   │
     ▼                   │
Application Insights     │
                         │
VM                       │
 │                       │
 ├── Platform metrics ───┘
 │
 └── AMA
      │
      ▼
     DCR
      │
      ▼
Log Analytics

This demonstrates why Azure Monitor is called full-stack monitoring.


26. Exam-focused decision table
RequirementUse
View VM CPU over last hourMetrics Explorer
Query Windows Event LogsLog Analytics + KQL
Collect guest VM logsAMA + DCR
Store logs for archivalStorage Account
Forward logs to external SIEMEvent Hub
Query Azure logsKQL
Alert when CPU > 90%Metric Alert
Dashboard multiple monitoring queriesWorkbook
Route resource logsDiagnostic Settings
Monitor application performanceApplication Insights
Investigate Key Vault operationsResource Logs

27. Common misconceptions
"Metrics require AMA"

Not necessarily.

Many Azure platform metrics are collected automatically.

"Every Azure resource log automatically appears in Log Analytics"

No.

Resource logs are generated by Azure services, but you typically need Diagnostic Settings or an appropriate collection mechanism to send them to Log Analytics. (Microsoft Learn)

"Azure Monitor and Log Analytics are the same"

No.

Azure Monitor
    ↓
Monitoring platform

Log Analytics
    ↓
Tool/workspace experience for analyzing Azure Monitor Logs
"KQL queries the Azure Monitor metric database"

Generally think of KQL primarily in relation to Azure Monitor Logs / Log Analytics. Current Azure Monitor also has newer metric experiences, including Prometheus/PromQL scenarios. (Microsoft Learn)


28. Quick revision cheat sheet
AZURE MONITOR
= Microsoft's unified monitoring / observability platform

METRICS
= Numeric + time-series
= Frequent
= Performance
= Metrics Explorer

LOGS
= Detailed event records
= Troubleshooting
= Log Analytics
= KQL

PLATFORM METRICS
= Often automatically collected

RESOURCE LOGS
= Usually routed through Diagnostic Settings

GUEST OS LOGS
= AMA + DCR

LOG DESTINATIONS
= Log Analytics / Storage / Event Hub

ALERTING
= Signal → Alert Rule → Action Group
Most important takeaway

Think of Azure Monitor as a pipeline:

COLLECT
│
├── Platform telemetry
├── AMA
├── Diagnostic Settings
└── Application Insights
        ↓
STORE
│
├── Azure Monitor Metrics
└── Log Analytics
        ↓
ANALYZE
│
├── Metrics Explorer
├── KQL
├── Workbooks
└── Insights
        ↓
RESPOND
│
├── Alerts
├── Action Groups
└── Automation

That model connects Azure Monitor, Azure Monitor Agent, Log Analytics, Metrics Explorer, Diagnostic Settings, and Alerts into one coherent architecture.

Official Microsoft reference documentation

Azure Monitor Agent

Azure Monitor Agent deep dive

The transcript introduces Azure Monitor Agent (AMA) as Microsoft's modern mechanism for collecting guest operating-system telemetry from Azure VMs, VM Scale Sets, and Azure Arc-enabled servers. It focuses on how AMA replaces the older multi-agent approach and uses Data Collection Rules (DCRs) to centrally define what data is collected and where it is sent.

Important update to the transcript: the lesson presents a Data Collection Endpoint (DCE) as a standard required component. Current Microsoft guidance says a DCE is not required for every AMA deployment. AMA can use public endpoints by default. DCEs are required for particular scenarios, notably Private Link/network isolation and certain data sources. (Microsoft Learn)


1. Why Azure Monitor Agent exists

Historically, guest OS monitoring could require several different agents/extensions.

RequirementLegacy approachModern approach
Windows/Linux logs → Log AnalyticsLog Analytics Agent / MMA / OMSAMA
Linux metricsTelegraf-based mechanismsAMA
Windows diagnostics/metricsDiagnostics extensionAMA / modern Azure Monitor collection
Collection configurationAgent/workspace-specific configurationDCR
Azure VMSupportedSupported
VM Scale SetSupportedSupported
On-premises/other-cloud serverLegacy agentsAMA + Azure Arc

Microsoft now describes AMA as the supported agent for collecting guest OS data in Azure Monitor. The old Log Analytics agent has been retired and should be migrated to AMA. (Microsoft Learn)

Core idea

Instead of configuring collection separately on every machine:

Install AMA → associate a DCR → DCR tells AMA what to collect and where to send it.

This separation is important:

AMA = collection engine DCR = collection configuration


2. Host metrics vs guest OS metrics

This distinction is particularly important for exams and architecture discussions.

Even without AMA, an Azure VM exposes platform/host metrics because Azure can observe the VM from its infrastructure.

Examples include:

  • CPU percentage
  • network traffic
  • disk operations
  • VM availability/platform information

But Azure cannot automatically see everything occurring inside the guest operating system.

For example:

  • Windows Event Logs
  • Linux Syslog
  • application logs
  • processes
  • guest performance counters
  • custom text/JSON logs

AMA runs inside the machine and therefore provides access to this guest-level telemetry. Microsoft explicitly notes that without an agent, Azure Monitor can collect only information available from the host rather than the guest OS and its running processes. (Microsoft Learn)

Exam shortcut
Azure platform can see the VM
        ↓
Platform metrics

AMA runs inside the VM
        ↓
Guest OS telemetry

3. Azure Monitor Agent architecture

A useful simplified architecture is:

Azure VM / VMSS / Arc Server
        │
        │ Azure Monitor Agent
        │
        ▼
Data Collection Rule (DCR)
        │
        │ defines
        ├── WHAT to collect
        ├── HOW to process/filter it
        └── WHERE to send it
             │
             ├── Log Analytics Workspace
             │
             └── Azure Monitor Metrics

Depending upon the configuration, a Data Collection Endpoint may also participate:

                 Data Collection Rule
                         │
                         ▼
VM ── AMA ──► Data Collection Endpoint
                         │
                         ▼
                 Azure Monitor
                         │
                 ┌───────┴────────┐
                 ▼                ▼
          Log Analytics       Metrics

But don't memorize the DCE as mandatory.


4. Data Collection Rules (DCRs)

The DCR is one of the most important concepts to remember.

A DCR tells Azure Monitor:

  1. what data to collect
  2. which resources the configuration applies to
  3. how the data should be processed/transformed
  4. where the data should be sent

Microsoft describes the DCR processing model roughly as:

Data Sources
     ↓
Input Streams
     ↓
Data Flows / Transformations
     ↓
Destinations

(Microsoft Learn)

Common AMA data sources
Data sourceExample
Performance countersCPU, memory, disk
Windows Event LogsSystem/Application/Security events
SyslogLinux system events
IIS logsIIS web-server logs
Custom text logsApplication .log files
Custom JSON logsJSON-formatted application logs

The transcript's demo configures:

Performance Counters
        +
Windows Event Logs

and sends them to a Log Analytics workspace.


5. Data Collection Rule Associations (DCRAs)

There's another concept worth adding beyond the transcript.

A DCR does not simply exist independently of its monitored machines. Azure creates an association between the DCR and target resource.

This is called a:

Data Collection Rule Association (DCRA).

Conceptually:

VM1 ──────┐
VM2 ──────┼── DCRA ──► DCR-WebServers
VM3 ──────┘

This allows one DCR to configure many machines.

It can also work the other way:

                 ┌── DCR-Performance
VM1 ─────────────┼── DCR-WindowsEvents
                 └── DCR-Security

Microsoft currently documents this relationship as many-to-many and supports multiple DCR associations for a resource. (Microsoft Learn)

This makes AMA significantly easier to manage at enterprise scale.


6. Data Collection Endpoint (DCE)

The transcript creates a DCE before creating its DCR.

A DCE provides endpoints related to:

  • configuration access
  • logs ingestion
  • metrics ingestion

For example:

AMA
 │
 ├── retrieve configuration
 │
 ▼
DCE configuration endpoint

AMA
 │
 ├── send telemetry
 │
 ▼
DCE ingestion endpoint
Important current behavior

Current Microsoft documentation says:

AMA does not always require a DCE.

By default, AMA can retrieve configuration through Azure Monitor's public endpoints.

DCE becomes important when, for example:

  • using Azure Monitor Private Link
  • implementing network isolation
  • collecting data sources that specifically require a DCE

Examples currently documented as requiring one include Windows Firewall Logs and Prometheus metrics for Container Insights. (Microsoft Learn)

Exam distinction

DCR

Defines collection behavior.

DCE

Provides collection/configuration endpoints where required.

Don't confuse the two.


7. System-assigned managed identity

During the transcript demo, Azure indicates that a system-assigned managed identity will be enabled on the monitored VM.

The major benefit is avoiding manually managed credentials.

Conceptually:

VM
 │
 ├── System-assigned managed identity
 │
 ▼
Azure Monitor

Rather than:

VM
 │
 ├── username/password/key
 │
 ▼
Monitoring service

The identity lifecycle is associated with the Azure resource rather than requiring administrators to distribute and rotate credentials manually.


8. Performance counters

The demonstration configures Performance Counters.

These provide guest OS performance information such as:

Processor
Memory
Logical Disk
Physical Disk
Network
Processes

DCRs use the performanceCounters data source for Windows and Linux machines.

Two important streams are:

Microsoft-Perf
Microsoft-InsightsMetrics

Their destinations differ.

Performance Counter
        │
        ├── Microsoft-Perf
        │       ↓
        │   Log Analytics
        │
        └── Microsoft-InsightsMetrics
                ↓
            Azure Monitor Metrics

(Microsoft Learn)

You should generally collect only the counters that you actually need. Collecting unnecessary telemetry increases ingestion volume and potentially your monitoring cost.


9. Windows Event Logs

AMA can also collect Windows Event Logs.

Common Windows channels include:

Application
System
Security

You can filter which events should be collected.

The lesson demonstrates collecting:

Critical
Error
Audit Failure

rather than blindly ingesting every event.

This matters because targeted collection improves:

  • signal-to-noise ratio
  • query performance
  • ingestion cost
  • operational usability

DCR Windows event collection is represented using the windowsEventLogs data source and can use XPath expressions to specify which events should be collected. (Microsoft Learn)


10. Log Analytics Workspace

A Log Analytics workspace is the primary analytical store used by Azure Monitor Logs.

Think of the relationship as:

VM
 ↓
AMA
 ↓
DCR
 ↓
Log Analytics Workspace
 ↓
KQL
 ↓
Queries / Alerts / Workbooks / Analysis

Once the telemetry arrives, you can query it using Kusto Query Language (KQL).

The transcript demonstrates using built-in queries for:

  • VM free disk space
  • reported errors

A simplified performance query might conceptually look like:

Perf
| where Computer == "vm1"
| where CounterName == "% Free Space"
| summarize avg(CounterValue) by bin(TimeGenerated, 5m)

The key point for review is:

AMA collects → Log Analytics stores → KQL queries.


11. Logs vs Metrics

This is another useful exam distinction.

Azure Monitor Metrics

Optimized for numeric time-series data.

Examples:

CPU = 75%
Memory = 63%
Requests/sec = 900
Disk latency = 8 ms

Best suited to:

  • dashboards
  • charts
  • fast metric alerts
  • near-real-time monitoring
Azure Monitor Logs

Stores richer structured records.

Examples:

Windows Event
Syslog
Application error
Performance record
Security event
Custom application log

Queried using KQL.

So:

Metrics → numeric time series

Logs → detailed event/record data

12. Complete lab workflow from the transcript

The lesson effectively follows this sequence:

1. Create Windows VM
       ↓
2. Create Log Analytics Workspace
       ↓
3. Confirm VM has platform metrics
       ↓
4. Create Data Collection Endpoint
       ↓
5. Create Data Collection Rule
       ↓
6. Add VM as target resource
       ↓
7. Azure enables managed identity
       ↓
8. AMA extension installed
       ↓
9. Configure Performance Counters
       ↓
10. Destination → Log Analytics
       ↓
11. Configure Windows Event Logs
       ↓
12. Destination → Log Analytics
       ↓
13. Create DCR
       ↓
14. Wait for telemetry
       ↓
15. Azure Monitor → Logs
       ↓
16. Query data using KQL

For a modern implementation, remember that Step 4 isn't universally required; whether you need a DCE depends on the collection/networking scenario. (Microsoft Learn)


13. What happens automatically?

A useful part of the transcript is the portal notification sequence.

When the DCR was created and associated with the VM, Azure performed several operations:

Create DCE
    ↓
Enable system-assigned managed identity
    ↓
Install Azure Monitor Agent extension
    ↓
Associate DCR with VM
    ↓
AMA retrieves configuration
    ↓
AMA starts collecting telemetry

This is why you don't necessarily need to manually log into every VM and configure monitoring individually.

For large environments, Microsoft also supports AMA deployment through mechanisms such as Azure Policy. (Microsoft Learn)


14. AMA vs legacy Log Analytics Agent
FeatureLegacy MMA/OMSAMA
Current supported approach❌✅
Windows✅✅
Linux✅✅
Azure VM✅✅
Arc machinesLegacy support✅
DCR configuration❌✅
Centralized granular collectionLimited✅
Transform/filter pipelineLimited✅
Modern Azure Monitor integrationLegacy✅

Microsoft's migration guidance recommends:

Assess legacy deployment
        ↓
Create DCRs
        ↓
Deploy AMA
        ↓
Validate collection
        ↓
Validate dependent services
        ↓
Remove legacy agent

You should remove the legacy agent only after validating that AMA is collecting the required telemetry, otherwise monitoring gaps can result. (Microsoft Learn)


15. Architecture to memorize

For certification/review purposes, remember this model:

                    Azure Monitor
                         │
               ┌─────────┴─────────┐
               │                   │
        Azure Monitor Logs    Azure Monitor Metrics
               │                   │
      Log Analytics Workspace      │
               ▲                   ▲
               └────────┬──────────┘
                        │
                       DCR
                        ▲
                        │
              Azure Monitor Agent
                        ▲
                        │
             ┌──────────┼───────────┐
             │          │           │
          Azure VM     VMSS      Arc Server

Potentially:

AMA ↔ DCE

when the collection/network architecture requires a Data Collection Endpoint.


16. Exam-focused facts
Question / conceptRemember
Modern guest OS monitoring agentAzure Monitor Agent (AMA)
Legacy agentMMA / OMS / Log Analytics Agent
Defines what AMA collectsData Collection Rule (DCR)
Connects DCR to VMDCR Association (DCRA)
Windows + Linux supportedYes
Azure Arc servers supportedYes
Guest logs available without agent?Generally No
Platform metrics available without AMA?Yes
Query language for Azure Monitor LogsKQL
Detailed log destinationLog Analytics workspace
Numeric time-series destinationAzure Monitor Metrics
DCE always required?No
Private Link/network-isolated AMADCE commonly required
Windows events configurable via DCRYes
Performance counters configurable via DCRYes

17. Scenario questions
Scenario 1

Requirement: Collect Windows System Event Log errors from 500 Azure VMs.

Use:

AMA
+
DCR containing Windows Event Logs
+
DCR association with the VMs
+
Log Analytics workspace
Scenario 2

Requirement: Monitor on-premises Windows servers using Azure Monitor.

Use:

Azure Arc
+
AMA
+
DCR
+
Log Analytics
Scenario 3

Requirement: Collect guest CPU/memory counters but not unnecessary Windows events.

Configure only the required performance counters in the DCR.

Scenario 4

Requirement: Query detailed historical VM events.

Use:

AMA → Log Analytics → KQL
Scenario 5

Requirement: Monitoring traffic must remain private.

Think:

AMA
+
DCR
+
DCE
+
Azure Monitor Private Link Scope

18. Key takeaway

The most important architectural change is that monitoring configuration is separated from the monitoring agent.

Instead of:

Configure each monitoring agent individually

Azure moves toward:

                    DCR
             "What should I collect?"
                      │
          ┌───────────┼───────────┐
          ▼           ▼           ▼
        AMA VM1     AMA VM2     AMA VM3
          │           │           │
          └───────────┼───────────┘
                      ▼
               Azure Monitor

That gives administrators centralized, reusable and scalable collection policies across Azure VMs, VM Scale Sets, and Azure Arc-enabled machines. (Microsoft Learn)

Microsoft reference documentation

Log Analytics and Logs

Azure Monitor Logs deep dive

This lesson focuses specifically on Azure Monitor Logs, Log Analytics workspaces, and Diagnostic Settings. The demonstration creates a Storage Account, routes Storage telemetry to a Log Analytics workspace, generates Blob activity, and then analyzes the resulting data with KQL.

The central architecture is:

Azure Resource
     │
     │ generates resource logs/metrics
     ▼
Diagnostic Settings
     │
     ├────────► Log Analytics Workspace
     │
     ├────────► Storage Account
     │
     ├────────► Event Hub
     │
     └────────► Partner Solution
                     │
                     ▼
             Analysis / Integration

1. What are Azure Monitor Logs?

The transcript describes logs as records of events that occurred within Azure resources.

Azure Monitor Logs provides the platform for storing and analyzing this log data, while Log Analytics provides the Azure portal experience for querying and analyzing it.

A useful distinction is:

Azure Monitor Logs
= log data platform

Log Analytics workspace
= logical environment/data store for log data

Log Analytics
= portal tool for querying/analyzing that data

KQL
= query language

Current Microsoft documentation describes Azure Monitor Logs as a centralized data platform that can collect telemetry from multiple resources and allows complex analysis using KQL. Azure Monitor Logs overview


2. Why use a Log Analytics workspace?

Without centralized logging, troubleshooting might look like:

Storage Account → inspect separately
VM              → inspect separately
App Service     → inspect separately
Firewall        → inspect separately
Key Vault       → inspect separately

A Log Analytics workspace provides a central destination:

Storage ────────┐
VM ─────────────┤
App Service ────┤
Key Vault ──────┼──► Log Analytics Workspace
Firewall ───────┤             │
Arc Servers ────┘             ▼
                              KQL
                               │
                    ┌──────────┼──────────┐
                    ▼          ▼          ▼
                Analysis    Alerts    Workbooks

This enables cross-resource analysis and centralized troubleshooting.

Log Analytics workspace overview


3. What can send data to Log Analytics?

The transcript mentions sources such as:

  • Azure resources
  • Microsoft Entra ID
  • Azure subscriptions
  • on-premises resources

Different sources use different collection mechanisms.

For example:

SourceTypical collection mechanism
Azure resource logsDiagnostic Settings
Azure Activity LogDiagnostic Settings
VM guest OSAMA + DCR
Arc-enabled serverAMA + DCR
Microsoft Entra logsDiagnostic Settings
Application telemetryApplication Insights

This distinction is important because Log Analytics is the destination; it isn't itself the collection agent.


4. Diagnostic Settings

The most important concept demonstrated in this lesson is Diagnostic Settings.

Diagnostic Settings tell an Azure resource:

Which supported logs/metrics should be exported, and where should they go?

Conceptually:

Storage Account
      │
      ▼
Diagnostic Setting
      │
      ├── Select logs
      ├── Select metrics
      │
      └── Select destination
                │
                ▼
        Log Analytics Workspace

Azure resources don't automatically send all their resource logs to a Log Analytics workspace just because the workspace exists.

You must configure the appropriate collection/routing mechanism.

Diagnostic Settings in Azure Monitor


5. Diagnostic Settings destinations

The transcript demonstrates four destination choices.

Log Analytics workspace

Best for:

Operational analysis
Troubleshooting
KQL queries
Alerts
Workbooks
Correlation
Storage Account

Best for:

Long-term archive
Compliance
Audit retention
Lower-cost storage
Event Hub

Best for:

Streaming telemetry
Third-party SIEM
External monitoring platform
Custom event processing

Architecture:

Azure Resource
      │
      ▼
Diagnostic Settings
      │
      ├────► Log Analytics
      │          └─ KQL / analysis
      │
      ├────► Storage Account
      │          └─ archive
      │
      └────► Event Hub
                 └─ third-party integration

Diagnostic Settings can also send supported telemetry to partner solutions. Diagnostic Settings destinations


6. Resource-specific telemetry

A very important observation in the transcript is:

Different Azure resource types expose different logs and metrics.

For example:

Storage Account
     │
     ├── Account-level metrics
     │
     └── Service-specific telemetry
          │
          ├── Blob
          ├── File
          ├── Queue
          └── Table

A Key Vault would expose completely different categories.

An Azure Firewall would expose things such as network/application rule logs.

Therefore:

Available diagnostic categories
            ↓
depend on
            ↓
Azure resource type

7. Storage Account example

The transcript uses an Azure Storage Account to demonstrate logging.

The workflow is:

Create Storage Account
        ↓
Create Log Analytics Workspace
        ↓
Configure Storage diagnostic settings
        ↓
Configure Blob diagnostic settings
        ↓
Create Blob container
        ↓
Upload files
        ↓
Storage generates telemetry
        ↓
Diagnostic Settings export telemetry
        ↓
Log Analytics receives it
        ↓
KQL analyzes it

This is a good practical example because uploading blobs creates Storage operations that can then be analyzed.


8. Storage Account vs Blob service diagnostics

The lesson configures diagnostics at two levels.

Conceptually:

Storage Account
│
├── Account-level monitoring
│
└── Blob Service
      │
      └── Blob-specific logs/metrics

This distinction matters for Azure Storage.

Storage is composed of several services:

Storage Account
     │
     ├── Blob
     ├── File
     ├── Queue
     └── Table

Service-specific resource logs are configured against the appropriate service resource rather than assuming one account-level setting captures everything.

Microsoft documents Azure Storage monitoring separately for Blob, File, Queue, and Table services. Monitor Azure Blob Storage


9. Storage log categories

The transcript selects category groups such as:

Audit
AllLogs

and also enables transaction metrics.

Category groups simplify selecting related log categories.

For example:

allLogs
   ↓
All currently supported resource log categories

audit
   ↓
Categories relevant to auditing

One advantage of category groups is that they can make configurations easier to maintain as supported categories evolve. Azure Monitor diagnostic settings — category groups


10. Logs don't necessarily appear immediately

After uploading the files, the transcript warns that telemetry may take some time to appear in Log Analytics.

This is normal.

The pipeline is:

Operation occurs
      ↓
Resource produces telemetry
      ↓
Diagnostic pipeline processes it
      ↓
Data sent to Log Analytics
      ↓
Data ingested
      ↓
Queryable using KQL

So:

Azure Monitor Logs should not be treated as an instantaneous transaction database.

Ingestion latency varies by data type and collection mechanism.


11. Querying data using Log Analytics

The demonstration goes to:

Azure Monitor
    ↓
Logs
    ↓
Select Scope
    ↓
Storage Account

The selected scope controls which resources are considered when querying.

The lesson then uses Microsoft's prebuilt queries rather than manually writing KQL.

This is useful when learning because you can:

  1. choose a prebuilt query;
  2. run it;
  3. inspect the generated KQL;
  4. modify it;
  5. gradually learn KQL.

12. Kusto Query Language (KQL)

Log Analytics uses:

Kusto Query Language (KQL).

The basic KQL pattern is:

TableName
| where Condition
| project Column1, Column2
| summarize ...
| order by ...

For example, Storage Blob logs commonly use the StorageBlobLogs table when resource-specific tables are used.

A simple example:

StorageBlobLogs
| where TimeGenerated > ago(30m)
| project TimeGenerated, OperationName, StatusCode, Uri
| order by TimeGenerated desc

Conceptually:

StorageBlobLogs
       │
       ▼
Only last 30 minutes
       │
       ▼
Select useful columns
       │
       ▼
Sort newest first

13. Example: find failed Storage operations

A useful real-world query could be:

StorageBlobLogs
| where TimeGenerated > ago(1h)
| where StatusCode >= 400
| summarize Failures=count() by StatusCode, OperationName
| order by Failures desc

This could help answer:

"Which Blob operations are failing?"

That demonstrates why logs provide deeper troubleshooting capabilities than simple metrics.


14. Example: highest-latency operations

The transcript uses a built-in query for operations with high latency.

Conceptually:

Storage telemetry
      ↓
Look at operation duration
      ↓
Group by operation
      ↓
Calculate latency
      ↓
Identify slowest operations

This can help identify whether:

PutBlob
GetBlob
ListBlobs
DeleteBlob

or another operation is experiencing abnormal latency.


15. Time range matters

The lesson initially encounters a query whose time range doesn't match the newly generated telemetry.

The fix is to change the query range to:

Last 30 minutes

This teaches an important troubleshooting lesson.

If:

Query is correct
+
Telemetry exists

but you see:

No results

check:

1. Time range
2. Query scope
3. Correct table
4. Diagnostic Settings
5. Ingestion delay
6. Whether relevant activity actually occurred

This checklist is very useful in real Azure troubleshooting.


16. Table vs Chart visualization

Log Analytics can display query results as tables and, where the result structure supports it, charts.

For example:

KQL query
   │
   ├──► Table
   │
   └──► Chart

Tables are useful for:

Detailed records
Error messages
IP addresses
Operation names
Status codes

Charts are better for:

Trends
Counts over time
Latency
Failures over time

17. Logs vs Metrics in this example

The Storage example helps distinguish them.

Metric
Transactions = 2,500/min

Answers:

"How much activity is happening?"

Log
14:01 PutBlob 200 Success
14:02 GetBlob 200 Success
14:03 DeleteBlob 403 AuthorizationFailure

Answers:

"What exactly happened?"

Therefore:

Metrics
   ↓
Health/performance trend

Logs
   ↓
Detailed investigation

18. Diagnostic Settings vs Azure Monitor Agent

This is especially important because your preceding lesson was AMA.

They solve different collection problems.

Azure resource logs

Example:

Storage Account
Key Vault
Azure Firewall
App Service

Commonly:

Resource
   ↓
Diagnostic Settings
   ↓
Log Analytics
VM guest OS logs

Example:

Windows Event Logs
Linux Syslog
Custom application log
Guest performance counters

Commonly:

VM
 ↓
Azure Monitor Agent
 ↓
Data Collection Rule
 ↓
Log Analytics

So remember:

Diagnostic Settings → Azure resource/platform telemetry

AMA + DCR → guest OS telemetry


19. Activity Log is another separate source

There's also the Azure Activity Log:

Subscription
    │
    ▼
Activity Log
    │
    ├── Create resource
    ├── Delete resource
    ├── Start VM
    ├── Change configuration
    └── RBAC operation

You can export Activity Log entries through Diagnostic Settings to a Log Analytics workspace for longer-term analysis.

This gives three major logging paths:

CONTROL PLANE
Activity Log
     │
     ▼
Diagnostic Settings

RESOURCE/SERVICE
Resource Logs
     │
     ▼
Diagnostic Settings

GUEST OS
Windows Events / Syslog
     │
     ▼
AMA + DCR

          │
          ▼
Log Analytics Workspace

20. Log Analytics workspace tables

Log Analytics doesn't simply store everything in one giant log.

Data is organized into tables.

Examples include:

AzureActivity
StorageBlobLogs
AzureDiagnostics
Perf
Event
Syslog
Heartbeat

Which table receives data depends on:

  • resource
  • telemetry type
  • collection mechanism
  • diagnostic configuration

Understanding tables is fundamental to KQL because almost every query starts with a table:

StorageBlobLogs
| ...

21. Resource-specific vs AzureDiagnostics tables

For deeper understanding, Azure Monitor supports different destination table models for diagnostic data.

Older/general configurations commonly use:

AzureDiagnostics

Modern supported resources can use resource-specific tables, such as:

StorageBlobLogs
StorageFileLogs
StorageQueueLogs
StorageTableLogs

Resource-specific mode generally provides a schema tailored to that particular service, which makes querying easier and can improve the data model.

Microsoft recommends resource-specific mode for supported services in many scenarios. Azure Monitor diagnostic settings destination tables


22. Cost consideration

Sending telemetry into Log Analytics can incur ingestion and retention costs.

A poor strategy would be:

Enable everything
      ↓
Send every log
      ↓
Retain indefinitely

Instead:

Business/monitoring requirement
        ↓
Select necessary logs
        ↓
Choose appropriate destination
        ↓
Choose appropriate retention

For example:

Operational logs
     → Log Analytics

Compliance archive
     → Storage Account

External SIEM
     → Event Hub

This can significantly improve monitoring cost efficiency.


23. Diagnostic Settings don't store the data themselves

A common misconception:

Diagnostic Setting
= log storage

❌ Incorrect.

A Diagnostic Setting is essentially routing configuration.

Resource produces telemetry
        ↓
Diagnostic Setting says:
"send this telemetry there"
        ↓
Destination stores/processes it

The actual destination could be:

Log Analytics
Storage
Event Hub
Partner solution

24. End-to-end architecture from the lesson

The entire lab can be represented as:

                  Storage Account
                        │
             ┌──────────┴───────────┐
             │                      │
      Account telemetry        Blob operations
             │                      │
             ▼                      ▼
      Diagnostic Setting      Diagnostic Setting
             │                      │
             └──────────┬───────────┘
                        ▼
              Log Analytics Workspace
                        │
                        ▼
                   Log Analytics
                        │
                        ▼
                       KQL
                        │
                ┌───────┴───────┐
                ▼               ▼
              Table            Chart

25. Troubleshooting checklist

If Storage logs aren't appearing in Log Analytics:

CheckQuestion
Diagnostic SettingIs it enabled?
CategoryDid you select the correct logs?
DestinationIs the correct workspace selected?
Resource levelAccount or Blob service?
ActivityDid you generate any Storage operations?
WorkspaceAre you querying the correct workspace?
ScopeIs the query scoped correctly?
Time rangeDoes it include when activity occurred?
TableAre you querying the correct table?
IngestionHave you allowed time for ingestion?

26. Exam-focused decision table
RequirementSolution
Central location for Azure logsLog Analytics workspace
Query logsKQL
Send Storage logs to Log AnalyticsDiagnostic Settings
Archive resource logsStorage Account
Send logs to third-party SIEMEvent Hub
Collect Windows Event LogsAMA + DCR
Collect Linux SyslogAMA + DCR
Analyze Storage Blob operationsStorage Blob logs + Log Analytics
Monitor control-plane operationsActivity Log
Visualize KQL resultsLog Analytics chart / Workbook
Alert based on KQL resultsLog search alert

27. Relationship between your last three lessons

Your recent lessons now fit together cleanly:

                    AZURE MONITOR
                         │
        ┌────────────────┼────────────────┐
        │                │                │
        ▼                ▼                ▼
 Platform Metrics    Resource Logs    Guest OS Logs
        │                │                │
        │                ▼                ▼
        │        Diagnostic Settings    AMA + DCR
        │                │                │
        └────────────────┼────────────────┘
                         ▼
                  Azure Monitor
                  ┌──────┴──────┐
                  ▼             ▼
               Metrics        Logs
                  │             │
                  ▼             ▼
          Metrics Explorer  Log Analytics
                                │
                                ▼
                               KQL
                                │
                                ▼
                            Alert Rule
                                │
                                ▼
                           Action Group

This is the architecture worth remembering rather than memorizing individual portal screens.

Quick revision
AZURE MONITOR LOGS
= centralized log analysis platform

LOG ANALYTICS WORKSPACE
= stores/organizes Azure Monitor log data

LOG ANALYTICS
= query and analysis experience

KQL
= query language

DIAGNOSTIC SETTINGS
= route supported Azure resource logs/metrics

AMA + DCR
= collect guest OS telemetry

STORAGE ACCOUNT
= archival destination

EVENT HUB
= streaming / external integration

RESOURCE LOGS
→ Diagnostic Settings
→ Log Analytics

VM GUEST LOGS
→ AMA
→ DCR
→ Log Analytics

LOG ANALYTICS DATA
→ KQL
→ Analysis / Workbooks / Alerts
Official Microsoft reference documentation

Alerts and Action Groups

Azure Monitor Alerts deep dive
Setting Up Alerts and Actions — Review Notes

This lesson explains how Azure Monitor alerts detect specific signals in your Azure environment and then use action groups to notify people or trigger automated remediation. In the demo, the signal is a VM start event in the Activity Log, and the automated response is an Azure Automation runbook that stops the VM again.

1. Core idea

Azure Monitor alerting follows this pattern:

Resource
   ↓
Signal
   ↓
Alert Rule
   ↓
Condition matched
   ↓
Alert fires
   ↓
Action Group
   ↓
Notification and/or automated action

The lesson highlights three common signal sources:

  • Metrics
  • Logs
  • Activity Log events

In current Microsoft documentation, Azure Monitor alert types include metric alerts, log search alerts, simple log alerts, Activity Log alerts, Smart Detection alerts, and Prometheus alerts. (Microsoft Learn)

2. Alert rule components

A good way to remember an alert rule is:

Scope + Signal + Condition + Action
Scope

The Azure resource or resources being monitored.

Example:

az104alertsvm
Signal

The event or telemetry being evaluated.

Examples:

Percentage CPU
VM started
VM deleted
Application error
KQL query result
Condition

The rule that determines when the alert fires.

Examples:

CPU > 90%

or

Activity Log operation = Start Virtual Machine
Action

What Azure does when the condition is met.

Examples:

Send email
Send SMS
Run Azure Function
Execute Automation Runbook
Create ITSM incident

Microsoft describes the same model as a resource, a signal/data source, and conditions. When the criteria are met, the alert fires and invokes the associated action group. (Microsoft Learn)


3. What is an Action Group?

An Action Group is a reusable collection of:

  • notification methods
  • automated actions

For example:

Action Group: ag-production-critical

Notifications
├── Email operations team
├── SMS on-call engineer
└── Push notification

Actions
├── Azure Function
└── Automation Runbook

Multiple alert rules can reuse the same action group.

Microsoft currently documents that a single alert rule can have up to five action groups, and those action groups execute concurrently without a guaranteed order. (Microsoft Learn)


4. Notification options

The transcript mentions:

  • Email
  • SMS
  • Push notification
  • Voice

These remain supported notification types in Action Groups. (Microsoft Learn)

Example:

High CPU Alert
      ↓
Action Group
      ↓
├── Email: cloudops@company
├── SMS: on-call engineer
└── Push: Azure mobile app

5. Automated actions

Action groups can also trigger remediation.

The transcript mentions:

  • Azure Automation Runbook
  • Azure Function
  • Event Hub
  • ITSM ticket creation

Current Microsoft documentation also lists actions such as Logic Apps, webhooks, secure webhooks, Event Hubs, Functions, and Automation Runbooks. (Microsoft Learn)

So an Action Group can do both:

Alert
 │
 ├── Tell someone
 │
 └── Do something automatically

This is an important architectural concept.


6. Activity Log alert in the lesson

The demo does not use Azure Monitor Agent.

Instead, it monitors the Azure Activity Log for a control-plane event:

Start Virtual Machine

The flow is:

User starts VM
      ↓
Azure records:
"Start Virtual Machine"
      ↓
Activity Log Alert Rule detects event
      ↓
Action Group executes
      ↓
Automation Runbook runs
      ↓
VM is stopped

This distinction matters.

Activity Log

Tracks Azure control-plane operations, such as:

Start VM
Stop VM
Delete resource
Create resource
Update configuration
Role assignment changes
Azure Monitor Agent

Collects data from inside the guest operating system.

So:

VM started
→ Activity Log

Windows Event Log error
→ AMA + DCR + Log Analytics

7. Demo architecture

The lesson builds the following resources:

Resource Group
   │
   ├── Windows VM
   │
   └── Automation Account
             │
             ▼
        Stop VM Runbook

VM Activity Log
      │
      ▼
Activity Log Alert Rule
      │
      ▼
Action Group
      │
      ▼
Automation Runbook
      │
      ▼
Stop VM

The VM used in the lesson is:

az104alertsvm

and the Automation Account is similar to:

az104eastusauto

8. Lab flow from the transcript

The lesson follows roughly this sequence:

1. Create Resource Group
        ↓
2. Create Automation Account
        ↓
3. Create Windows VM
        ↓
4. VM → Monitoring → Alerts
        ↓
5. Create Alert Rule
        ↓
6. Signal = Start Virtual Machine
        ↓
7. Create Action Group
        ↓
8. Action = Automation Runbook
        ↓
9. Select Stop VM runbook
        ↓
10. Complete alert rule
        ↓
11. Stop VM manually
        ↓
12. Start VM
        ↓
13. Activity Log records Start VM
        ↓
14. Alert fires
        ↓
15. Action Group executes
        ↓
16. Runbook stops VM

9. Why an Automation Account is needed

The Action Group itself doesn't directly contain PowerShell automation logic.

Instead:

Action Group
      ↓
Automation Account
      ↓
Runbook
      ↓
Azure resource operation

The Automation Account provides the execution environment for the runbook.

Microsoft also documents using Azure Monitor alerts to invoke Azure Automation runbooks via Action Groups. (Microsoft Learn)


10. Managed identity is important today

One current-platform point worth adding to the lesson is authentication.

Older Automation implementations often used Run As accounts.

Those are retired.

Current automation should use managed identities.

Microsoft specifically notes that Azure Automation Run As accounts were retired and recommends configuring runbook actions to authenticate using managed identity instead. (Microsoft Learn)

Conceptually:

Automation Account
      │
Managed Identity
      │
RBAC permission
      │
      ▼
Azure VM

For example, if your runbook needs to stop a VM, its managed identity needs appropriate permissions on the VM, resource group, or subscription.


11. Metric alerts vs Log alerts vs Activity Log alerts

This is worth memorizing.

RequirementBest alert type
CPU > 90%Metric alert
Request latency > thresholdMetric alert
20 application errors foundLog search alert
VM startedActivity Log alert
VM deletedActivity Log alert
Role assignment changedActivity Log alert
Complex KQL conditionLog search alert
Azure service outageService Health alert

Microsoft's current documentation describes metric alerts as regularly evaluating numeric metrics, log search alerts as evaluating Log Analytics queries, and Activity Log alerts as firing when a matching Activity Log event occurs. (Microsoft Learn)


12. Example: Metric alert

Suppose you want:

CPU > 85% for 5 minutes

The design becomes:

VM
 │
 ▼
Percentage CPU metric
 │
 ▼
Metric Alert Rule
 │
Condition:
Average > 85%
 │
 ▼
Action Group
 │
 ├── Email operations
 └── Azure Function

You don't necessarily need AMA because percentage CPU is available as an Azure platform metric.


13. Example: Log alert

Suppose AMA is collecting Windows events.

VM
 ↓
AMA
 ↓
DCR
 ↓
Log Analytics
 ↓
KQL
 ↓
Log Alert
 ↓
Action Group

Example KQL:

Event
| where EventLevelName == "Error"
| summarize ErrorCount = count()

You might configure the alert to fire when:

ErrorCount > 10

This ties the previous AMA lesson directly to Azure Monitor alerting.


14. Example: Activity Log alert

The lesson's example is essentially:

Scope:
az104alertsvm

Signal:
Start Virtual Machine

Condition:
Event occurs

Action Group:
az104actgrp

Action:
Automation Runbook

Runbook:
Stop VM

No guest OS agent is necessary because Azure itself produces the control-plane event.


15. Alerts can be stateful or stateless

For additional depth, Azure Monitor supports both concepts.

A stateful alert can follow:

Normal
  ↓
Condition becomes true
  ↓
FIRED
  ↓
Condition clears
  ↓
RESOLVED

For example:

CPU > 90%
   ↓
Alert FIRED

CPU returns below threshold
   ↓
Alert RESOLVED

Microsoft currently documents alert conditions transitioning between Fired and Resolved where applicable. (Microsoft Learn)


16. Action Group reuse

A strong real-world pattern is:

             ag-critical-production
                    │
          ┌─────────┼─────────┐
          │         │         │
          ▼         ▼         ▼
      CPU Alert  Disk Alert  App Alert

Instead of defining notification recipients repeatedly, centralize them inside reusable Action Groups.

Advantages include:

  • easier administration
  • consistent notification routing
  • reusable remediation
  • simpler IaC configuration
  • fewer duplicated settings

17. Multiple actions per alert

An Action Group isn't limited to one response.

For example:

Critical VM Alert
        │
        ▼
Action Group
        │
        ├── Email cloud operations
        ├── SMS on-call
        ├── Execute Function
        └── Publish to Event Hub

And an alert rule can attach up to five Action Groups. (Microsoft Learn)

This enables sophisticated incident-response workflows.


18. Common alert architecture

For production environments, think of alerting as several layers:

                    Azure Monitor
                         │
            ┌────────────┼────────────┐
            │            │            │
            ▼            ▼            ▼
         Metrics       Logs       Activity Log
            │            │            │
            ▼            ▼            ▼
         Alerts        Alerts        Alerts
            └────────────┼────────────┘
                         ▼
                    Action Groups
                         │
            ┌────────────┴────────────┐
            ▼                         ▼
       Notifications              Automation
       ├─ Email                   ├─ Runbook
       ├─ SMS                     ├─ Function
       └─ Push                    ├─ Logic App
                                  └─ Webhook

19. Alerting permissions

Another useful point beyond the transcript is RBAC.

Current Microsoft guidance says creating an alert rule generally requires:

  • Read permission on the resource being monitored
  • Write permission on the resource group containing the alert rule
  • Read permission on the Action Group if one is associated

(Microsoft Learn)

The automation action itself may require additional permissions.

For example:

Alert creator
     ↓
Needs permission to create alert

Automation identity
     ↓
Needs permission to stop VM

Those are different security concerns.


20. Common Alert Schema

For deeper understanding, Azure supports a Common Alert Schema that standardizes alert payloads across alert types.

This matters when Action Groups call things such as:

Webhook
Azure Function
Logic App
Automation Runbook

Instead of building completely different integrations for every alert type, the common schema gives automation a more consistent payload format.

Microsoft's Automation documentation notes that alert-triggered runbooks receive a JSON alert payload and discusses the common alert schema. (Microsoft Learn)


21. Production example: automated remediation

Suppose a development environment should never run VMs overnight.

You could design:

VM started
    ↓
Activity Log
    ↓
Alert Rule
    ↓
Action Group
    ↓
Automation Runbook
    ↓
Check policy:
"Is VM allowed to run?"
    ↓
No
    ↓
Stop VM
    ↓
Send notification

This pattern turns Azure Monitor into more than a notification platform — it becomes part of an automated remediation system.


22. Common mistakes
Mistake 1: Thinking every alert requires AMA

It doesn't.

CPU platform metric → AMA usually not required
VM start event → AMA not required
Windows Event Log → AMA required
Mistake 2: Confusing Alert Rule and Action Group

Remember:

Alert Rule
= WHEN

Action Group
= WHAT NEXT
Mistake 3: Giving the runbook no permissions

An alert can fire successfully while the remediation fails because the Automation managed identity lacks RBAC permission.

Mistake 4: Creating unique Action Groups for every alert

Reuse common Action Groups wherever the recipients/actions are the same.

Mistake 5: Using old Run As Account guidance

Use managed identity for modern Automation workloads. (Microsoft Learn)


23. Exam-oriented scenarios
Requirement

Notify administrators when CPU exceeds 90%.

Use:

Metric Alert
+
Action Group
+
Email notification
Requirement

Run KQL and alert when more than 10 authentication failures are detected.

Use:

Log Search Alert
+
Action Group
Requirement

Notify operations whenever a VM is deleted.

Use:

Activity Log Alert
+
Action Group
Requirement

Automatically restart a service after an alert.

Use:

Alert Rule
+
Action Group
+
Automation Runbook / Function
Requirement

Automatically shut down a VM whenever someone starts it.

Use exactly the pattern demonstrated in the lesson:

Start VM Activity Log event
        ↓
Activity Log Alert
        ↓
Action Group
        ↓
Automation Runbook
        ↓
Stop VM

24. Quick revision table
ConceptRemember
Detects monitoring conditionAlert Rule
Defines responseAction Group
CPU thresholdMetric alert
KQL-based conditionLog search alert
VM Start/DeleteActivity Log alert
Send email/SMS/pushAction Group notification
Execute PowerShell remediationAutomation Runbook
Execute serverless custom codeAzure Function
Integrate external event processingEvent Hub / webhook
Reuse response configurationAction Group
Max Action Groups per alert rule5
Modern Automation authenticationManaged Identity

Best mental model

For revision, memorize this:

SIGNAL
  ↓
ALERT RULE
  ↓
CONDITION MATCHED
  ↓
ALERT FIRES
  ↓
ACTION GROUP
  ↓
┌──────────────────┐
│                  │
▼                  ▼
NOTIFY          AUTOMATE
Email           Runbook
SMS             Function
Push            Logic App
Voice           Webhook

And then remember the three major signal choices:

Numeric performance
     → Metrics

Detailed telemetry / KQL
     → Logs

Azure control-plane operations
     → Activity Log
Official Microsoft references

Network Watcher

Azure Network Watcher deep dive

This lesson is about Azure Network Watcher, a collection of Azure-native tools for monitoring, diagnosing, and analyzing network traffic and connectivity. Its tools fit into three broad categories: monitoring, network diagnostics, and traffic monitoring.

A useful mental model is:

                    Azure Network Watcher
                             │
          ┌──────────────────┼──────────────────┐
          │                  │                  │
          ▼                  ▼                  ▼
      Monitoring        Diagnostics          Traffic
          │                  │                  │
          ├─ Connection      ├─ NSG Diagnostics ├─ Flow Logs
          │  Monitor         ├─ Packet Capture  └─ Traffic Analytics
          └─ Topology        ├─ Effective Security Rules
                             ├─ IP Flow Verify
                             ├─ Connection Troubleshoot
                             └─ Next Hop

Microsoft currently describes Network Watcher as a suite for monitoring connectivity, diagnosing traffic-filtering and routing problems, capturing packets, and logging/visualizing network flows. (Microsoft Learn)


1. What is Azure Network Watcher?

Network Watcher is primarily for Azure IaaS networking.

It helps answer questions such as:

  • Can resource A reach resource B?
  • Is an NSG blocking traffic?
  • Which NSG rule allowed or denied the flow?
  • Which route will this packet take?
  • What traffic is actually passing through the network?
  • Is latency increasing between endpoints?
  • What does my Azure network topology look like?
  • What is happening across a hybrid Azure/on-premises connection?

Many Network Watcher tools sound similar, so knowing which tool answers which question is the most important thing to learn.


2. Monitoring tools

Two main monitoring tools are:

Connection Monitor
Topology

3. Connection Monitor

Connection Monitor continuously monitors connectivity between endpoints.

Typical architecture:

Source
  │
  │ connection test
  ▼
Destination
  │
  ▼
Connection Monitor
  │
  ├─ Reachability
  ├─ Latency
  └─ Connectivity health

It can be used for connectivity inside Azure and across hybrid environments.

Typical use cases:

Azure VM → Azure VM

Azure VM → SQL endpoint

Azure VM → On-premises server

On-premises server → Azure endpoint

Microsoft currently describes Connection Monitor as the Network Watcher tool for monitoring connectivity and latency between endpoints inside and outside Azure. (Microsoft Learn)

Best exam clue

If the question says:

Continuously monitor connectivity and latency between two endpoints

think:

Connection Monitor


4. Connection Monitor vs Connection Troubleshoot

These names are easy to confuse.

Connection Monitor

Used for:

Continuous monitoring
Connection Troubleshoot

Used for:

Point-in-time test

So:

Need ongoing visibility?
→ Connection Monitor

Need to test connectivity right now?
→ Connection Troubleshoot

Microsoft specifically distinguishes Connection Monitor as ongoing monitoring, while Connection Troubleshoot performs a one-time connectivity and latency check. (Microsoft Learn)


5. Topology

The Topology feature provides a visual representation of Azure network resources and their relationships.

For example:

VNet
 │
 ├── Subnet-Web
 │      │
 │      └── VM1 NIC
 │            │
 │            └── NSG
 │
 └── Subnet-App
        │
        └── VM2 NIC

This makes it easier to understand:

  • resource relationships
  • VNets
  • subnets
  • NICs
  • NSGs
  • network appliances
  • other connected network resources

Use it when you need:

"Show me how these network resources are connected."


6. Network diagnostic tools

Most Network Watcher exam content focuses on diagnostics.

The tools are:

ToolMain question it answers
NSG DiagnosticsWhich security rule allows/denies this flow?
Packet CaptureWhat packets are actually crossing the VM NIC?
Effective Security RulesWhat NSG rules effectively apply to this NIC?
IP Flow VerifyWould this packet be allowed or denied?
Connection TroubleshootCan resource A communicate with resource B now?
Next HopWhere will Azure route the packet next?

This table is worth memorizing.


7. NSG Diagnostics

NSG Diagnostics helps troubleshoot traffic filtering caused by Network Security Groups.

It can simulate a network flow and show:

Allowed
or
Denied

and importantly:

Which NSG rule caused the result

Connection Monitor supports:

  • VMs
  • VM scale sets
  • Application Gateway

Current Microsoft documentation lists support for VMs, NICs, VM scale-set NICs, and Application Gateway v2, with some limitations for private deployments. (Microsoft Learn)

Example:

Source IP: 10.0.1.4
Destination IP: 10.0.2.5
Destination port: 443
Protocol: TCP

        ↓

NSG Diagnostics

        ↓

ALLOW
Rule: Allow-HTTPS

or:

DENY
Rule: DenyAllInbound
Best use

Troubleshoot NSG rule configuration for supported Azure resources.


8. IP Flow Verify

IP Flow Verify is another tool for checking whether a specific packet would be allowed or denied.

You specify information such as:

VM
Direction
Protocol
Local IP
Remote IP
Local port
Remote port

and Network Watcher returns:

Allowed / Denied
+
NSG rule responsible

For example:

Inbound TCP
Source: 10.1.0.4
Destination: 10.2.0.5
Port: 3389

        ↓

IP Flow Verify

        ↓

Denied
Rule: Deny-RDP

Microsoft describes IP Flow Verify as a VM-level tool for detecting traffic-filtering issues. (Microsoft Learn)


9. NSG Diagnostics vs IP Flow Verify

These tools overlap, so this distinction matters.

IP Flow Verify

Think:

Specific VM packet flow

Question:

Would this exact packet be allowed or denied?

NSG Diagnostics

Think:

Broader NSG troubleshooting
across supported resource types

Question:

Which NSG rule explains why this traffic is allowed or denied?

A simplified exam distinction:

RequirementTool
Check a specific VM flowIP Flow Verify
Diagnose filtering on VM/VMSS/App GatewayNSG Diagnostics

Microsoft explicitly notes that IP Flow Verify focuses on VM-level filtering, while NSG Diagnostics covers a broader set of supported resources. (Microsoft Learn)


10. Effective Security Rules

Effective Security Rules tells you which NSG rules actually apply to a VM network interface.

This is useful because an NSG can be attached at multiple levels:

Subnet NSG
   │
   ▼
NIC
   │
   ▼
NIC NSG

The effective result is influenced by both.

So:

Subnet NSG rules
        +
NIC NSG rules
        ↓
Effective Security Rules

This tool answers:

"What security rules are effectively applied to this NIC?"

It doesn't primarily simulate a packet like IP Flow Verify.


11. Effective Security Rules vs IP Flow Verify

Another common exam trap.

Effective Security Rules

Shows:

Which rules apply
IP Flow Verify

Shows:

Whether a specific packet is allowed/denied
+
the responsible rule

So:

Need rule inventory?
→ Effective Security Rules

Need packet decision?
→ IP Flow Verify

12. Packet Capture

Packet Capture records actual network packets going to and from a VM.

Conceptually:

VM NIC
  │
  ├── Packet 1
  ├── Packet 2
  ├── Packet 3
  └── Packet 4
         │
         ▼
    Packet Capture
         │
         ▼
   Analyze network traffic

Typical uses:

  • inspect TCP handshakes
  • investigate retransmissions
  • troubleshoot protocol behavior
  • inspect destination ports
  • investigate intermittent networking problems

Microsoft describes Packet Capture as a tool for capturing traffic to and from virtual machines. (Microsoft Learn)

Think Wireshark-style troubleshooting

Network Watcher's packet capture generates packet-capture data that can then be analyzed with networking tools.


13. Connection Troubleshoot

Connection Troubleshoot performs a point-in-time connectivity test.

Conceptually:

Source VM
    │
    ▼
Connection Troubleshoot
    │
    ▼
Destination

It can help determine:

Reachable?
Latency?
Connectivity problem?

Microsoft currently describes it as a one-time connectivity and latency check involving supported resources such as VMs, Bastion, and Application Gateway scenarios. (Microsoft Learn)

Example
VM1
 ↓
Connection Troubleshoot
 ↓
VM2:443

Result:
Reachable
Latency: 4 ms

14. Next Hop

Next Hop helps troubleshoot Azure routing.

Given a source VM/NIC and destination IP, it tells you the next network hop Azure chooses.

Example:

VM
 │
 │ packet to 8.8.8.8
 ▼
Azure routing table
 │
 ▼
Next Hop
 │
 ▼
Internet

Possible next-hop types include things such as:

Virtual network
Internet
Virtual appliance
Virtual network gateway
None

This is useful when troubleshooting:

  • User Defined Routes
  • Azure Firewall routing
  • Network Virtual Appliances
  • forced tunneling
  • unexpected traffic paths

Microsoft describes Next Hop as a tool for verifying traffic routing and detecting routing issues. (Microsoft Learn)


15. Next Hop vs Connection Troubleshoot

These tools answer different questions.

Connection Troubleshoot

Can I reach the destination?

Next Hop

Which route will Azure use to reach the destination?

Example:

VM can't reach Internet

You might first run:

Connection Troubleshoot

to confirm connectivity failure.

Then:

Next Hop

to discover:

0.0.0.0/0
→ Virtual Appliance

which could reveal an incorrect route.


16. Flow Logs

Flow logs record network-flow metadata.

Flow Logs can monitor:

  • Network Security Groups
  • Virtual Networks

and store flow information in an Azure Storage Account.

Conceptually:

Network traffic
      │
      ▼
Flow Logs
      │
      ▼
Storage Account

The data can include information such as:

Source IP
Destination IP
Source port
Destination port
Protocol
Direction
Traffic decision / flow information

depending on the type/version of flow logging being used.

Microsoft's current Network Watcher overview still groups Flow Logs and Traffic Analytics under traffic tools. (Microsoft Learn)


17. Important current update: NSG Flow Logs are retiring

This is the biggest current correction to remember.

Microsoft is retiring NSG Flow Logs.

Current dates:

June 30, 2025
→ creation of new NSG flow logs stopped

September 30, 2027
→ NSG flow logs retire

Microsoft recommends migrating to:

Virtual Network Flow Logs / VNet Flow Logs

(Microsoft Learn)

So for modern architecture:

Old
NSG Flow Logs

        ↓ migrate

Current direction
VNet Flow Logs

18. Why VNet Flow Logs are preferred

Microsoft notes several advantages of VNet Flow Logs over NSG Flow Logs, including:

  • coverage of traffic even when an NSG isn't processing it
  • awareness of Virtual Network Manager security admin rules
  • VNet encryption information
  • simpler VNet-level configuration
  • no duplicate records caused by configuring both subnet and NIC NSG flow logs

(Microsoft Learn)

For current study material, memorize:

New deployments → use VNet Flow Logs.


19. Traffic Analytics

Raw flow logs are useful but difficult to interpret manually.

Traffic Analytics turns flow log data into visual insights.

VNet Flow Logs
      │
      ▼
Storage
      │
      ▼
Traffic Analytics
      │
      ▼
Visualization / analysis

It can help show:

Traffic patterns
Source/destination communication
Top talkers
Ports
Traffic direction
Network activity trends

Microsoft describes Traffic Analytics as an analytics layer that provides insights into VNet traffic patterns based on flow log data. (Microsoft Learn)


20. Flow Logs vs Traffic Analytics

Another key distinction:

Flow Logs
Collect raw network-flow information
Traffic Analytics
Analyze and visualize flow logs

Think:

Flow Logs
= raw data

Traffic Analytics
= insights from the data

21. Network Watcher vs Network Insights

You studied Network Insights in the previous lesson.

These are related but different.

Network Insights

Provides a curated monitoring experience:

Topology
Health
Metrics
Alerts
Connectivity
Network Watcher

Provides diagnostic tools:

IP Flow Verify
Next Hop
Packet Capture
Connection Monitor
Connection Troubleshoot
Flow Logs

So:

Network Insights
= "Show me the network health"

Network Watcher
= "Help me troubleshoot the network"

22. Troubleshooting example

Suppose:

VM1 cannot connect to VM2 on TCP 443.

A reasonable investigation might be:

VM1 cannot reach VM2:443
        │
        ▼
Connection Troubleshoot
        │
        ▼
Connectivity failure confirmed
        │
        ▼
IP Flow Verify / NSG Diagnostics
        │
        ▼
NSG allowing traffic?
        │
        ├── No → Fix NSG
        │
        └── Yes
              │
              ▼
           Next Hop
              │
              ▼
        Correct route?
              │
              ├── No → Fix UDR
              │
              └── Yes
                    │
                    ▼
               Packet Capture
                    │
                    ▼
         Detailed protocol analysis

This workflow is much more useful than treating each tool independently.


23. Hybrid troubleshooting example

Suppose:

Azure VM
   │
 VPN / ExpressRoute
   │
   ▼
On-premises server

and users report intermittent latency.

You could use:

Connection Monitor

to continuously track connectivity and latency.

If the connection fails:

VPN Troubleshoot

can help diagnose VPN Gateway/connection issues.

Microsoft's current Network Watcher documentation also includes VPN troubleshooting among its diagnostics capabilities. (Microsoft Learn)


24. Tool-selection table

This is the most important revision table for the lesson.

RequirementNetwork Watcher tool
Continuously monitor connectivityConnection Monitor
Visualize Azure network relationshipsTopology
Determine which NSG rule blocks trafficNSG Diagnostics
Determine if a VM flow is allowed or deniedIP Flow Verify
View all NSG rules effectively applied to NICEffective Security Rules
Test connectivity onceConnection Troubleshoot
Determine where Azure routes packet nextNext Hop
Capture real network packetsPacket Capture
Log network-flow metadataVNet Flow Logs
Visualize/analyze flow logsTraffic Analytics

25. Exam traps
"Which rule blocked my VM packet?"

Likely:

IP Flow Verify

or, depending on wording and resource scope:

NSG Diagnostics

"Which rules apply to this NIC?"
Effective Security Rules

"Which route will this VM use?"
Next Hop

"Is VM1 able to reach VM2 right now?"
Connection Troubleshoot

"Continuously check VM1 → VM2 latency"
Connection Monitor

"Capture actual TCP packets"
Packet Capture

"Record traffic patterns over time"
VNet Flow Logs

"Graph and analyze that flow data"
Traffic Analytics

26. Fast memory technique

Remember these keywords:

MONITOR
Connection Monitor
Topology

SECURITY
NSG Diagnostics
IP Flow Verify
Effective Security Rules

CONNECTIVITY
Connection Troubleshoot

ROUTING
Next Hop

PACKETS
Packet Capture

TRAFFIC HISTORY
VNet Flow Logs

TRAFFIC VISUALIZATION
Traffic Analytics

27. Current architecture to remember
                       NETWORK WATCHER
                             │
        ┌────────────────────┼─────────────────────┐
        │                    │                     │
        ▼                    ▼                     ▼
    Monitoring           Diagnostics             Traffic
        │                    │                     │
 Connection Monitor      IP Flow Verify        VNet Flow Logs
 Topology                NSG Diagnostics            │
                         Effective Rules             ▼
                         Next Hop             Storage Account
                         Conn Troubleshoot           │
                         Packet Capture              ▼
                                               Traffic Analytics

28. Most important takeaway

Network Watcher is easiest to understand if you categorize every tool by the question it answers:

Can A reach B continuously?
→ Connection Monitor

Can A reach B right now?
→ Connection Troubleshoot

Is an NSG blocking this exact VM flow?
→ IP Flow Verify

Why is an NSG allowing/denying traffic?
→ NSG Diagnostics

Which NSG rules actually apply?
→ Effective Security Rules

Where will the packet go?
→ Next Hop

What packets actually crossed the NIC?
→ Packet Capture

What traffic occurred over time?
→ VNet Flow Logs

Can I visualize that traffic?
→ Traffic Analytics

How are my resources connected?
→ Topology

That distinction is likely more important for AZ-104-style questions than memorizing the portal navigation.

Current Microsoft references

The major current change is that NSG Flow Logs are now legacy: new NSG flow logs can no longer be created, and Microsoft recommends migrating to VNet Flow Logs before the NSG Flow Logs retirement on September 30, 2027. (Microsoft Learn)

Insights and Visualization

Azure Monitor Insights deep dive

This transcript is about Azure Monitor Insights, not Azure Monitor Agent itself. Azure Monitor Agent appears as an enabling component for VM Insights, but the main topic is Microsoft’s prebuilt monitoring experiences for VMs, networking, applications, and storage.

Azure Monitor Insights are essentially curated monitoring experiences. Microsoft preselects useful telemetry for a service and presents it through prebuilt visualizations, workbooks, topology views, and service-specific monitoring pages. (Microsoft Learn)

A good mental model is:

Raw Azure Monitor telemetry
        │
        ├── Metrics
        ├── Logs
        ├── Dependencies
        └── Resource health
               │
               ▼
        Azure Monitor Insights
               │
               ▼
    Prebuilt visual monitoring experience
1. What are Azure Monitor Insights?

Instead of requiring you to:

Find metric
→ Write KQL
→ Build workbook
→ Create visualization

Microsoft provides a ready-made experience:

Resource
   ↓
Azure Monitor Insights
   ↓
Preconfigured collection + analysis
   ↓
Charts / maps / workbooks / health

The transcript focuses on four examples:

InsightMain purpose
VM InsightsVM performance, processes and dependencies
Network InsightsNetwork topology, health and connectivity
Application InsightsApplication performance and behavior
Storage InsightsStorage performance, capacity, availability and failures

Microsoft describes Insights as curated visualizations that collect and analyze a subset of the telemetry available for a service and present it in a useful visual layout. (Microsoft Learn)


2. VM Insights

VM Insights is the Azure Monitor experience designed specifically for virtual machines.

The transcript says it supports:

  • Windows VMs
  • Linux VMs
  • Azure Virtual Machine Scale Sets
  • Azure Arc-enabled hybrid machines

and uses Azure Monitor Agent and Data Collection Rules behind the scenes.

Current Microsoft documentation confirms that VM Insights simplifies onboarding of Azure Monitor Agent and uses predefined DCRs to collect commonly required guest performance data. (Microsoft Learn)

Conceptually:

Azure VM / VMSS / Arc machine
            │
            ▼
    Azure Monitor Agent
            │
            ▼
    Data Collection Rule
            │
            ▼
       Azure Monitor
            │
            ▼
        VM Insights

3. Host metrics vs guest monitoring

Without VM Insights, Azure already collects many host/platform metrics automatically.

Examples:

CPU
Network traffic
Disk I/O

But to understand activity inside the operating system, VM Insights can enable enhanced guest monitoring.

Azure host
   │
   └── Host metrics
       CPU / network / disk
       
VM operating system
   │
   └── Guest metrics
       memory / processes / dependencies
            │
            ▼
           AMA

Microsoft's current documentation makes the same distinction: host metrics are collected automatically, while enhanced guest monitoring installs AMA and collects more detailed guest telemetry. (Microsoft Learn)


4. VM Insights performance view

The demo enables VM Insights and then examines the VM's Performance view.

The transcript shows telemetry such as:

  • CPU utilization
  • available memory
  • logical disk IOPS
  • bytes sent
  • bytes received
  • disk performance

This provides a ready-made performance dashboard rather than requiring you to manually identify all the relevant metrics.

Conceptually:

VM telemetry
    │
    ▼
VM Insights
    │
    ├── CPU
    ├── Memory
    ├── Disk
    ├── Network
    └── Processes

5. VM Insights and Data Collection Rules

The transcript creates a DCR while enabling VM Insights.

Example:

az104vminsightsdcr

The selected configuration enables:

Guest performance
+
Processes and dependencies
+
Log Analytics workspace

A key architecture distinction is:

AMA performs collection.

DCR defines collection.

VM Insights provides the visualization/monitoring experience.

So:

AMA
= agent

DCR
= collection configuration

VM Insights
= monitoring experience

6. Current VM monitoring direction

There is an important current-platform change beyond the transcript.

Microsoft's 2026 VM monitoring documentation now describes two guest monitoring approaches:

OpenTelemetry metrics
       ↑
Recommended for new deployments

Logs-based metrics
       ↑
Classic / existing implementations

Both can provide guest monitoring, but they store and process telemetry differently. (Microsoft Learn)

For exam-style understanding, however, it remains useful to remember the transcript's simpler architecture:

VM → AMA → DCR → Azure Monitor → VM Insights

7. VM dependency mapping

One of VM Insights' most valuable features is its ability to visualize process and network dependencies.

The transcript enables:

Processes and dependencies

and then uses the Map view.

For example:

Client
   │ TCP connection
   ▼
VM1
   │
   ├── Process A → Database
   │
   ├── Process B → External API
   │
   └── Process C → VM2

This helps answer questions such as:

  • What connects to this VM?
  • Which process opened that connection?
  • Which destination IP is being contacted?
  • Which port is being used?
  • What downstream dependency might be causing a problem?

Microsoft lists dependency maps as a major VM Insights capability. (Microsoft Learn)


8. Dependency Agent

For deeper understanding, dependency/process mapping historically requires the Dependency Agent in addition to AMA.

The general architecture is:

Azure Monitor Agent
     ↓
Performance / monitoring telemetry

Dependency Agent
     ↓
Processes / dependency relationships

            ↓
        VM Insights

Current Microsoft VM monitoring documentation still identifies the Dependency Agent extension as part of dependency mapping for supported VM monitoring scenarios. (Microsoft Learn)


9. Prebuilt workbooks

The transcript opens:

View workbooks
     ↓
Connections

The workbook shows information such as:

Computer
Process
Remote IP
Port
Bytes sent
Bytes received
Direction

This is an important general principle of Insights:

Many Insights experiences are powered partly or entirely by Azure Monitor Workbooks.

A workbook performs queries against collected telemetry and turns the results into visualizations.

Log Analytics
    │
    ▼
KQL / telemetry
    │
    ▼
Workbook
    │
    ▼
Table / chart / visualization

Microsoft explicitly notes that many curated Insights experiences are based on Azure Monitor Workbooks. (Microsoft Learn)


10. Network Insights

The next service in the transcript is Azure Monitor Network Insights.

Unlike VM Insights:

No monitoring agent needs to be installed on your networking resources.

The transcript explains that Network Insights provides visibility into:

  • network resources
  • health
  • alerts
  • connectivity
  • topology

and works together with Azure Network Watcher capabilities.

Current Microsoft documentation describes Network Insights as providing a comprehensive visual representation of topology, health, metrics, connectivity, and traffic without requiring additional monitoring configuration. (Microsoft Learn)


11. Network Insights architecture

Think:

Virtual Networks
NICs
Load Balancers
Application Gateways
Firewalls
VPN Gateways
Public IPs
NSGs
       │
       ▼
Azure Monitor Network Insights
       │
       ├── Topology
       ├── Health
       ├── Metrics
       ├── Alerts
       ├── Connectivity
       └── Traffic

No AMA is needed because these are Azure network resources rather than guest operating systems.


12. Network topology

Topology is particularly useful.

For example:

VNet
 │
 ├── Subnet-web
 │      │
 │      └── VM1 NIC
 │
 └── Subnet-app
        │
        └── VM2 NIC

A topology visualization makes relationships easier to understand than reading individual resource pages.

Current Network Insights can visualize relationships across subscriptions, regions, and resource groups. (Microsoft Learn)


13. Network health and metrics

Network Insights can also summarize:

Resource inventory
Resource health
Metrics
Alerts
Connectivity

Examples:

Load Balancer health
VPN Gateway availability
Firewall throughput
Public IP state
Network Interface metrics

This gives operations teams a central network monitoring view.

(Microsoft Learn)


14. Network Watcher relationship

Don't confuse:

Network Insights

with:

Network Watcher

A useful distinction:

Network Insights

Provides the visual monitoring experience.

Network Watcher

Provides networking diagnostics and troubleshooting capabilities.

Examples documented today include:

Connection Monitor
Packet Capture
IP Flow Verify
Next Hop
VPN troubleshoot
Network topology

Network Insights exposes or integrates with several Network Watcher capabilities. (Microsoft Learn)


15. Important current networking change

For current Azure knowledge, note that NSG flow logs are being retired.

Microsoft states:

  • no new NSG flow logs could be created after June 30, 2025
  • migration to VNet flow logs should occur before September 30, 2027

(Microsoft Learn)

So for modern Azure network monitoring, think:

VNet flow logs

rather than designing a new solution around NSG flow logs.


16. Application Insights

The third major topic is Application Insights.

It is Azure Monitor's Application Performance Monitoring (APM) capability.

The transcript describes it as providing insight into:

  • performance
  • reliability
  • application quality
  • application architecture
  • transactions
  • live metrics
  • user interactions

Current Microsoft documentation describes Application Insights as an Azure Monitor feature for monitoring live applications and now strongly emphasizes OpenTelemetry for telemetry collection. (Microsoft Learn)


17. Application Insights architecture

Conceptually:

User
  │
  ▼
Web Application
  │
  ├── Requests
  ├── Dependencies
  ├── Exceptions
  ├── Traces
  └── Custom telemetry
         │
         ▼
 Application Insights
         │
         ▼
    Azure Monitor

Application Insights helps answer:

Is the application slow?

Which requests fail?

What dependency caused a delay?

Where did an exception occur?

Which endpoints are busiest?

18. Auto-instrumentation vs manual instrumentation

The transcript mentions both.

Auto-instrumentation

Azure adds monitoring without requiring extensive code changes.

Conceptually:

Application
    +
Application Insights integration
    ↓
Automatic telemetry
Manual instrumentation

You explicitly instrument the application.

Modern applications generally use:

OpenTelemetry SDK

or supported Application Insights integrations.

This gives finer control over:

  • custom spans
  • custom attributes
  • business telemetry
  • traces

Microsoft now positions Application Insights as an OpenTelemetry-based Azure Monitor APM experience. (Microsoft Learn)


19. Application Map

The transcript discusses visualizing application architecture and interactions.

Conceptually:

Users
  │
  ▼
Web App
  │
  ├────► SQL Database
  │
  ├────► Storage Account
  │
  └────► External API

Application Insights can help identify:

slow dependency
failed dependency
high latency
request failures

That enables troubleshooting across distributed application components.


20. Live Metrics

Application Insights Live Metrics provides near-real-time visibility into application activity.

Examples can include:

Incoming requests
Request rate
Failures
Dependency calls
CPU
Memory
Exceptions

This is particularly useful during:

Production incident
Deployment
Load test
Performance troubleshooting

21. User and usage analytics

The transcript places significant emphasis on understanding how users interact with applications.

Examples:

Which features are used?

Where are users dropping off?

Which flows are slow?

Which pages have errors?

This telemetry can help improve both:

  • reliability
  • user experience

However, for modern application observability, the central role of Application Insights is broader than user analytics: it provides APM across requests, dependencies, exceptions, traces, availability, metrics, and related telemetry.


22. Storage Insights

The fourth monitoring experience is Storage Insights.

It gives a consolidated view of Azure Storage accounts.

The transcript highlights:

  • health
  • availability
  • failures
  • transactions
  • API failures
  • caller IP information when logs are available

Microsoft describes Storage Insights as providing a unified view of:

Performance
Capacity
Availability

across Azure Storage accounts. (Microsoft Learn)


23. Storage Insights requires no agent

Unlike VM guest monitoring:

Storage Account
      │
      ▼
Azure platform metrics
      │
      ▼
Storage Insights

There is no operating system where AMA would need to run.

Therefore:

VM Insights
→ AMA commonly involved

Storage Insights
→ No AMA

24. Storage Insights: default information vs detailed logs

This distinction in the transcript is especially important.

Storage Insights displays useful metrics without requiring diagnostic settings.

For example:

Availability
Transactions
Latency
Capacity

But if you want detailed resource logs such as:

Which API failed?
Which request failed?
Which caller IP caused it?
What status code was returned?

you need Storage resource logs routed to Log Analytics.

The transcript configures:

Storage Account
      │
      ▼
Diagnostic Settings
      │
      ▼
Log Analytics Workspace

25. Storage diagnostic configuration in the demo

The transcript configures diagnostic settings at two levels:

Storage Account
    │
    ├── Account metrics
    │
    └── Blob service
          ├── allLogs
          └── transaction metrics

Both are sent to:

Log Analytics Workspace

This enables richer investigation in Storage Insights.


26. Storage failure investigation

The transcript demonstrates:

Azure Monitor
    ↓
Insights
    ↓
Storage Accounts
    ↓
Storage Account
    ↓
Failures

At a high level you might see:

Failed transactions
        ↓
API name

With logs enabled:

Failed operation
      │
      ├── API
      ├── status/error
      ├── request information
      └── caller information

This illustrates a general Azure Monitor pattern:

Metrics
   ↓
Detect problem

Logs
   ↓
Investigate problem

27. Insights don't necessarily collect everything

A very important point from the transcript is that Insights usually consume a subset of available telemetry.

So:

Azure resource telemetry
       │
       ├── Metric A
       ├── Metric B
       ├── Metric C
       ├── Log A
       ├── Log B
       └── Log C
              │
              ▼
          Insight uses
        selected telemetry

Azure Monitor Insights should therefore be considered:

A curated starting point, not necessarily the complete monitoring solution.

Microsoft's current overview explicitly describes Insights as collecting and analyzing subsets of telemetry for the corresponding service. (Microsoft Learn)


28. VM Insights collection limitation from the transcript

The transcript states that VM Insights collects primarily performance data by default and that additional event collection needs separate DCR configuration.

That concept remains valuable:

VM Insights default collection
       ↓
Core performance data

Need Windows events / Syslog / custom logs?
       ↓
Additional DCR

Microsoft similarly states that VM Insights starts with predefined performance data, and additional DCRs can be created for events and other performance data. (Microsoft Learn)


29. Comparison of the four Insights
FeatureVM InsightsNetwork InsightsApplication InsightsStorage Insights
Primary targetVMsNetwork resourcesApplicationsStorage
AMA requiredYes for enhanced guest monitoringNoNo VM agent requirement; app instrumentationNo
Main dataGuest performanceNetwork metrics/topologyApp telemetryStorage metrics/logs
Visual topologyDependency mapNetwork topologyApplication mapNot primary feature
Log Analytics involvedYesSome featuresYes, workspace-based architectureFor deeper logs
Prebuilt viewsYesYesYesYes
Main useVM troubleshootingNetwork troubleshootingAPMStorage troubleshooting

30. Which Azure monitoring feature should you use?
Need VM guest performance?
VM Insights
Need VM process/dependency information?
VM Insights + dependency monitoring
Need VNet / Load Balancer / Firewall topology?
Network Insights
Need packet/network diagnostics?
Network Watcher
Need web application performance?
Application Insights
Need storage capacity/performance/availability?
Storage Insights
Need detailed Storage request failures?
Storage Insights
+
Diagnostic Settings
+
Log Analytics

31. How this fits with your previous Azure Monitor lessons

Your Azure Monitor topics now connect like this:

                         AZURE MONITOR
                              │
        ┌─────────────────────┼─────────────────────┐
        │                     │                     │
        ▼                     ▼                     ▼
      Metrics               Logs                Insights
        │                     │                     │
        ▼                     ▼          ┌──────────┼───────────┐
Metrics Explorer        Log Analytics    │          │           │
                              │          ▼          ▼           ▼
                              ▼      VM Insights Network    Storage
                             KQL                  Insights   Insights
                                                       
                                  Application Insights

And telemetry arrives through mechanisms such as:

Azure platform metrics
        ↓
Azure Monitor

Resource logs
        ↓
Diagnostic Settings
        ↓
Log Analytics

VM guest telemetry
        ↓
AMA + DCR
        ↓
Azure Monitor

Application telemetry
        ↓
OpenTelemetry / instrumentation
        ↓
Application Insights

32. Exam-focused cheat sheet
QuestionAnswer
Preconfigured Azure monitoring experienceAzure Monitor Insights
Monitor VM guest performanceVM Insights
VM Insights collection agentAzure Monitor Agent
Controls VM telemetry collectionDCR
View VM process dependenciesVM Insights dependency map
Monitor network topologyNetwork Insights
Network diagnostic toolsNetwork Watcher
Agent needed for Network InsightsNo
Application performance monitoringApplication Insights
Modern Application Insights telemetry standardOpenTelemetry
Monitor Storage health/performanceStorage Insights
Agent needed for Storage InsightsNo
Detailed Storage request analysisDiagnostic Settings + Log Analytics
Insights collect every available signalNo — curated subset

33. Scenario-based revision
Scenario 1

You need to monitor CPU, memory and disk usage inside 200 Windows and Linux VMs.

Use:

VM Insights
+
AMA
+
DCR

Scenario 2

You need to discover which processes on a VM connect to external services.

Use:

VM Insights
+
Process/dependency monitoring
+
Dependency Map

Scenario 3

You need a visual map of VNets, gateways, firewalls and connected networking resources.

Use:

Network Insights

Scenario 4

You need to troubleshoot why one VM cannot reach another.

Start with:

Network Watcher

Potential tools:

Connection Troubleshoot
IP Flow Verify
Next Hop

Scenario 5

Your application is slow and you need to determine which dependency is responsible.

Use:

Application Insights

Investigate:

Requests
Dependencies
Failures
Application Map
Live Metrics

Scenario 6

You need a consolidated view of capacity and availability across all Storage Accounts.

Use:

Storage Insights

Scenario 7

You need the source IP responsible for failed Blob requests.

Use:

Storage diagnostic logs
      ↓
Log Analytics
      ↓
Storage Insights / KQL

34. Most important takeaway

Don't think of Azure Monitor Insights as another telemetry database.

Think:

Azure Monitor
    ↓
collects and stores telemetry
    ↓
Insights
    ↓
makes that telemetry easier to consume

The four major examples from this lesson can be memorized as:

VM Insights
→ VM performance + processes + dependencies

Network Insights
→ topology + connectivity + network health

Application Insights
→ application performance + requests + dependencies

Storage Insights
→ storage performance + capacity + availability

And the architectural distinction worth remembering is:

VM
→ AMA + DCR
→ VM Insights

Network resources
→ Azure platform telemetry
→ Network Insights

Application
→ OpenTelemetry/instrumentation
→ Application Insights

Storage
→ Platform metrics
→ Storage Insights
     +
Diagnostic Settings
→ Log Analytics
→ deeper failure analysis
Official Microsoft reference documentation

The biggest current update compared with the transcript is that Application Insights is now strongly OpenTelemetry-oriented, while VM monitoring documentation is also evolving toward OpenTelemetry-based guest metrics for new deployments. Network Insights itself remains agentless, and Microsoft is moving network flow monitoring from legacy NSG flow logs toward VNet flow logs. (Microsoft Learn)


Hands-on Lab Focus Areas

The AZ-104 exam has lab questions — practice these tasks:

  1. Create a VNet, add subnets, create an NSG, apply rules
  2. Deploy a VM, add a data disk, resize the VM
  3. Configure VNet peering between two VNets
  4. Create a storage account, upload blobs, configure a lifecycle policy
  5. Set RBAC on a resource group; verify effective permissions
  6. Apply an Azure Policy, verify compliance
  7. Create a Log Analytics workspace, connect a VM, run a KQL query
  8. Back up a VM; restore a file from backup

Study Plan (6–8 Weeks)

WeekFocus
1–2Identity & Governance — Entra ID, RBAC, Policy, Management Groups
3Storage — accounts, blob tiers, lifecycle, Azure Files
4Compute — VMs, VMSS, App Service, containers
5Networking — VNet, NSG, peering, VPN, load balancers
6Monitoring — Azure Monitor, Log Analytics, Backup, ASR
7–8Full practice exams + lab practice + weak area review

Key Resources

ResourceNotes
Microsoft Learn AZ-104Free official learning path (highly detailed)
John Savill's AZ-104 Study CramFree YouTube — best pre-exam cram
Scott Duffy on UdemyPopular paid video course
Tutorials DojoBest practice exam questions
Azure Free Account12 months free services — essential for labs

Common Exam Traps

  • RBAC vs Policy — RBAC controls who can do something. Policy controls what resources can be created and in what state. You need both.
  • VNet peering is not transitive — A↔B and B↔C does not mean A can reach C. You must also peer A↔C.
  • NSG vs Azure Firewall — NSG is subnet/NIC level, port/IP rules. Azure Firewall is a managed Layer 7 firewall for full inspection.
  • Locks override RBAC — even the Owner cannot delete a resource with a CanNotDelete lock without first removing the lock.
  • Soft delete — deleting a VM backup doesn't immediately delete the data; 14-day retention prevents data loss.