This chapter will take you from absolute zero to understanding Azure’s core architecture. We assume you know NOTHING about cloud computing, and we’ll build your knowledge step by step with real-world analogies, detailed explanations, and practical examples.
Imagine you want to start a website for your business in 2005 (before cloud computing existed):Step 1: Buy Hardware
Copy
Cost: $10,000+ per server- Physical server (Dell, HP)- Storage drives- Networking equipment- Cables, racks, power suppliesTimeline: 4-8 weeks to arrive
Step 2: Find a Place to Put It
Copy
Options:A) Your office closet - Risk: Power outage = website down - Risk: Fire, flood, theft - No backup power or coolingB) Rent datacenter space ($500-2000/month) - Must sign long-term contract (1-3 years) - Must pay even if you shut down
Step 3: Install and Configure
Copy
Tasks:- Install operating system (Windows/Linux)- Configure networking- Install web server software- Set up databases- Configure backups- Set up monitoringSkills needed: System administratorTimeline: 1-2 weeks
Step 4: Maintain Forever
Copy
Ongoing work:- Apply security patches monthly- Replace failed hardware- Upgrade when traffic grows- Monitor 24/7 for outages- Handle backups manuallyCost: 1-2 full-time IT staff
The Big Problems:
Huge upfront cost ($10,000+ before you have any customers)
Slow (2+ months from idea to website)
Fixed capacity (bought 1 server, but what if you need 10? Or only need 0.5?)
Your problem if it breaks (hardware failure at 2 AM? You fix it)
Wasted money (server sitting idle 90% of time, but you paid full price)
Now imagine the same scenario in 2025 with Azure:Step 1: Create Virtual Server
Copy
Cost: $0 upfront, pay ~$0.01/hour (~$7/month for small server)Timeline: 5 minutesMethod: Click a few buttons in a web browser
Step 2: No Datacenter Needed
Copy
Microsoft's responsibility:- 300+ datacenters worldwide- Backup power (generators + batteries)- Physical security (guards, cameras, locks)- Fire suppression, cooling systems- Network connectivity- Hardware replacementYour cost: $0 (included in the hourly rate)
Step 3: Pre-Configured Software
Copy
Available:- Choose operating system from a menu- Web server software pre-installed (if you want)- Database already running (if you want)- Automatic backups (if you want)- Monitoring built-inTimeline: Already done (part of the 5 minutes)
Step 4: Automatic Maintenance
Copy
Microsoft handles:- Security patches (automatic)- Hardware failures (automatic replacement)- Scaling (add more servers automatically)- 24/7 monitoring (built-in)Your time investment: Hours per month, not days per week
The Cloud Benefits:
No upfront cost (pay only for what you use, like electricity)
Instant (5 minutes from idea to working website)
Flexible capacity (need more? Add instantly. Need less? Remove instantly)
Microsoft’s problem if hardware breaks (they replace it, you don’t even notice)
Save money (only pay when running; stop paying when not needed)
Challenge: Need a website, but have $0 for hardwareSolution:- Azure free tier gives you free compute for 12 months- Pay ~$20/month for a small website- If startup fails, you stop paying (vs. $10,000 wasted on servers)- If startup succeeds, scale to millions of users instantly
Scenario 2: Your company has seasonal traffic
Copy
Challenge: Black Friday traffic is 100x normal daysOld way:- Buy 100 servers for Black Friday ($500,000)- Servers sit unused 364 days/year- Still must pay for power, cooling, maintenanceAzure way:- Run 1 server normally ($100/month = $1,200/year)- Auto-scale to 100 servers for Black Friday (1 day)- Cost for Black Friday: $100 × 100 servers × 1 day ≈ $330- Total yearly cost: $1,200 + $330 = $1,530 (vs. $500,000)
Scenario 3: You need global presence
Copy
Challenge: Users in US, Europe, and Asia need fast accessOld way:- Build datacenters in 3 continents ($5+ million)- Hire staff in each location- Network them togetherAzure way:- Deploy to 3 Azure regions with a few clicks- Microsoft already has datacenters there- Global network already built- Cost: ~$300/month (vs. $5 million)
Before we dive into Azure specifics, let’s define the essential terms:Virtual Machine (VM)
A virtual machine is a software-based computer running on physical hardware. Think of it like this: Microsoft has a massive physical server. Using virtualization software, they split that one physical server into 10 “virtual” servers. Each virtual server thinks it’s a real computer with its own CPU, memory, and storage.Analogy: It’s like splitting a large house into 10 separate apartments. Each apartment has its own kitchen, bathroom, and living space, even though they’re all in the same building.
Server
A computer designed to run 24/7, serving requests from other computers. Your laptop is a client (makes requests), a server responds to requests.Example: When you visit a website, your browser (client) sends a request to a web server, which sends back the web page.
Datacenter
A building full of servers, networking equipment, power systems, and cooling systems. Azure has 300+ datacenters worldwide.Analogy: Like a massive parking garage, but instead of cars, it’s filled with thousands of computers running 24/7.
Computing Power
The ability to run programs and process data. Measured in CPU cores (like having multiple workers) and RAM (like having a larger desk to work on).
Storage
Where data is permanently saved. Like a hard drive, but in the cloud.Types you’ll learn:
Blob Storage: For files (images, videos, documents)
Disk Storage: For virtual machine hard drives
Database Storage: For structured data (customer info, orders)
Network
How computers talk to each other. In Azure, you’ll create virtual networks (like a private network in the cloud).
To truly understand the cloud from a professional perspective, you must understand the money. Why do CFOs love the cloud while engineers sometimes fear the bill?
A common mistake beginners make is comparing the monthly cost of an Azure VM (50)tothepriceofaphysicalserver(3,000) and thinking “The cloud is expensive!”.This ignores the Total Cost of Ownership. The TCO includes “Hidden Costs” that Microsoft covers for you:
Power & Cooling: Electricity isn’t free. Servers need lots of it, and 24/7 HVAC.
Floor Space: The rent for the room where the server sits.
IT Labor: Salary of people to rack servers, replace failed drives, and manage the physical network.
Opportunity Cost: The time your engineer spends fixing hardware is time they aren’t building features that make you money.
[!IMPORTANT]
Pro Insight: The Agility Premium
You aren’t just paying for a computer; you’re paying for the ability to get 1,000 computers in 5 minutes. This “agility” allows businesses to experiment and fail fast without losing millions in hardware.
Azure Datacenter (East US Region):├── Building│ ├── Size: 20-40 acres (equivalent to 15-30 football fields)│ ├── Power: 10-20 megawatts (enough for a small city)│ ├── Backup power: Diesel generators + UPS batteries│ ├── Cooling: Massive HVAC systems (servers get HOT)│ └── Security: Guards, cameras, biometric access│├── Server Racks (thousands of them)│ └── Each rack contains:│ ├── 40-50 servers (each server = powerful computer)│ ├── Networking switches│ ├── Power distribution units│ └── Total: 50,000-80,000 servers per datacenter│└── Your Virtual Machine └── Actually runs on: 1 slice of 1 server ├── Your VM shares physical server with ~10 other VMs ├── Hypervisor software keeps them isolated └── You never know (or care) which physical server
When You Create a VM:
You click “Create VM” in Azure portal
Azure’s software (called the fabric controller):
Finds a physical server with available capacity
Might be in any rack in the datacenter
Allocates portion of CPU/RAM to your VM
Hypervisor (Microsoft Hyper-V):
Creates a virtual machine on that physical server
Gives your VM 2 vCPUs, 4 GB RAM (or whatever you requested)
Ensures your VM is isolated from other VMs on same server
Your VM boots up:
Installs the operating system you chose
Connects to the virtual network you specified
Assigns an IP address
Ready to use in 2-5 minutes
The Magic: You never think about which physical server, which rack, which row. Azure handles all of that. You just get a working computer.
What is Virtualization?Imagine a physical server with these specs:
64 CPU cores
512 GB RAM
10 TB storage
Without virtualization, only ONE application can use this server. If your app only needs 2 CPUs and 4 GB RAM, you’re wasting 62 CPUs and 508 GB RAM.With virtualization:
Copy
Physical Server (64 cores, 512 GB RAM)├── VM 1: 2 cores, 4 GB RAM (Your web server)├── VM 2: 4 cores, 16 GB RAM (Someone else's database)├── VM 3: 2 cores, 4 GB RAM (Another customer's app)├── VM 4: 8 cores, 32 GB RAM (Another customer's server)├── ... (20+ more VMs)└── Hypervisor manages them all, keeps them isolatedResult:- You pay only for 2 cores and 4 GB RAM- Microsoft sells the same physical server to 30 customers- Everyone gets their own isolated "computer"- Much cheaper for you, more profitable for Microsoft (win-win)
Security Concern: “Wait, I’m sharing a server with strangers?”Answer: Yes, BUT:
The hypervisor provides hardware-level isolation
You cannot access another VM’s memory or data
It’s like living in an apartment building:
You share the building with neighbors
But you can’t access their apartment
You can’t hear their conversations (proper isolation)
You have your own key (security)
Microsoft has run Azure this way since 2010 with billions of VMs created. The isolation is extremely secure (hardware-enforced, not just software).
[!TIP]
Jargon Alert: Data Residency
The physical location where your data is stored. Some countries (like Germany or China) have strict laws requiring citizen data to never leave the country’s borders. Azure lets you choose which region stores your data.
[!WARNING]
Gotcha: Region Availability
Not all Azure services are available in all regions. Always check the “Azure Products by Region” page before architecting a solution, especially for newer services.
When you click a button in the Portal, run a command in the CLI, or deploy a Bicep file, you are interacting with Azure Resource Manager (ARM). Understanding ARM is the key to moving from a “user” to a “pro” architect.
This is a fundamental concept in cloud engineering.
Management Plane (ARM): This is the “control room.” It’s where you create, update, and delete resources. When you change a VM’s size or update a firewall rule, you are talking to the Management Plane.
Data Plane: This is the “resource itself.” It’s the traffic flowing through your VM, the queries hitting your database, or the files being uploaded to storage.
[!IMPORTANT]
Pro Tip: Partitioning Failure
A failure in the Management Plane means you cannot change things (e.g., you can’t create a new VM). However, your existing resources (the Data Plane) usually continue to run unaffected.
Declarative Templates: You describe what you want (e.g., “I want a Linux VM with 4GB RAM”) rather than how to build it step-by-step.
Idempotency: You can run the same deployment 100 times. If the resource already exists and matches your description, ARM does nothing. If it’s missing, ARM creates it.
Resource Groups: Logical containers that allow you to manage the lifecycle of an entire application as a single unit.
Think about renting an apartment:Landlord’s Responsibilities:
Building structure (walls, roof, foundation)
Building systems (heating, plumbing, electricity)
Common areas (hallways, elevators)
Building security (locks on main entrance)
Your Responsibilities:
What’s inside your apartment (furniture, belongings)
Locking your own door
Who you let in
What you do inside
Cloud computing works the same way. Microsoft owns the “building” (datacenters, servers, network), but YOU own what runs on top (your applications, your data).
What it is: You rent virtual hardware (VMs, disks, networks). Microsoft gives you a “blank computer” in the cloud.Real-World Analogy: Renting an Unfurnished Apartment
Copy
Landlord provides:- Building (datacenter)- Walls and roof (server hardware)- Utilities hookups (network connectivity)You provide:- All furniture (operating system)- Decorations (applications)- Everything inside (data)- Your own locks (firewall rules)
Microsoft Manages:✓ Physical datacenter (building, power, cooling)✓ Physical network (cables, routers, switches)✓ Physical hosts (the actual server hardware)✓ Hypervisor (software that runs virtual machines)You Manage:✓ Operating System (Windows/Linux)✓ Applications (web servers, databases, your code)✓ Data (everything you store)✓ Network configuration (NSGs, firewall rules)✓ Identity and access (who can log in)✓ Patching and updates (YOU must install security patches)
Example: Azure Virtual Machines
You’re responsible for OS patches, antivirus, application updates
Microsoft ensures the physical hardware and hypervisor are secure
When to Use IaaS:
✅ Need full control over the operating system
✅ Running legacy applications that need specific OS versions
✅ Need to install custom software
✅ Migrating from on-premises (lift-and-shift)Real Example:
Copy
Company has 10-year-old accounting software- Only runs on Windows Server 2012 R2- Uses specific printer drivers- Requires 32-bit DLL filesSolution: Azure VM running Windows Server 2012 R2Why: PaaS doesn't support custom OS versionsTrade-off: Company must manage security patches themselves
Platform as a ServiceWhat it is: You bring your application code. Microsoft handles everything else (OS, runtime, scaling, patching).Real-World Analogy: Renting a Furnished Apartment
Copy
Landlord provides:- Building (datacenter)- Furniture (operating system)- Appliances (runtime: Node.js, .NET, Python)- Maintenance (automatic OS updates)- Utilities included (scaling, load balancing)You provide:- Your belongings (your application code)- Your data- Who has keys (access control)
Microsoft Manages:✓ Everything in IaaS +✓ Operating System (you never see it)✓ Middleware/Runtime (Node.js, .NET, Python, Java)✓ Patching and updates (automatic, zero downtime)✓ Scaling infrastructure (add more servers automatically)✓ Load balancing (distribute traffic)✓ High availability (automatically replicate across zones)You Manage:✓ Applications (your code)✓ Data (what you store)✓ Network configuration (firewall rules, VNet integration)✓ Identity and access (who can access your app/data)
Example: Azure App Service, Azure SQL Database
Microsoft patches the OS and database engine
You configure firewall rules and manage access control
When to Use PaaS:
✅ Building modern web applications
✅ Want to focus on code, not infrastructure
✅ Need automatic scaling
✅ Faster time-to-market
✅ Don’t need OS-level controlReal Example:
Copy
Startup building a web application- Team of 3 developers- No system administrators- Need to ship features fast- Traffic is unpredictableSolution: Azure App Service (PaaS)Benefits:- Deploy code in 5 minutes (vs. 2 hours to set up a VM)- Microsoft handles OS patches (saves 10 hours/month)- Automatic scaling (handles traffic spikes without manual intervention)- Built-in monitoring and logging- Cost: $50-100/month (vs. $200/month for VM + admin time)Trade-off: Can't install custom OS-level software, but they don't need to
Key Insight:
PaaS = Less control, Less responsibilityYou CANNOT:
Install custom software on the OS
Change OS settings
Access the underlying VM
You CAN:
Deploy code instantly
Scale automatically
Focus on features, not infrastructure
Software as a ServiceWhat it is: You use the application. Microsoft runs EVERYTHING.Real-World Analogy: Staying in a Hotel
Copy
Hotel provides:- Building (datacenter)- Furniture (operating system)- Appliances (application runtime)- Room service (the actual application)- Cleaning (updates, maintenance)- EverythingYou provide:- Your luggage (your data)- Who stays in room (user access)
Azure SaaS Services: Microsoft 365 (Office), Dynamics 365 (CRM), Microsoft Teams
Copy
Microsoft Manages:✓ Everything except:You Manage:✓ Data (emails, documents, your content)✓ User access (who has an account)✓ Devices (what devices can access)✓ Information protection (data classification, DLP policies)
Example: Microsoft 365, Dynamics 365
Microsoft runs everything
You control who has access and what data they can see
When to Use SaaS:
✅ Need a complete application (email, CRM, etc.)
✅ Don’t want to manage ANY infrastructure
✅ Want instant setup
✅ Need automatic updates
✅ Standard features are sufficientReal Example:
Copy
Company needs email for 100 employeesOld way (self-hosted Exchange):- Buy Exchange Server license ($700)- Buy server hardware ($5,000)- Hire IT admin ($60,000/year salary)- Install, configure, maintain- Total: $65,700 first year + ongoing costsSaaS way (Microsoft 365):- $6/user/month × 100 users = $600/month- Total: $7,200/year- Zero maintenance- Zero infrastructure- Automatic updates- Includes Word, Excel, OneDrive, TeamsSavings: $58,500 first year
Key Insight:
SaaS = No control, No responsibilityYou CANNOT:
How do you decide between IaaS, PaaS, and SaaS? Ask these questions:
Copy
Question 1: Does a SaaS solution exist for your need?├─ Yes (email, CRM, etc.) → Use SaaS│ └─ Example: Microsoft 365, Salesforce│└─ No (custom application) → Continue to Question 2Question 2: Do you need to control the operating system?├─ Yes (legacy app, custom drivers, specific OS version)│ └─ Use IaaS (Virtual Machines)│ └─ Example: Old accounting software, SAP installation│└─ No (modern application) → Continue to Question 3Question 3: Is your application modern (web app, API, microservice)?├─ Yes → Use PaaS (App Service, Functions, Containers)│ └─ Benefits: Faster, cheaper, less maintenance│└─ No (not sure, complex requirements) → Start with IaaS, migrate to PaaS later └─ You can always move VM workloads to PaaS when ready
Rule of Thumb: Start with PaaS whenever possible. Only drop to IaaS when you have a specific requirement that PaaS can’t meet.
Lesson: Always verify backup strategy for each service.
Common Misconception #2: “PaaS means I don’t worry about security”Reality:
Microsoft secures the platform
You secure your application (SQL injection, XSS, etc.)
You manage access (authentication, authorization)
You configure firewall rules and network isolation
Real Incident:
Copy
Company deployed web app on App ServiceAssumed "PaaS = secure"Never implemented input validationSQL injection vulnerability exploitedDatabase compromisedRoot Cause: Application security is YOUR responsibility, always
Azure operates in 60+ regions worldwide—more than any other cloud provider. Understanding this geography is crucial for designing resilient, compliant, and performant systems.
During a regional outage, Microsoft activates the Regional Pair Recovery protocol. They prioritize the recovery of one region in every pair to ensure that at least one location in every geography is back online as fast as possible.
Fun Fact: Azure’s underwater datacenter (Project Natick) ran for 2 years submerged off Scotland’s coast. Results showed 8x fewer failures than land-based datacenters due to controlled environment and absence of oxygen/humidity.
Consistency: All nodes see the same data at the same timeAfter a write completes, all subsequent reads return the updated value.Example: Banking transactions
You withdraw $100 from ATM
Your balance must immediately reflect this across all systems
Wrong balance = customer overdraft
Availability: Every request receives a response (success or failure)The system remains operational even if some nodes fail.Example: Social media feed
User posts a status update
System acknowledges immediately
Post appears eventually (slight delay OK)
Partition Tolerance: System continues despite network failuresThe system operates even when network messages are lost or delayed.Example: Multi-region deployment
Philosophy: “Better to return an error than wrong data”Azure SQL Database is CP:
Copy
Write Operation Flow:1. Client writes to Primary Replica2. Primary writes to transaction log3. Primary replicates to Secondary Replicas (synchronous)4. Waits for acknowledgment from majority (quorum)5. Only then commits transaction6. Returns success to clientIf Network Partition Occurs:❌ Can't reach secondaries❌ Transaction is BLOCKED❌ Client receives error✅ System remains consistent
When to Use CP:
Banking transactions (wrong balance = business failure)
Philosophy: “Better to return slightly stale data than no data”Cosmos DB is AP (with tunable consistency):
Copy
Write Operation Flow (Eventual Consistency):1. Client writes to nearest region2. Region acknowledges IMMEDIATELY (<10ms)3. Asynchronous replication to other regions4. Client continues (doesn't wait)If Network Partition Occurs:✅ All regions continue operating independently✅ Each region serves requests⚠️ Data temporarily inconsistent✅ When partition heals, data converges
Guarantee: Read lags by max K versions or T timeExample: Data is max 10 seconds old or 1000 versions behindUse Case: Stock prices, metrics with acceptable lagTrade-off: Medium latency
3. Session Consistency (Most Popular)
Guarantee: Within a session, you read your own writesWhy Popular (80% of customers use this):
User sees their own changes immediately
Other users see changes eventually
Perfect UX/performance balance
Use Case: Shopping carts, user profiles, most web appsExample:
Copy
User A updates profile picture → Sees new picture immediatelyUser B viewing User A's profile → Sees new picture within 100-500ms
4. Consistent Prefix
Guarantee: Never see out-of-order writesUse Case: Chat messages, activity feeds, audit logsExample:
Copy
Messages: A → B → C✅ You might see: A or A,B or A,B,C❌ You'll never see: B,A or C,B,A
5. Eventual Consistency (AP)
Guarantee: Eventually all replicas convergeLatency: Lowest (<5ms writes)Use Case: View counts, likes, analyticsTrade-off: Highest throughput, lowest cost
Question 1: Can stale data cause correctness issues?├─ Yes → Strong or Bounded Staleness└─ No → Session, Consistent Prefix, or EventualQuestion 2: Must users see their own writes immediately?├─ Yes → Session or stronger└─ No → Consistent Prefix or EventualQuestion 3: Must events be ordered?├─ Yes → Consistent Prefix or stronger└─ No → EventualQuestion 4: Geographic distribution?├─ Single region → Strong (low latency cost)├─ Multi-region, high traffic → Session└─ Multi-region, highest traffic → Eventual
Developer has Owner role on subscriptionAccount compromised (phished):
Copy
❌ Attacker has subscription-wide access❌ Can delete ALL resources❌ Can exfiltrate ALL data❌ Can create backdoor admin accounts❌ Blast radius: ENTIRE SUBSCRIPTIONRecovery: Days to weeksCost: Millions
Developer has Contributor on Dev resource group onlyAccount compromised:
Copy
✅ Attacker limited to dev resources✅ Cannot access production✅ Cannot delete subscription✅ Blast radius: Single resource groupRecovery: HoursCost: Minimal
Real Incident: Capital One Breach (2019)Root Cause: Overly permissive IAM role
EC2 instance had role to list ALL S3 buckets
Should have been scoped to specific buckets only
Attacker gained access to instance
Exfiltrated 100 million customer records
Lesson: Limit permissions to minimum required
Cost: $80 million settlement
User Alice:- Reader at Subscription level- Contributor at "Dev" Resource Group levelResult:✅ Can view all resources in subscription✅ Can modify resources in Dev RG only❌ Cannot modify resources in Prod RG
Q1: What is the difference between a region and an availability zone?
Answer:Region: A geographic area containing multiple datacenters (minimum 3). Each region is separated by hundreds of miles from its paired region.Availability Zone: Physically separate datacenters within the same region, each with independent power, cooling, and networking. Connected via high-speed private fiber (<2ms latency).Analogy: Region = City, Availability Zone = Different buildings in that city
Q2: Explain the shared responsibility model for PaaS
Answer:In PaaS (like Azure App Service):
Microsoft manages: Physical infrastructure, OS, runtime, patching
You manage: Application code, data, access control, network configuration
Example: With Azure SQL Database, Microsoft patches the database engine, but you’re responsible for designing the schema, managing firewall rules, and securing data access.
Q3: What is the purpose of regional pairs?
Answer:Regional pairs provide:
Sequential updates: Only one region updated at a time (no double outage)
Disaster recovery: One region prioritized for recovery in massive outage
Data residency: Both regions in same geography (compliance)
Auto-replication: Some services (GRS storage) replicate to paired region
Example: East US is paired with West US (2,500 miles apart)
Q6: You have a global application with users in US, Europe, and Asia. A network partition occurs between US and Europe. How do you design for this?
Answer:Strategy: Active-Active Multi-Region with Conflict Resolution
Copy
1. Architecture: - Cosmos DB with multi-region writes - Session consistency per region - Conflict resolution policy (Last Write Wins or Custom)2. During Partition: - US region serves US users independently - EU region serves EU users independently - Writes go to local region (no cross-region dependency)3. When Partition Heals: - Cosmos DB automatically reconciles conflicts - Use LWW (Last Write Wins) for simple cases - Use custom merge logic for complex scenarios4. Trade-offs: ✅ Always available (no downtime) ⚠️ Eventual consistency (conflicts possible) ✅ Low latency (local writes) ❌ Higher cost (multi-region writes)5. Alternative (CP approach): - Use Azure SQL with readable secondaries - Accept downtime during partition - Manual failover when needed ✅ Strong consistency ❌ Downtime during partition
Q7: A developer accidentally deleted production resources. How do you prevent this?
Answer:Defense in Depth Strategy:
Copy
Layer 1: RBAC (Principle of Least Privilege)- Developers: Contributor on Dev RG only- Ops: Contributor on Prod (with conditions)- No one has Owner except 2-3 adminsLayer 2: Resource Locks- Apply CanNotDelete lock on production RGs- Apply ReadOnly lock on critical resources- Locks require Owner role to removeLayer 3: Azure Policy- Deny deletion during business hours- Require approval for prod changes- Enforce tagging (Environment=Production)Layer 4: Privileged Identity Management (PIM)- Just-in-Time access elevation- Time-limited (2-4 hours)- Approval workflow required- All actions auditedLayer 5: Monitoring & Alerts- Alert on any deletion in production- Alert on role assignments- Log Analytics query: AzureActivity | where OperationName contains "Delete"Layer 6: Backup & Recovery- Azure Backup for VMs (daily)- Soft delete for SQL/Cosmos (30 days)- GRS storage (geo-replicated)- Test restore procedures monthlyLayer 7: Infrastructure as Code- All resources in Terraform/Bicep- Can recreate environment from code- Version controlled in Git