Skip to content

Commit ea1e381

Browse files
committed
docs: add global capacity management and supply constraint guidance to README and architecture docs
1 parent 72e9d8a commit ea1e381

File tree

6 files changed

+139
-34
lines changed

6 files changed

+139
-34
lines changed

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
> **Enterprise-ready, zero-trust, and cost-optimized Azure SaaS architecture for regulated industries and high-scale multi-tenancy.**
44
5+
6+
> **Cloud Capacity Management & Supply Constraints**
7+
>
8+
> All major cloud providers occasionally face regional or zone capacity limits for compute and storage due to demand surges, supply chain issues, or quota exhaustion. The Stamps Pattern’s modular, zone-aware, and multi-region CELL design gives you more options to mitigate these challenges: if a region or AZ is at capacity, you can deploy new CELLs in available locations with minimal disruption, maintaining business continuity and agility even in constrained environments.
9+
510
This repository provides a production-grade, CAF/WAF-compliant Azure reference implementation for organizations seeking secure, scalable, and automated SaaS solutions. Designed for both IT leaders and developers, it enables rapid onboarding, compliance, and operational excellence.
611

712
![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)

docs/ARCHITECTURE_GUIDE.md

Lines changed: 37 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -49,34 +49,51 @@
4949

5050
## 🏗️ Architecture Overview
5151

52-
This solution implements a sophisticated **GEO → Region → CELL** hierarchy using Azure's stamps pattern for maximum scalability, isolation, and global distribution.
5352

54-
### 🌍 **Visual: Global Architecture Hierarchy**
53+
This solution implements a sophisticated **GEO → Region → Availability Zone → CELL** hierarchy using Azure's stamps pattern for maximum scalability, isolation, and global distribution. Availability Zones (AZs) are a critical layer for high availability (HA) and disaster recovery (DR), allowing each CELL to be deployed in 0, 1, 2, or 3 zones depending on business and SLA requirements.
54+
55+
> **Global Capacity Management & Cloud Supply Constraints**
56+
>
57+
> All major cloud providers occasionally face regional or zone capacity limits for compute and storage resources, due to demand surges, supply chain disruptions, or quota exhaustion. The Stamps Pattern architecture is designed to address this reality: its modular, zone-aware, and multi-region CELL approach enables organizations to deploy new workloads or scale existing ones in any available region or zone, minimizing business disruption. If a preferred region or AZ is at capacity, new CELLs can be provisioned elsewhere with minimal reconfiguration, ensuring business continuity and operational agility even in constrained environments.
58+
59+
### 🌍 **Visual: Global Architecture Hierarchy with Availability Zones**
5560

5661
```mermaid
5762
graph TB
58-
subgraph " Global Layer"
63+
subgraph "🌐 Global Layer"
5964
FD[Azure Front Door<br/>Global Load Balancing]
6065
TM[Traffic Manager<br/>DNS-based Routing]
6166
GF[Global Functions<br/>Tenant Management]
6267
end
6368
64-
subgraph "🌎 GEO: North America"
69+
subgraph " GEO: North America"
6570
subgraph "🏢 Region: East US"
66-
AG1[App Gateway<br/>Regional Security]
67-
C1[CELL-001<br/>Shared: 50 tenants]
68-
C2[CELL-002<br/>Dedicated: 1 tenant]
71+
subgraph "🗂️ AZ 1"
72+
AG1[App Gateway<br/>Zone-Redundant]
73+
C1[CELL-001<br/>Shared: 50 tenants]
74+
C2[CELL-002<br/>Dedicated: 1 tenant]
75+
end
76+
subgraph "🗂️ AZ 2"
77+
C3[CELL-003<br/>Shared: 30 tenants]
78+
end
6979
end
7080
subgraph "🏢 Region: West US"
71-
AG2[App Gateway<br/>Regional Security]
72-
C3[CELL-003<br/>Shared: 75 tenants]
81+
subgraph "🗂️ AZ 1"
82+
AG2[App Gateway<br/>Zone-Redundant]
83+
C4[CELL-004<br/>Shared: 75 tenants]
84+
end
85+
subgraph "🗂️ AZ 2"
86+
C5[CELL-005<br/>Dedicated: 1 tenant]
87+
end
7388
end
7489
end
7590
7691
subgraph "🌍 GEO: Europe"
7792
subgraph "🏢 Region: West Europe"
78-
AG3[App Gateway<br/>Regional Security]
79-
C4[CELL-004<br/>Enterprise GDPR]
93+
subgraph "🗂️ AZ 1"
94+
AG3[App Gateway<br/>Zone-Redundant]
95+
C6[CELL-006<br/>Enterprise GDPR]
96+
end
8097
end
8198
end
8299
@@ -86,8 +103,9 @@ graph TB
86103
87104
AG1 --> C1
88105
AG1 --> C2
89-
AG2 --> C3
90-
AG3 --> C4
106+
AG2 --> C4
107+
AG2 --> C5
108+
AG3 --> C6
91109
```
92110

93111
### �🎯 **Key Design Principles (Explained)**
@@ -289,7 +307,12 @@ graph TD
289307
- **Response**: Traffic Manager routes to backup region
290308
- **Recovery**: Geo-disaster recovery procedures
291309

292-
This solution implements a sophisticated **GEO → Region → CELL** hierarchy using Azure's stamps pattern for maximum scalability, isolation, and global distribution.
310+
311+
**Why Availability Zones Matter:**
312+
- **High Availability (HA):** Deploying CELLs across multiple AZs protects against datacenter failures.
313+
- **Disaster Recovery (DR):** AZs enable rapid failover and business continuity.
314+
- **Flexible Cost/SLA:** You can choose the number of AZs per CELL to balance cost and durability for each tenant or workload.
315+
293316

294317
### 🌍 **Hierarchical Structure with Availability Zones**
295318

docs/CAF_WAF_COMPLIANCE_ANALYSIS.md

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -428,20 +428,22 @@ lifecycleRules: [
428428
- Step-by-step deployment guides for different tenancy models
429429
- Operational runbooks and troubleshooting guides
430430
431+
431432
### ✅ **Ready** - Score: 92/100
432433
✅ **Strong Foundation**
433434
- **Naming Conventions**: Fully compliant with CAF standards
434-
- **Resource Organization**: Clear hierarchy (GEO → Region → CELL)
435-
- **Tagging Strategy**: Comprehensive tag implementation
435+
- **Resource Organization**: Clear hierarchy (**GEO → Region → Availability Zone → CELL**)
436+
- **Tagging Strategy**: Comprehensive tag implementation, including zone count for all CELL-level resources
436437
- **Governance**: Parameterized templates for organization reusability
437438
438439
**Evidence:**
439440
```bicep
440-
// CAF-Compliant Naming Examples
441+
// CAF-Compliant Naming Examples (with zone awareness)
441442
'rg-stamps-eus-prod' // Resource Group
442-
'ca-shared-smb-z3-eus-prod' // Container App
443-
'kv-us-eus-prod' // Key Vault
443+
'ca-shared-smb-z3-eus-prod' // Container App (CELL, 3 zones)
444+
'kv-us-eus-prod' // Key Vault (zone-redundant by default)
444445
'law-stamps-eus-prod' // Log Analytics
446+
// New hierarchy: GEO → Region → Availability Zone → CELL
445447
```
446448

447449
### 🚀 **Adopt** - Score: 90/100
@@ -557,15 +559,17 @@ resource diagnosticSettings 'Microsoft.Insights/diagnosticSettings@2021-05-01-pr
557559

558560
### 🔧 **Reliability Pillar** - Score: 89/100
559561

562+
560563
#### **Reliability Features:**
561-
- **Availability Zones**: Configurable 0-3 zone deployment
564+
- **Availability Zones**: Configurable 0-3 zone deployment per CELL (GEO → Region → AZ → CELL)
562565
- **Cross-Region**: Multi-geography replication
563566
- **Health Checks**: Front Door health probes + Application Gateway probes
564-
- **SLA Targets**: Documented SLA tiers (99.95%, 99.99%)
567+
- **SLA Targets**: Documented SLA tiers (99.95%, 99.99%) based on zone count
565568
- **ENHANCED**: Automated backup strategies with long-term retention
566569
- **ENHANCED**: Cosmos DB continuous backup (7-day PITR)
567570
- **ENHANCED**: SQL Database geo-zone backup redundancy
568571

572+
569573
#### **Reliability Improvements COMPLETED:**
570574
```bicep
571575
// IMPLEMENTED: SQL Database backup optimization
@@ -590,6 +594,10 @@ backupPolicy: {
590594
properties: {
591595
requestedBackupStorageRedundancy: 'GeoZone'
592596
}
597+
598+
// Example: CELL-level resource with explicit zone count in name/tag
599+
'ca-shared-smb-z3-eus-prod' // Container App, 3 zones
600+
// Hierarchy: GEO → Region → Availability Zone → CELL
593601
```
594602

595603
### 💰 **Cost Optimization** - Score: 87/100
@@ -926,6 +934,7 @@ resource dashboard 'Microsoft.Portal/dashboards@2020-09-01-preview' = {
926934

927935
---
928936

937+
929938
## 🔗 Related Guides
930939

931940
- [Architecture Guide](./ARCHITECTURE_GUIDE.md)
@@ -934,7 +943,7 @@ resource dashboard 'Microsoft.Portal/dashboards@2020-09-01-preview' = {
934943
- [Operations Guide](./OPERATIONS_GUIDE.md)
935944
- [Cost Optimization Guide](./COST_OPTIMIZATION_GUIDE.md)
936945
- [Developer Security Guide](./DEVELOPER_SECURITY_GUIDE.md)
937-
- [Naming Conventions](./NAMING_CONVENTIONS.md)
946+
- [Naming Conventions](./NAMING_CONVENTIONS.md) — see for full details on the **GEO → Region → Availability Zone → CELL** hierarchy and zone-aware naming/tagging
938947
- [Parameterization Guide](./PARAMETERIZATION_GUIDE.md)
939948
- [Glossary](./GLOSSARY.md)
940949
- [Known Issues](./KNOWN_ISSUES.md)
@@ -947,6 +956,14 @@ resource dashboard 'Microsoft.Portal/dashboards@2020-09-01-preview' = {
947956

948957
---
949958

959+
960+
---
961+
962+
### **Why Availability Zones Matter in the Stamps Pattern**
963+
- **High Availability (HA):** Deploying CELLs across multiple AZs protects against datacenter failures and supports strict SLA targets.
964+
- **Disaster Recovery (DR):** AZs enable rapid failover and business continuity for each CELL.
965+
- **Flexible Cost/SLA:** You can choose the number of AZs per CELL to balance cost and durability for each tenant or workload, supporting both enterprise and cost-sensitive scenarios.
966+
950967
*Assessment completed on: August 2, 2025*
951968
*Assessor: AI Architecture Review Agent*
952969
*Version: 1.0*

docs/COST_OPTIMIZATION_GUIDE.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,44 @@ Cost optimization in the Azure Stamps Pattern requires understanding the **total
5757

5858
---
5959

60+
61+
## 🏗️ Zone Flexibility: Cost, Durability, and SLA Options
62+
63+
The Azure Stamps Pattern is built on a four-tier hierarchy: **GEO → Region → Availability Zone → CELL**. This enables highly flexible deployment options for each CELL, allowing you to optimize for cost, durability, and business requirements at a granular level.
64+
65+
- **No Zones (z0):** No zone redundancy. Lowest cost, suitable for dev/test or non-critical workloads. Standard durability and SLA.
66+
- **1 Zone (z1):** Single zone deployment, standard SLA, moderate cost.
67+
- **2 Zones (z2):** High availability with failover across two AZs, 99.95% SLA, increased cost (+20%).
68+
- **3 Zones (z3):** Maximum durability and resilience with three AZs, 99.99% SLA, highest cost (+40%).
69+
70+
**Key Points:**
71+
- You can mix and match zone configurations per CELL to right-size cost, durability, and SLA for every tenant or workload.
72+
- Zone-aware naming and tagging (e.g., `ca-shared-smb-z3-eus-prod`) help track and manage these options and support compliance/auditing.
73+
- Higher zone count increases cost but provides stronger SLAs, disaster recovery, and business continuity.
74+
75+
76+
**Why Availability Zones Matter:**
77+
- **High Availability (HA):** Deploying CELLs across multiple AZs protects against datacenter failures and supports strict SLA targets.
78+
- **Disaster Recovery (DR):** AZs enable rapid failover and business continuity for each CELL.
79+
- **Flexible Cost/SLA:** Choose the number of AZs per CELL to balance cost and durability for each tenant or workload, supporting both enterprise and cost-sensitive scenarios.
80+
81+
> **Global Capacity Management & Cloud Supply Constraints**
82+
>
83+
> Cloud providers sometimes face regional or zone capacity limits for compute and storage due to demand spikes, supply chain issues, or quota exhaustion. The Stamps Pattern’s modular, zone-aware, and multi-region CELL design gives you more options to mitigate these challenges: if a region or AZ is at capacity, you can deploy new CELLs in available locations with minimal disruption, maintaining business continuity and agility even in constrained environments.
84+
85+
**Example Table:**
86+
87+
| Zone Config | Use Case | SLA Target | Cost Impact |
88+
|-------------|--------------------------|------------|-------------|
89+
| z0 (No Zones) | Dev/Test, non-critical | Standard | Lowest |
90+
| z1 (1 Zone) | Standard prod workloads | Standard | Baseline |
91+
| z2 (2 Zones) | HA, regulated workloads | 99.95% | +20% |
92+
| z3 (3 Zones) | Mission-critical, DR | 99.99% | +40% |
93+
94+
**Tip:** For cost-sensitive tenants, start with z0/z1. For enterprise or regulated tenants, use z2/z3 for higher durability and compliance.
95+
96+
This flexibility is a core advantage of the Stamps Pattern—enabling you to right-size cost and resilience for every business scenario.
97+
6098
## 📊 Deployment Cost Analysis
6199

62100
Understanding the cost implications of different deployment scenarios is crucial for making informed architectural decisions. The following analysis compares various deployment patterns across different scales and tenancy models.

docs/GLOSSARY.md

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,22 +54,36 @@ An Azure architectural pattern that deploys identical "stamps" of infrastructure
5454
- **Benefits**: Predictable performance, easier troubleshooting, horizontal scaling
5555
- **Example**: Netflix uses a similar pattern to serve different regions with identical infrastructure
5656

57-
### **GEO → Region → CELL Hierarchy**
58-
The three-tier architecture structure of the Stamps Pattern:
57+
58+
### **GEO → Region → Availability Zone → CELL Hierarchy**
59+
The four-tier architecture structure of the Stamps Pattern:
5960
- **GEO**: Geographic area (e.g., North America, Europe) - highest level routing
6061
- **Region**: Azure region within a GEO (e.g., East US, West Europe) - regional services
61-
- **CELL**: Individual application instance within a region - tenant hosting
62+
- **Availability Zone (AZ)**: Physically separate datacenters within a region, providing high availability and fault tolerance. Each CELL can be deployed in 0, 1, 2, or 3 zones depending on business and SLA requirements.
63+
- **CELL**: Individual application instance within a zone - tenant hosting and logical isolation
6264

63-
**Visual Representation**:
65+
**Visual Representation:**
6466
```
6567
🌍 North America GEO
6668
├── 🏢 East US Region
67-
│ ├── 🏠 CELL-001 (Shared: 50 tenants)
68-
│ └── 🏠 CELL-002 (Dedicated: 1 enterprise tenant)
69+
│ ├── 🗂️ AZ 1
70+
│ │ ├── 🏠 CELL-001 (Shared: 50 tenants)
71+
│ │ └── 🏠 CELL-002 (Dedicated: 1 enterprise tenant)
72+
│ └── 🗂️ AZ 2
73+
│ └── 🏠 CELL-003 (Shared: 30 tenants)
6974
└── 🏢 West US Region
70-
└── 🏠 CELL-003 (Shared: 75 tenants)
75+
├── 🗂️ AZ 1
76+
│ └── 🏠 CELL-004 (Shared: 75 tenants)
77+
└── 🗂️ AZ 2
78+
└── 🏠 CELL-005 (Dedicated: 1 enterprise tenant)
7179
```
7280

81+
**Why Availability Zones Matter:**
82+
- **High Availability (HA):** Deploying CELLs across multiple AZs protects against datacenter failures.
83+
- **Disaster Recovery (DR):** AZs enable rapid failover and business continuity.
84+
- **Flexible Cost/SLA:** You can choose the number of AZs per CELL to balance cost and durability for each tenant or workload.
85+
86+
7387
### **CELL (Compute Environment for Logical Isolation)**
7488
An isolated application instance that hosts one or more tenants.
7589
- **Shared CELL**: Multi-tenant, cost-optimized (10-100 tenants per CELL)

docs/NAMING_CONVENTIONS.md

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151

5252
This guide defines the standardized naming conventions for the Azure Stamps Pattern implementation to ensure consistency, clarity, and Azure best practices compliance.
5353

54-
> **📝 Recent Updates**: This guide was enhanced to address naming consistency issues, particularly ensuring resource groups include Azure region abbreviations and storage accounts stay within the 24-character limit. All deployment scripts and templates have been updated to follow these standards.
54+
> **📝 Recent Updates**: This guide now reflects the four-tier hierarchy: **GEO → Region → Availability Zone → CELL**. All CELL-level resources should include zone information in their names and tags to support high availability (HA), disaster recovery (DR), and cost/SLA flexibility.
5555
5656
## 🌍 **Resource Group Naming**
5757

@@ -115,10 +115,10 @@ This guide defines the standardized naming conventions for the Azure Stamps Patt
115115
```
116116

117117
**Zone Count Convention**:
118-
- `z0`: Single zone (development/testing)
118+
- `z0`: No zone (development/testing, lowest cost)
119119
- `z1`: Single zone deployment (standard)
120-
- `z2`: Two-zone deployment (99.95% SLA)
121-
- `z3`: Three-zone deployment (99.99% SLA)
120+
- `z2`: Two-zone deployment (99.95% SLA, HA)
121+
- `z3`: Three-zone deployment (99.99% SLA, maximum resilience)
122122

123123
### **Data Resources**
124124
```bicep
@@ -192,8 +192,11 @@ This guide defines the standardized naming conventions for the Azure Stamps Patt
192192
// Example: acruseusprod
193193
```
194194

195+
195196
## 🔄 **Zone-Aware Naming Considerations**
196197

198+
### **Hierarchy:** GEO → Region → Availability Zone → CELL
199+
197200
### **When to Include Zone Information**
198201
-**CELL Resources**: All CELL-level resources should include zone count (ca-, sqldb-, cosmos-)
199202
-**Application Services**: Container Apps, Function Apps that are CELL-specific
@@ -204,11 +207,16 @@ This guide defines the standardized naming conventions for the Azure Stamps Patt
204207
### **Zone Count Mapping**
205208
| Zone Config | Naming | Use Case | SLA | Cost Impact |
206209
|-------------|--------|----------|-----|-------------|
207-
| **0 Zones** | `z0` | Development, testing | Standard | Baseline |
210+
| **0 Zones** | `z0` | No zone (dev/test, lowest cost) | Standard | Baseline |
208211
| **1 Zone** | `z1` | Single zone deployment | Standard | Baseline |
209212
| **2 Zones** | `z2` | Basic HA with failover | 99.95% | +20% |
210213
| **3 Zones** | `z3` | Maximum resilience | 99.99% | +40% |
211214

215+
### **Why Availability Zones Matter**
216+
- **High Availability (HA):** Deploying CELLs across multiple AZs protects against datacenter failures.
217+
- **Disaster Recovery (DR):** AZs enable rapid failover and business continuity.
218+
- **Flexible Cost/SLA:** You can choose the number of AZs per CELL to balance cost and durability for each tenant or workload.
219+
212220
### **Examples by Tenancy Model**
213221
```bicep
214222
// Shared Tenancy Examples

0 commit comments

Comments
 (0)