ITIL-Style Service Design for Azure Service Catalogue
Phase 1: Service Strategy Alignment
- Business Requirements Analysis
- Identify business outcomes and drivers
- Conduct stakeholder workshops
- Map business processes to potential Azure services
- Define service value propositions
Phase 2: Service Design Processes
Step 1: Service Catalogue Structure Definition
- Categorization Framework
- Infrastructure-as-a-Service (IaaS) category
- Platform-as-a-Service (PaaS) category
- Software-as-a-Service (SaaS) category
- Management & Governance category
- Security & Compliance category
- Service Attributes Definition
- Service name and ID (following naming conventions)
- Service description and business purpose
- Service owner and technical contact
- Service classification (Critical, High, Medium, Low)
- Cost models and chargeback/showback information
Step 2: Service Components Identification
- Azure Resource Components
- Compute resources (VMs, App Services, AKS, Functions)
- Storage services (Blob, Files, Disk, Archive)
- Networking (VNet, Load Balancer, VPN Gateway)
- Database services (SQL Database, Cosmos DB, Redis Cache)
- Identity & Access Management (Azure AD, RBAC, PIM)
- Operational Components
- Monitoring & alerting (Azure Monitor, Application Insights)
- Backup & disaster recovery solutions
- Security controls (NSGs, Azure Firewall, Security Center)
- Governance tools (Azure Policy, Blueprints, Management Groups)
- Cost management tools (Cost Management, Budgets)
- Support Components
- Service desk integration
- Technical support levels (L1-L3)
- Escalation procedures
- Knowledge base articles
- Automation runbooks
Step 3: Service Packaging
- Tiered Service Packages
- Basic Tier: Standardized, low-cost offerings
- Limited regions, basic SLA, shared resources
- Example: Development/Test environments
- Standard Tier: Balanced cost/performance
- Medium SLA, multiple regions, automated deployment
- Example: Production web applications
- Premium Tier: High-performance, fully managed
- Premium SLA, multi-region deployment, 24/7 support
- Example: Business-critical applications with DR
- Basic Tier: Standardized, low-cost offerings
- Package Components per Tier
- Resource quotas and limits
- Performance characteristics
- Availability zones/regions
- Backup and retention policies
- Security compliance levels
Step 4: Service Level Design
- Technical Specifications
- Performance metrics (response time, throughput)
- Availability targets (uptime percentages)
- Capacity thresholds and scaling parameters
- Security baselines and compliance requirements
- Service Level Agreements (SLAs)
- Azure platform SLAs integration
- Composite SLA calculations
- Service credits and compensation policies
- Measurement and reporting methods
Step 5: Process Integration Design
- Service Transition Integration
- Request fulfillment processes
- Change management procedures
- Release and deployment management
- Service Operation Integration
- Incident management workflows
- Problem management procedures
- Access management processes
- Event management configuration
Step 6: Financial Design
- Cost Models
- Consumption-based pricing
- Reserved instance options
- Enterprise Agreement integration
- Chargeback/showback mechanisms
- Budget Management
- Budget alerts and notifications
- Cost allocation tagging strategy
- Optimization recommendations process
Phase 3: Final Service Offering Definition
Complete Service Specification
- Service Description Document
- Business service name and technical name
- Service outcomes and value proposition
- Technical architecture diagrams
- Dependencies on other services
- Service Design Package (SDP)
- Requirements and constraints
- Service and operational level agreements
- Design topologies and architectures
- Acceptance criteria and testing plans
- Transition planning information
Catalogue Presentation Layer
- User-Facing Service Portal
- Service request interface
- Self-service provisioning workflows
- Service status dashboard
- Cost reporting and analytics
- Technical Implementation
- Azure Portal customization
- Azure Marketplace private offers
- ARM templates/Blueprints for deployment
- Azure DevOps integration for pipeline deployments
Operational Readiness
- Support Model Definition
- RACI matrix for service components
- Support hours and response times
- Escalation paths and procedures
- Monitoring & Reporting
- KPI definition and measurement
- Regular service reviews schedule
- Continuous improvement feedback loop
Phase 4: Implementation Roadmap
- Pilot Services: Launch 2-3 high-demand services
- Feedback Incorporation: Refine based on user feedback
- Full Catalogue Rollout: Phased deployment of all services
- Continuous Improvement: Regular review and optimization cycles
Key Success Factors
- Executive sponsorship and stakeholder engagement
- Alignment with Azure Well-Architected Framework
- Integration with existing ITIL processes
- Clear communication and training programs
- Iterative approach with regular feedback loops
This design approach ensures that Azure services are presented as business-aligned IT services rather than technical components, following ITIL principles while leveraging Azure’s capabilities effectively.
This response is AI-generated, for reference only.
how to design patterns for an Azure service catalogue to limit the options for VM requested by a workload landing zone subscription
Azure Service Catalogue Design Patterns for VM Standardization
- Foundational Governance Patterns
Policy-Driven Constraint Pattern
json
{
“patternName”: “Policy-Driven VM Constraints”,
“implementation”: “Azure Policy assignments at Landing Zone scope”,
“keyPolicies”: [
{
“policy”: “Allowed virtual machine SKUs”,
“scope”: “Workload Landing Zone”,
“constraints”: [“Standard_D2s_v3”, “Standard_D4s_v3”, “Standard_E4s_v3”]
},
{
“policy”: “Allowed VM image publishers”,
“scope”: “Workload Landing Zone”,
“constraints”: [“MicrosoftWindowsServer”, “Canonical”, “RedHat”]
}
]
}
Service Catalogue Tier Pattern
json
{
“tiers”: {
“development”: {
“allowedSKUs”: [“Standard_B2s”, “Standard_B2ms”],
“maxCores”: 4,
“maxMemory”: “16GB”,
“storageType”: “StandardSSD_LRS”,
“regions”: [“primaryRegion”]
},
“production”: {
“allowedSKUs”: [“Standard_D4s_v3”, “Standard_E4s_v3”],
“maxCores”: 8,
“maxMemory”: “32GB”,
“storageType”: “Premium_LRS”,
“regions”: [“primaryRegion”, “drRegion”]
}
}
}
- Technical Implementation Patterns
ARM Template Blueprint Pattern
json
{
“blueprintName”: “Standard-VM-Deployment”,
“artifacts”: [
{
“type”: “template”,
“reference”: “vm-template.json”,
“parameters”: {
“vmSize”: {
“allowedValues”: [“Standard_D2s_v3”, “Standard_D4s_v3”],
“defaultValue”: “Standard_D2s_v3”
},
“osType”: {
“allowedValues”: [“Windows”, “Linux”],
“defaultValue”: “Windows”
}
}
},
{
“type”: “policyAssignment”,
“reference”: “vm-naming-convention”
}
]
}
VM Image Gallery Pattern
text
VM Service Catalogue via Shared Image Gallery:
├── Base Images (Standardized)
│ ├── Windows-Server-2022-Base
│ ├── Ubuntu-20.04-LTS-Base
│ └── RHEL-8-Base
├── Application Specific Images
│ ├── Web-Server-Image
│ ├── App-Server-Image
│ └── DB-Server-Image
└── Compliance Images
├── PCI-Compliant-Windows
└── HIPAA-Compliant-Linux
- Request Fulfillment Patterns
Service Portal Catalog Item Pattern
json
{
“catalogItem”: “Virtual-Machine-Request”,
“workflow”: {
“step1”: “Select-Workload-Tier”,
“step2”: “Choose-Predefined-Size”,
“step3”: “Select-Approved-Image”,
“step4”: “Configure-Standard-Networking”,
“step5”: “Add-Standard-Monitoring”
},
“sizeOptions”: [
{
“name”: “Small (Dev/Test)”,
“sku”: “Standard_D2s_v3”,
“cores”: 2,
“memory”: “8GB”,
“costEstimate”: “$100/month”
},
{
“name”: “Medium (Production)”,
“sku”: “Standard_D4s_v3”,
“cores”: 4,
“memory”: “16GB”,
“costEstimate”: “$200/month”
}
]
}
Workload-Based Sizing Pattern
text
Application Profile → VM Sizing Matrix:
┌─────────────────┬─────────────────────┬──────────────────┐
│ Workload Type │ Recommended SKU │ Max Instances │
├─────────────────┼─────────────────────┼──────────────────┤
│ Web Server │ Standard_D2s_v3 │ Auto-scale: 2-10 │
│ Application │ Standard_D4s_v3 │ Auto-scale: 2-8 │
│ Database │ Standard_E4s_v3 │ Fixed: 2 (HA) │
│ Jump Box │ Standard_B2s │ Fixed: 1 │
└─────────────────┴─────────────────────┴──────────────────┘
- Policy Enforcement Patterns
Multi-Layer Constraint Pattern
powershell
# 1. Management Group Level Policies
New-AzPolicyDefinition -Name “Global-VM-SKU-Restrictions”
# 2. Landing Zone Assignment
New-AzPolicyAssignment `
-Name “WorkloadZone-VM-Constraints” `
-PolicyDefinition $policy `
-Scope “/subscriptions/workload-subscription” `
-ParameterObject @{
“listOfAllowedSKUs” = @(“Standard_D2s_v3”, “Standard_D4s_v3”)
}
# 3. Resource Group Tag-Based Policies
New-AzPolicyAssignment `
-Name “Env-Specific-VM-Sizing” `
-Scope “/subscriptions/workload-subscription/resourceGroups/prod-*” `
-PolicyDefinition $prodVMpolicy
Tag-Based Governance Pattern
text
VM Request Flow with Tag Enforcement:
- User requests VM via Service Catalogue
- System applies mandatory tags:
– workloadType: (web, app, db, other)
– environment: (dev, test, prod)
– costCenter: (required for chargeback)
- Policies evaluate tags to apply constraints:
– If environment=dev → Limit to B-series SKUs
– If workloadType=db → Require premium storage
– If costCenter=IT → Higher quota limits
- Deployment Automation Patterns
Pipeline-Driven Deployment Pattern
yaml
# Azure DevOps Pipeline Template
stages:
– stage: ValidateVMRequest
jobs:
– job: CheckApproval
steps:
– task: ValidateVMConfiguration
inputs:
allowedSizes: “Standard_D2s_v3,Standard_D4s_v3”
allowedRegions: “eastus,westeurope”
– stage: DeployVM
jobs:
– job: DeployStandardVM
steps:
– task: AzureResourceManagerTemplateDeployment@3
inputs:
templateLocation: ‘URL of the file’
templateLink: ‘https://catalogue/standard-vm-template.json’
overrideParameters: >
-vmSize $(requestedSize)
-imageReference $(approvedImage)
Infrastructure-as-Code Template Pattern
json
{
“$schema”: “https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#”,
“contentVersion”: “1.0.0.0”,
“parameters”: {
“vmSize”: {
“type”: “string”,
“defaultValue”: “Standard_D2s_v3”,
“allowedValues”: [
“Standard_D2s_v3”,
“Standard_D4s_v3”,
“Standard_E4s_v3”
]
},
“environmentType”: {
“type”: “string”,
“allowedValues”: [“dev”, “test”, “prod”],
“metadata”: {
“description”: “Environment type dictates available SKUs”
}
}
},
“variables”: {
“skuMap”: {
“dev”: “Standard_D2s_v3”,
“prod”: “Standard_D4s_v3”
}
}
}
- Service Catalogue UI Patterns
Guided Selection Pattern
text
Service Catalogue VM Request Interface:
- Select Workload Purpose:
○ Web Server ○ Application Server ○ Database ○ Other
- Based on selection, show only applicable sizes:
– Web Server: Standard_D2s_v3, Standard_D4s_v3
– Database: Standard_E4s_v3, Standard_E8s_v3
- Show estimated costs and quotas in real-time
- Enforce approval workflow for non-standard requests
Quota-Based Visibility Pattern
json
{
“userRole”: “ApplicationTeam”,
“visibleSKUs”: [“Standard_D2s_v3”, “Standard_D4s_v3”],
“quotaLimits”: {
“totalCores”: 16,
“totalMemoryGB”: 64,
“totalVMs”: 10
},
“realTimeValidation”: true,
“approvalRequiredFor”: [“Standard_E4s_v3”, “Any GPU SKU”]
}
- Exception Handling Pattern
Deviation Request Workflow
text
Standard Exception Process:
- User submits deviation request via Service Catalogue
- Automated checks:
– Cost impact analysis
– Technical justification required
– Security review triggered for non-standard configs
- Approval workflow:
– Technical Architect approval
– Cost Center approval (if >20% over standard)
– Security Team approval (if changing security baseline)
- If approved:
– Temporary policy exemption granted
– Additional monitoring applied
– Scheduled review date set
Implementation Roadmap
Phase 1: Foundational Constraints
- Implement Azure Policy for SKU restrictions
- Create standardized ARM templates
- Define 3-4 standard VM sizes
Phase 2: Service Catalogue Integration
- Build Service Portal with guided selection
- Implement quota management
- Create approval workflows
Phase 3: Advanced Governance
- Implement tag-based policies
- Add cost control mechanisms
- Deploy automated compliance scanning
Phase 4: Optimization
- Analyze usage patterns
- Right-size recommendations
- Continuous improvement cycle
Key Success Metrics
- Reduction in non-standard VM requests (>80% compliance)
- Decrease in approval cycle time (<4 hours for standard requests)
- Cost optimization through right-sizing (15-25% savings)
- Improved security posture through standardized configurations
This pattern-based approach provides flexibility while maintaining governance, allowing workload teams to move quickly within defined guardrails while ensuring compliance, security, and cost control.
show me the above again, using text descriptions instead of codes
Azure Service Catalogue Design Patterns for VM Standardization
- Foundational Governance Patterns
Policy-Driven Constraint Pattern
This pattern uses Azure Policy to enforce VM constraints at the landing zone level. Policies are assigned directly to workload subscriptions to control what can be deployed.
- Allowed VM SKUs Policy: Restricts VM sizes to a pre-approved list (e.g., only Standard_D2s_v3, Standard_D4s_v3, Standard_E4s_v3)
- Allowed VM Image Publishers Policy: Limits operating systems to approved vendors (e.g., Microsoft Windows Server, Canonical for Ubuntu, RedHat)
- Region Restrictions Policy: Controls which Azure regions can be used for VM deployments
- Storage Type Restrictions: Enforces use of specific disk types (Premium SSD vs Standard SSD)
These policies act as guardrails, preventing deployment of non-standard configurations while still allowing flexibility within the approved boundaries.
Service Catalogue Tier Pattern
This pattern organizes VMs into standardized tiers based on their purpose and requirements, making selection easier for users while maintaining control.
- Development Tier: For non-production environments
- Limited to B-series burstable VMs (Standard_B2s, Standard_B2ms)
- Maximum 4 vCPUs and 16GB RAM
- Standard SSD storage only
- Single region deployment
- Production Tier: For business-critical workloads
- D-series or E-series VMs (Standard_D4s_v3, Standard_E4s_v3)
- Up to 8 vCPUs and 32GB RAM
- Premium SSD storage required
- Multi-region deployment capability
- Higher availability requirements
Each tier comes with predefined configurations, SLAs, and cost profiles, simplifying the selection process for users.
- Technical Implementation Patterns
ARM Template Blueprint Pattern
This pattern provides pre-approved deployment templates that encapsulate both the infrastructure and compliance requirements.
- Standard VM Blueprint: A packaged template that includes:
- Pre-approved VM sizes as dropdown selections
- Mandatory monitoring agent installation
- Standard networking configuration
- Required security controls
- Compliance tagging
- Application-Specific Blueprints: Templates tailored for common workloads:
- Web Server Blueprint with load balancer and auto-scaling
- Application Server Blueprint with availability sets
- Database Server Blueprint with premium storage and backup
Blueprints ensure consistent deployments while hiding complexity from end users.
VM Image Gallery Pattern
This pattern uses Azure Shared Image Gallery to provide standardized, pre-configured VM images.
- Base Operating System Images: Clean, patched versions of approved OS builds
- Application-Ready Images: Pre-configured images with common software stacks (web servers, application servers, databases)
- Compliance-Built Images: Images hardened to meet specific regulatory requirements (PCI-DSS, HIPAA)
- Department-Specific Images: Customized images for different business units
This ensures all deployed VMs start from a known, secure, and compliant baseline.
- Request Fulfillment Patterns
Service Portal Catalog Item Pattern
This pattern presents VMs through a guided, step-by-step request process in the service portal.
- Workflow-Driven Selection: Users progress through a structured decision tree:
- Select workload purpose (web server, application server, database)
- Choose environment type (development, test, production)
- Pick from pre-approved size options
- Select from approved operating system images
- Configure standard networking options
- Simplified Size Options: Instead of technical SKU names, users see business-friendly descriptions:
- “Small Web Server (2 CPU, 8GB RAM) – $100/month”
- “Medium Application Server (4 CPU, 16GB RAM) – $200/month”
- “Large Database Server (8 CPU, 32GB RAM) – $400/month”
- Real-time Validation: The portal validates requests against quotas and policies before submission.
Workload-Based Sizing Pattern
This pattern maps VM sizing to specific workload types rather than allowing open selection.
- Web Server Profile: Optimized for high network throughput and moderate compute
- Recommended: Standard_D2s_v3 or Standard_D4s_v3
- Auto-scaling enabled by default
- Medium availability requirements
- Application Server Profile: Balanced compute and memory
- Recommended: Standard_D4s_v3 or Standard_E4s_v3
- Moderate to high availability requirements
- Performance monitoring enabled
- Database Server Profile: High memory and storage performance
- Recommended: Standard_E4s_v3 or Standard_E8s_v3
- Premium storage required
- High availability configuration mandatory
- Jump Box/Bastion Profile: Minimal resources for management access
- Recommended: Standard_B2s
- Fixed size, no scaling
- Enhanced security monitoring
Each profile includes not just VM size but also associated configuration like storage, networking, and monitoring.
- Policy Enforcement Patterns
Multi-Layer Constraint Pattern
This pattern applies governance at multiple levels for defense in depth.
- Management Group Level: Broad restrictions applied to all subscriptions
- Block obviously inappropriate SKUs (extremely large or specialized VMs)
- Enforce mandatory tagging
- Apply basic security requirements
- Landing Zone Level: Specific constraints for workload types
- Business unit-specific SKU lists
- Environment-based restrictions (dev vs prod)
- Cost center validation
- Resource Group Level: Fine-grained controls based on purpose
- Production resource groups get higher availability requirements
- Development resource groups get cost-optimized configurations
- Project-based quotas and limits
This layered approach provides flexibility where needed while maintaining strong governance.
Tag-Based Governance Pattern
This pattern uses Azure tags to dynamically apply policies and controls.
- Mandatory Tag Enforcement: VMs cannot be created without required tags:
- workloadType (web, app, db, other)
- environment (dev, test, prod, dr)
- costCenter (for chargeback)
- applicationName (for service mapping)
- Dynamic Policy Application: Policies evaluate tags to apply appropriate controls:
- If environment=dev → Apply development policies (lower security, cost focus)
- If workloadType=db → Apply database policies (premium storage, enhanced backup)
- If costCenter=IT → Apply higher quota limits
- Automated Tag Inheritance: Tags applied at resource group level automatically propagate to all contained VMs.
- Deployment Automation Patterns
Pipeline-Driven Deployment Pattern
This pattern uses CI/CD pipelines to control and validate VM deployments.
- Pre-Deployment Validation: Before any resources are created:
- Check requested configuration against policy
- Validate against user quotas
- Verify budget availability
- Confirm approval status if required
- Standardized Deployment Process: All VMs deployed through the same pipeline:
- Use approved ARM templates only
- Apply mandatory configuration (monitoring, security, backup)
- Execute compliance checks
- Generate deployment documentation
- Post-Deployment Configuration: Automated setup after VM creation:
- Join to domain (if required)
- Install required agents and software
- Apply security baselines
- Configure backup schedules
This ensures consistency and compliance regardless of who initiates the deployment.
Infrastructure-as-Code Template Pattern
This pattern provides version-controlled, reusable templates for VM deployment.
- Parameterized Templates: Templates with controlled input parameters:
- Dropdown selection for VM size from allowed list
- Predefined network configurations
- Standardized security settings
- Approved extensions and monitoring
- Environment-Specific Templates: Different templates for different purposes:
- Development template with cost-optimized defaults
- Production template with high availability and performance
- Disaster recovery template with cross-region replication
- Template Library: Central repository of approved templates:
- Version controlled and change managed
- Tested and validated before release
- Documented with usage guidelines
Users select from available templates rather than building configurations from scratch.
- Service Catalogue UI Patterns
Guided Selection Pattern
This pattern uses intelligent forms to guide users to appropriate choices.
- Purpose-Driven Interface: Users first select what they need the VM for:
- “I need a web server for our customer portal”
- “I need a database server for our new application”
- “I need a development environment for testing”
- Progressive Disclosure: Based on initial selection, only relevant options appear:
- Selecting “web server” shows only web-optimized sizes
- Selecting “development” shows only cost-optimized options
- Selecting “production database” shows only high-availability configurations
- Decision Support Information: Each option includes helpful information:
- Estimated monthly cost
- Performance characteristics
- Recommended use cases
- Quota impact
- Validation and Guidance: Real-time feedback on selections:
- “This size exceeds your available quota”
- “Consider a smaller size for development use”
- “This configuration requires additional approvals”
Quota-Based Visibility Pattern
This pattern dynamically controls what options users see based on their available quotas.
- Personalized Option Lists: Users only see sizes they have quota for:
- If user has 8 vCPU quota remaining, they see sizes up to 8 vCPUs
- If user has exhausted memory quota, larger memory sizes are hidden
- If user has no premium storage quota, those options are disabled
- Real-time Quota Display: Current usage and remaining quota shown alongside options:
- “You have used 12 of 16 vCPUs (4 remaining)”
- “This selection would use 4 vCPUs, leaving 0 remaining”
- “Request additional quota” link when limits are reached
- Role-Based Visibility: Different user roles see different options:
- Application developers see development-focused options
- Infrastructure team sees full range with approval workflow
- Department heads see cost center-based options
- Exception Handling Pattern
Deviation Request Workflow
This pattern provides a controlled process for requesting non-standard configurations.
- Structured Exception Process: Standardized form for deviation requests:
- Business justification (required)
- Technical requirements (why standard options won’t work)
- Duration of need (temporary or permanent)
- Cost impact analysis
- Automated Impact Assessment: System analyzes the request:
- Calculates additional cost over standard option
- Identifies policy violations
- Checks for security implications
- Verifies technical feasibility
- Multi-Level Approval Workflow: Different approvals based on request:
- Technical architect for technical validity
- Cost center owner for budget impact
- Security team for security implications
- Cloud governance board for major deviations
- Temporary Exemptions: For short-term needs:
- Time-bound policy exemptions
- Enhanced monitoring for non-standard configurations
- Automatic reversion to standard after expiry
- Regular review requirements
- Standardization Feedback Loop: Exception requests feed into catalogue improvements:
- Common exceptions considered for addition to standard catalogue
- Usage patterns inform future sizing guidelines
- Problematic configurations added to blocked list
Implementation Roadmap
Phase 1: Establish Foundation (Weeks 1-4)
- Define standard VM sizes (start with 3-4 options)
- Implement basic Azure Policy constraints
- Create simple ARM templates for common scenarios
- Set up basic quota management
Phase 2: Build Service Catalogue (Weeks 5-8)
- Develop service portal with guided selection
- Implement approval workflows
- Create standardized deployment pipelines
- Establish monitoring and reporting
Phase 3: Enhance Governance (Weeks 9-12)
- Implement tag-based policies
- Set up cost control mechanisms
- Develop compliance scanning
- Create exception management process
Phase 4: Optimize and Expand (Ongoing)
- Analyze usage patterns for right-sizing
- Refine standard offerings based on demand
- Expand to additional workload types
- Implement advanced automation
Key Success Metrics
- Compliance Rate: Percentage of VMs deployed using standard configurations (target: >80%)
- Approval Cycle Time: Time from request to deployment for standard configurations (target: <4 hours)
- Cost Optimization: Reduction in VM spend through right-sizing (target: 15-25% savings)
- User Satisfaction: Feedback scores from service catalogue users (target: >4/5 satisfaction)
- Exception Rate: Percentage of deployments requiring exceptions (target: <10%)
- Deployment Consistency: Standard deviation in configuration across similar workloads (target: minimal variation)
This pattern-based approach creates a balanced system that provides users with easy access to the resources they need while maintaining the governance, security, and cost control required by the organization. The key is to make the standard options so easy and appropriate that users naturally choose them, while still providing a controlled path for legitimate exceptions.
can you narrow down to the most common pattern type and give me a real example of a service catalogue for VM options
Most Common Pattern: Service Catalogue Tier Pattern
This is the most widely adopted approach because it’s intuitive, business-aligned, and easy for users to understand. It translates technical specifications into business-friendly packages.
Real-World Example: Contoso Corporation Azure VM Service Catalogue
Executive Summary
Contoso Corporation has standardized their Azure VM offerings into 4 tiers across 3 workload types, reducing 100+ possible VM configurations to just 12 standardized options.
SERVICE CATALOGUE: VIRTUAL MACHINE OFFERINGS
How to Use This Catalogue
- Identify your workload type (Web, Application, or Database)
- Select the appropriate tier based on your needs
- Submit request through ServiceNow portal
- VM deployed within 4 hours for standard requests
TIER 1: DEVELOPMENT/ TEST ENVIRONMENTS
For non-production use, testing, and development
Web Server Tier (DEV)
text
Service Code: VM-WEB-DEV
Purpose: Development websites, staging environments, proof-of-concepts
Configuration:
- VM Size: Standard_B2ms (2 vCPUs, 8GB RAM)
- Storage: 128GB Standard SSD
- OS Options: Windows Server 2019 or Ubuntu 20.04 LTS
- Backup: Daily, 7-day retention
- Availability: Single instance, no SLA
- Estimated Cost: $65/month
- Approval: Automatic (Team Lead)
- Deployment Time: 1 hour
Application Server Tier (DEV)
text
Service Code: VM-APP-DEV
Purpose: Development applications, API testing, CI/CD pipelines
Configuration:
- VM Size: Standard_B4ms (4 vCPUs, 16GB RAM)
- Storage: 256GB Standard SSD
- OS Options: Windows Server 2019 or RHEL 8
- Backup: Daily, 7-day retention
- Availability: Single instance, no SLA
- Estimated Cost: $130/month
- Approval: Automatic (Team Lead)
- Deployment Time: 1 hour
TIER 2: STANDARD PRODUCTION
For general production workloads, internal applications
Web Server Tier (PROD-STD)
text
Service Code: VM-WEB-PROD-STD
Purpose: Production websites, customer portals, internal web apps
Configuration:
- VM Size: Standard_D4s_v3 (4 vCPUs, 16GB RAM)
- Storage: 256GB Premium SSD
- OS Options: Windows Server 2022 or Ubuntu 20.04 LTS
- Backup: Hourly, 30-day retention
- Availability: 99.9% SLA, availability set of 2+ instances required
- Security: Azure Security Center Standard, vulnerability scanning
- Monitoring: Azure Monitor, Application Insights included
- Estimated Cost: $280/month
- Approval: Manager level
- Deployment Time: 4 hours
Application Server Tier (PROD-STD)
text
Service Code: VM-APP-PROD-STD
Purpose: Production applications, business services, APIs
Configuration:
- VM Size: Standard_D8s_v3 (8 vCPUs, 32GB RAM)
- Storage: 512GB Premium SSD
- OS Options: Windows Server 2022 or RHEL 8
- Backup: Hourly, 30-day retention
- Availability: 99.95% SLA, availability set of 2+ instances required
- Security: Azure Security Center Standard, Just-In-Time access
- Monitoring: Full stack monitoring, performance alerts
- Estimated Cost: $560/month
- Approval: Manager level
- Deployment Time: 4 hours
TIER 3: PERFORMANCE PRODUCTION
For high-performance applications, customer-facing systems
Web Server Tier (PROD-PERF)
text
Service Code: VM-WEB-PROD-PERF
Purpose: High-traffic websites, e-commerce platforms, mobile backends
Configuration:
- VM Size: Standard_E4s_v3 (4 vCPUs, 32GB RAM – memory optimized)
- Storage: 512GB Premium SSD
- OS Options: Windows Server 2022 Datacenter or Ubuntu 20.04 LTS
- Backup: Continuous, 90-day retention
- Availability: 99.95% SLA, across availability zones (3 zones)
- Security: Azure Security Center Standard, WAF, DDoS protection
- Scaling: Auto-scaling group (2-10 instances)
- Estimated Cost: $420/month per instance
- Approval: Director level + Architecture Review
- Deployment Time: 24 hours
Database Server Tier (PROD-PERF)
text
Service Code: VM-DB-PROD-PERF
Purpose: Production databases, data processing, analytics
Configuration:
- VM Size: Standard_E8s_v3 (8 vCPUs, 64GB RAM – memory optimized)
- Storage: 1TB Premium SSD (RAID configuration available)
- OS Options: Windows Server 2022 or RHEL 8 for SAP
- Backup: 15-minute intervals, 1-year retention available
- Availability: 99.99% SLA, always-on or clustering required
- Security: Encrypted disks, advanced threat protection
- Special Requirements: Database administrator approval required
- Estimated Cost: $1,100/month
- Approval: Director level + DBA approval
- Deployment Time: 48 hours
TIER 4: SPECIALIZED WORKLOADS
For unique requirements with specific approval
GPU Workloads
text
Service Code: VM-GPU-SPECIAL
Purpose: Machine learning, video rendering, scientific computing
Configuration:
- VM Size: Standard_NC6s_v3 (6 vCPUs, 112GB RAM, 1x Tesla V100)
- Storage: 1TB Premium SSD + optional data disks
- OS Options: Ubuntu 18.04+ or Windows Server 2019+
- Special: Reserved instances only, no on-demand
- Estimated Cost: $3,200/month (reserved pricing)
- Approval: VP level + Architecture Board
- Deployment Time: 1 week (capacity planning required)
High Memory Compute
text
Service Code: VM-MEM-SPECIAL
Purpose: In-memory databases, large-scale caching, SAP HANA
Configuration:
- VM Size: Standard_M64s (64 vCPUs, 1TB RAM)
- Storage: Custom configuration based on needs
- Special: Requires business case and capacity reservation
- Estimated Cost: Starting at $15,000/month
- Approval: CTO level + Finance approval
- Deployment Time: 2 weeks
ADD-ON SERVICES
Available with any VM tier
Enhanced Backup
text
Service: BACKUP-ENHANCED
- Retention: Up to 10 years for compliance
- Frequency: Every 15 minutes
- Cross-region replication: Optional
- Cost: +20% of base VM cost
Disaster Recovery
text
Service: DR-REPLICATION
- RPO: 15 minutes
- RTO: 4 hours
- Secondary region: Automatically configured
- Testing: Quarterly failover tests included
- Cost: +50% of base VM cost
Enhanced Monitoring
text
Service: MONITORING-PRO
- Custom dashboards
- Predictive analytics
- 24/7 alert response
- Monthly performance reports
- Cost: +15% of base VM cost
REQUEST PROCESS
Standard Request Flow
text
- User selects service code from catalogue
- Completes online form with:
- Business justification
- Cost center chargeback
- Required deployment date
- Team contact information
- Automated checks:
- Quota validation
- Budget approval
- Policy compliance
- Approval workflow (based on tier)
- Automated deployment
- Notification and documentation
Exception Process
For requirements not covered by standard offerings:
text
- Submit “Deviation Request” form
- Required information:
- Technical justification
- Business impact
- Cost comparison vs. standard
- Duration of need
- Review by Cloud Architecture Board
- If approved:
- Temporary policy exception granted
- Additional monitoring applied
- Scheduled review at 6 months
GOVERNANCE RULES
Automatic Policies Applied
- Naming Convention: [Env]-[AppCode]-[Role]-[Number]
*Example: prod-webapp-web-01* - Mandatory Tags:
• costCenter: [required]
• application: [required]
• environment: dev/test/prod
• owner: [team email] - Security Baselines:
• Microsoft Defender for Cloud enabled
• Disk encryption required
• NSG rules logged and monitored
• No public IP without justification - Cost Controls:
• Budget alerts at 80%, 100%, 120%
• Automatic shutdown for dev VMs (7pm-7am)
• Quarterly right-sizing recommendations
SUPPORT AND SLA
Support Levels by Tier
text
Tier 1 (DEV): Business hours, 8-hour response
Tier 2 (PROD-STD): 24/7, 4-hour response
Tier 3 (PROD-PERF): 24/7, 1-hour response
Tier 4 (SPECIAL): Dedicated support, 30-minute response
Service Level Objectives
text
Provisioning Time:
- Tier 1: 1 hour
- Tier 2: 4 hours
- Tier 3: 24 hours
- Tier 4: As agreed
Uptime SLA:
- Tier 1: No SLA
- Tier 2: 99.9%
- Tier 3: 99.95%
- Tier 4: 99.99%
BENEFITS REALIZED
Before Standardization (6 months ago)
- 100+ different VM configurations in use
• Average provisioning time: 3 days
• 40% of VMs over-provisioned (wasting $45k/month)
• Frequent security compliance issues
• Complex billing and chargeback
After Standardization (Current)
- 12 standardized configurations
• Average provisioning time: 4 hours
• 15% cost reduction through right-sizing
• 100% security compliance
• Simplified billing and showback
• User satisfaction: 4.7/5.0
Need Help Choosing?
Contact Cloud Solutions Team: cloud-team@contoso.com
Catalogue Last Updated: January 2024
Next Review Date: July 2024
good. now give me a similar real example of a service catalogue for AKS options
Contoso Corporation AKS Service Catalogue
Executive Summary
Contoso has standardized Azure Kubernetes Service (AKS) into 4 tiers with predefined configurations, reducing complexity while maintaining flexibility for development teams.
SERVICE CATALOGUE: KUBERNETES CLUSTER OFFERINGS
How to Use This Catalogue
- Determine your application type (Microservices, Batch, AI/ML, etc.)
- Select tier based on environment and requirements
- Choose appropriate node pool configuration
- Submit request with required approvals
TIER 1: DEVELOPMENT/TEST CLUSTERS
For non-production workloads, developer testing, CI/CD pipelines
Shared Development Cluster
text
Service Code: AKS-DEV-SHARED
Purpose: Shared development environment for multiple teams
Configuration:
- Cluster Type: Single-zone, no SLA
- Kubernetes Version: N-2 (e.g., 1.27.x)
- Node Pool: System + User pool separated
- Node Size: Standard_D4s_v3 (4 vCPU, 16GB RAM)
- Node Count: 3-10 nodes (auto-scaling enabled)
- Storage: 128GB OS disk, Azure Files for storage classes
- Networking: Kubenet (basic), no Azure CNI
- Security: Pod security standards (baseline), no private cluster
- Monitoring: Basic Azure Monitor, no Log Analytics premium
- Cost Estimate: $400-800/month
- Approval: Team Lead
- Deployment Time: 2 hours
- Cluster Lifetime: Auto-delete after 90 days (renewable)
Team-Specific Test Cluster
text
Service Code: AKS-TEST-DEDICATED
Purpose: Dedicated cluster for integration testing, staging
Configuration:
- Cluster Type: Single availability zone
- Kubernetes Version: N-1 (e.g., 1.28.x)
- Node Pools: System pool + 2 application node pools
- Node Sizes:
– System Pool: Standard_D4s_v3
– App Pool 1: Standard_D4s_v3 (general purpose)
– App Pool 2: Standard_E4s_v3 (memory optimized)
- Node Count: 2-5 nodes per pool
- Storage: Premium SSD, Azure Disk + Files
- Networking: Azure CNI (advanced networking)
- Ingress: Basic Application Gateway
- Security: Azure AD integration, RBAC enabled
- Cost Estimate: $800-1,500/month
- Approval: Manager
- Deployment Time: 4 hours
TIER 2: STANDARD PRODUCTION
For internal applications, business services, departmental workloads
Internal Application Cluster
text
Service Code: AKS-PROD-STANDARD
Purpose: Internal business applications, microservices, APIs
Configuration:
- Cluster Type: Multi-zone (3 zones), 99.95% SLA
- Kubernetes Version: N-1 with auto-upgrade channel stable
- Node Pools: Minimum 3 pools (system, frontend, backend)
- Node Sizes:
– System: Standard_D4s_v3 (3 nodes fixed)
– Frontend: Standard_D8s_v3 (2-10 nodes, auto-scale)
– Backend: Standard_E4s_v3 (2-8 nodes, auto-scale)
- Storage: Premium SSDs, multiple storage classes
- Networking: Azure CNI with Calico network policies
- Ingress: Application Gateway v2 with WAF
- Security: Private cluster, Azure AD Pod Identity, Azure Policy
- Monitoring: Azure Monitor for containers, Prometheus metrics
- Backup: Velero with daily backups (7-day retention)
- Cost Estimate: $2,000-4,000/month
- Approval: Manager + Security Review
- Deployment Time: 8 hours
Web Application Cluster
text
Service Code: AKS-PROD-WEB
Purpose: Customer-facing web applications, portals
Configuration:
- Cluster Type: Multi-zone with availability set, 99.95% SLA
- Kubernetes Version: N-1 with patch auto-update
- Node Pools: Spot pool for batch + regular for web
- Node Sizes:
– Web Pool: Standard_D8s_v3 (4-20 nodes)
– Batch Pool: Spot instances (Standard_D4s_v3)
- Storage: Premium SSD + Azure NetApp Files (if needed)
- Networking: Azure CNI, custom VNet, DDoS protection
- Ingress: Azure Front Door + AGIC (Global distribution)
- Security: Private cluster, Azure AD Workload Identity, secret management
- CDN: Azure CDN integrated
- Cost Estimate: $3,000-6,000/month
- Approval: Director level
- Deployment Time: 24 hours
TIER 3: ENTERPRISE PRODUCTION
For business-critical applications, customer-facing systems, high-compliance workloads
Enterprise Microservices Cluster
text
Service Code: AKS-PROD-ENTERPRISE
Purpose: Business-critical microservices, financial applications
Configuration:
- Cluster Type: Multi-region deployment (active/active), 99.99% SLA
- Kubernetes Version: N-1 with extended support
- Node Pools: Multiple specialized pools
– System: Standard_D4s_v3 (5 nodes minimum)
– Compute: Standard_D16s_v3 (4-32 nodes)
– Memory: Standard_E16s_v3 (4-24 nodes)
– GPU: Standard_NC6s_v3 (on-demand pool)
- Storage: Ultra Disk for performance, geo-replicated
- Networking: Azure CNI with custom IP ranges, NSGs per namespace
- Ingress: Multiple Application Gateways with geo-routing
- Security: Private cluster with Azure Firewall, Azure Defender, admission controllers
- GitOps: FluxCD or ArgoCD pre-configured
- Service Mesh: Optional Istio or Linkerd
- Compliance: SOC2, ISO27001 controls pre-applied
- Cost Estimate: $8,000-15,000/month
- Approval: Director + Architecture Board + Security
- Deployment Time: 48 hours
Data & AI Cluster
text
Service Code: AKS-PROD-DATAAI
Purpose: Data processing, machine learning, analytics workloads
Configuration:
- Cluster Type: Multi-zone with GPU availability
- Kubernetes Version: N-1 with GPU drivers pre-installed
- Node Pools:
– CPU Pool: Standard_D8s_v3 (general compute)
– GPU Pool: Standard_NC6s_v3 or NCas_T4_v3
– Memory Pool: Standard_E16s_v3 (for Spark/analytics)
- Storage: High-performance storage classes, Blob CSI driver
- Networking: Accelerated networking enabled
- Special Features:
– Kubeflow or MLflow pre-installed (optional)
– Spark Operator for data processing
– DAG scheduling with Airflow
- Security: Private cluster, encryption at rest and transit
- Monitoring: Advanced metrics, custom Grafana dashboards
- Cost Estimate: $5,000-20,000/month (GPU dependent)
- Approval: Director + Data Science Lead
- Deployment Time: 72 hours (GPU provisioning)
TIER 4: PLATFORM-AS-A-SERVICE
For platform teams, multi-tenant scenarios, large-scale deployments
Multi-Tenant Platform Cluster
text
Service Code: AKS-PLATFORM-MULTITENANT
Purpose: Shared platform for multiple business units/teams
Configuration:
- Cluster Type: Multi-region, multi-tenant with isolation
- Kubernetes Version: Long-term support version
- Node Pools: Dynamic with virtual nodes (ACI)
- Node Sizes: Mixed sizes with node auto-provisioning
- Isolation: Namespace isolation with resource quotas
- Networking: Advanced CNI, service mesh for cross-namespace communication
- Platform Services Pre-installed:
– Service Mesh (Istio)
– API Gateway (Kong/Gloo)
– Observability stack (Prometheus, Loki, Tempo)
– CI/CD runners (Tekton/Argo)
– Database operators (K8ssandra, etc.)
- Security: Multi-tenancy security controls, pod security admission
- Governance: Centralized policy management with OPA/Gatekeeper
- Cost Model: Shared cost allocation with showback
- Estimated Cost: $15,000-50,000/month
- Approval: VP Level + Architecture Board
- Deployment Time: 1 week
ADD-ON SERVICES
Managed Database Operators
text
Service: AKS-ADDON-DATABASES
- PostgreSQL Operator (CrunchyData or Zalando)
- MySQL Operator (Presslabs)
- MongoDB Operator (MongoDB Community)
- Redis Operator
- Cost: +$500-2,000/month based on databases
Service Mesh
text
Service: AKS-ADDON-SERVICEMESH
- Options: Istio, Linkerd, or Consul
- Traffic management, security, observability
- Canary deployments, circuit breaking
- Cost: +$1,000-3,000/month
Advanced Monitoring & Observability
text
Service: AKS-ADDON-OBSERVABILITY
- Grafana Enterprise (custom dashboards)
- Log aggregation (Loki/Elastic)
- Distributed tracing (Jaeger/Tempo)
- SLA monitoring and reporting
- Cost: +$1,500-4,000/month
GitOps & Deployment Automation
text
Service: AKS-ADDON-GITOPS
- ArgoCD or FluxCD enterprise
- Multi-environment promotion
- Rollback capabilities
- Compliance scanning
- Cost: +$800-2,000/month
AUTOSCALING PROFILES
Default Scaling Configuration
text
Profile: STANDARD-SCALING
- Horizontal Pod Autoscaler: CPU 70%, memory 80%
- Cluster Autoscaler: Enabled
- Scale-down delay: 10 minutes
- Max nodes per pool: 50
- Min nodes per pool: 3 (prod), 1 (non-prod)
Batch Processing Profile
text
Profile: BATCH-SCALING
- Use spot instances for cost optimization
- Scale from 0 nodes (save cost when idle)
- Job-based scaling (Keda)
- Priority classes for different job types
Web Traffic Profile
text
Profile: WEB-SCALING
- Metrics: CPU, memory, HTTP requests per second
- Predictive scaling based on time of day
- Weekend vs weekday scaling rules
- Geographic scaling for global applications
DEPLOYMENT TEMPLATES
Infrastructure-as-Code Options
text
Template 1: TERRAFORM-BASIC
- Pre-approved Terraform modules
- Compliant with security policies
- Includes monitoring and backup
- Quick start for standard tiers
Template 2: BICEP/ARM-ADVANCED
- Full environment deployment
- Includes networking, security, AKS
- Blue-green deployment support
- Policy compliance built-in
Template 3: AZURE DEVOPS PIPELINE
- Full CI/CD pipeline
- Infrastructure and application deployment
- Environment promotion (dev→test→prod)
- Security scanning at each stage
COMPLIANCE & SECURITY BASELINES
Security Controls (All Production Clusters)
text
- Network Security:
- Private clusters only (no public API endpoint)
- Authorized IP ranges for management
- Network policies enforcing pod-to-pod rules
- Identity & Access:
- Azure AD integration mandatory
- RBAC with least privilege
- Pod identity (workload identity)
- No cluster-admin users
- Container Security:
- Image scanning in pipeline
- Only approved registries (ACR, Docker Hub approved)
- Non-root user enforcement
- Seccomp/AppArmor profiles
- Secrets Management:
- Azure Key Vault integration
- No secrets in configmaps
- Regular rotation policies
Compliance Standards
text
- Tier 2: Basic CIS compliance
- Tier 3: CIS + company security standards
- Tier 4: CIS + additional controls (NIST, PCI if required)
SUPPORT & OPERATIONS
Support Levels
text
Development Clusters:
- Business hours support
- Self-service troubleshooting docs
- Community support for open-source tools
Standard Production:
- 24/7 monitoring and alerting
- 4-hour response time for critical issues
- Monthly health checks
Enterprise Clusters:
- Dedicated platform engineer
- 1-hour response time SLA
- Weekly operational reviews
- Capacity planning assistance
Managed Services Included
text
All Tiers Include:
- Kubernetes version upgrades (managed)
- Node OS security patching
- Control plane monitoring
- Basic troubleshooting
Tier 3+ Additional:
- Application performance monitoring
- Cost optimization recommendations
- Security compliance reporting
- Disaster recovery testing
COST MANAGEMENT
Cost Optimization Features
text
- Spot Instances: Available for appropriate workloads (save 60-90%)
- Reserved Instances: 1-year or 3-year reservations (save up to 72%)
- Auto-scaling: Scale down during off-hours
- Right-sizing: Monthly recommendations based on usage
- Cost Allocation: Namespace-level chargeback/showback
Budget Controls
text
- Cluster-level budget alerts
- Namespace quotas to prevent runaway costs
- Auto-pause for dev clusters during nights/weekends
- Approval required for significant cost increases
REQUEST PROCESS
Standard Cluster Request
text
- Complete Service Request Form with:
- Business justification and use case
- Expected number of namespaces/teams
- Performance requirements (CPU/memory/GPU)
- Compliance requirements
- Expected growth (6-month projection)
- Architecture Review (for Tier 3+):
- Capacity planning assessment
- Network topology review
- Security control validation
- Provisioning:
- Automated Terraform deployment
- Security baseline application
- Monitoring setup
- Access configuration
- Handoff:
- Cluster credentials (via Azure AD)
- Documentation and runbooks
- Onboarding session with platform team
Quick Start Program
text
For teams new to Kubernetes:
- 2-hour “AKS Basics” training session
- Sample application deployment guide
- Development cluster provisioned for 30-day trial
- Platform team consultation hours
BENEFITS REALIZED
Before Standardization
- 15 different AKS configurations across teams
• Security inconsistencies between clusters
• No standard monitoring or backup
• Average deployment time: 5 days
• High operational overhead
After Standardization (Current)
- 4 standard tiers covering 95% of use cases
• Consistent security and compliance
• Standardized monitoring across all clusters
• Average deployment time: 8 hours
• 30% cost reduction through right-sizing
• Platform team focus on value-add services
Platform Team Contact: platform-engineering@contoso.com
Emergency Support: 24/7 on-call rotation
Documentation: https://aka.ms/contoso-aks-docs
Training: Monthly “AKS Fundamentals” workshops
Catalogue Version: 2.1 | Last Updated: March 2024 | Next Review: September 2024
now give me a similar real example of a service catalogue for Azure storage options
Read 9 web pages
Based on your need for a structured ITIL service catalogue for Azure storage, here is a real-world example designed for a fictional company, “DataFlow Corporation”. This catalogue translates Azure’s complex storage options into standardized, business-friendly service tiers.
This catalogue focuses on the most common services used by application teams—Blob Storage, Azure Files, and Managed Disks—and organizes them into standardized tiers for ease of selection and governance.
🏢 DataFlow Corporation Azure Storage Service Catalogue
The service catalogue defines three primary storage services, each broken down into standardized tiers.
- Azure Blob Storage Services
For storing unstructured data like documents, images, backups, and application data.
- Service Code: BLOB-DEV
Purpose:Development, testing, and temporary storage.
Configuration:Standard performance (HDD-backed), Locally Redundant Storage (LRS), ‘Hot’ access tier.
Estimated Cost: ~$0.018 per GB/month.
Request: Team Lead approval, automated provisioning. - Service Code: BLOB-PROD-STD
Purpose:General production workloads, active application data, web content.
Configuration:Standard performance, Geo-Redundant Storage (GRS), ‘Hot’ access tier, versioning and soft delete enabled.
Estimated Cost: ~$0.04 per GB/month.
Request: Manager approval, 4-hour deployment. - Service Code: BLOB-ARCHIVE
Purpose:Long-term retention, compliance archives, disaster recovery backups.
Configuration:‘Archive’ access tier, immutable storage policies for legal holds.
Estimated Cost: ~$0.0009 per GB/month.
Request: Director + Legal/Compliance approval, 24-hour deployment.
- Azure Files Services
For fully managed cloud file shares, accessible via SMB or NFS protocols.
- Service Code: FILES-BASIC
Purpose:Basic departmental file shares, tool storage.
Configuration:Standard SMB share (up to 100 TiB), LRS redundancy.
Estimated Cost: ~$0.06 per GB/month.
Request: Team Lead approval. - Service Code: FILES-PREMIUM
Purpose:High-performance, latency-sensitive workloads (e.g., databases, media rendering).
Configuration:Premium SSD-based file share, Zone-Redundant Storage (ZRS), sub-10ms latency.
Estimated Cost: ~$0.16 per GB/month.
Request: Manager + Architecture approval.
- Azure Managed Disk Services
For persistent, high-performance block storage for Azure Virtual Machines.
- Service Code: DISK-STD-HDD
Purpose:Dev/Test VMs, backup, infrequently accessed data.
Configuration:Standard HDD, LRS.
Estimated Cost: ~$0.034 per GB/month.
Request: Team Lead approval. - Service Code: DISK-PREMIUM-SSD
Purpose:Production VMs, business applications, SQL Server.
Configuration:Premium SSD (P30: 1 TB, 5,000 IOPS), LRS or ZRS.
Estimated Cost: ~$0.154 per GB/month.
Request: Manager approval. - Service Code: DISK-ULTRA
Purpose:Mission-critical, IO-intensive workloads (SAP HANA, top-tier databases).
Configuration:Ultra Disk (sub-millisecond latency), scalable IOPS/throughput.
Estimated Cost: Variable, starting ~$0.13 per GB/month + provisioned IOPS.
Request: Director + Architecture Board approval.
⚙️ Automated Deployment & Governance
All services are deployed via Azure Managed Applications using pre-approved ARM templates, ensuring every deployment meets security and configuration standards. Key governance applied to all deployments includes:
- Security: All data encrypted at rest; public access disabled by default; access authorized via Microsoft Entra ID (Azure AD) instead of shared keys where possible.
- Cost Control: Budget alerts applied; lifecycle management policies auto-transition blobs to cooler tiers (e.g., Cool after 30 days).
- Protection: Soft delete and versioning enabled on key accounts to allow data recovery.
🔍 How to Choose a Service
Use this quick guide to narrow down your options:
Start here: What is your primary use case?
- Storing application files, backups, or web content? → Azure Blob Storage.
- Need a traditional Windows/Linux file share in the cloud? → Azure Files.
- Require a high-performance disk for a database or VM? → Azure Managed Disks.
The goal of this catalogue is to balance flexibility for development teams with the control needed for security, compliance, and cost management. By offering pre-defined, well-architected options, we accelerate deployment while ensuring best practices are followed.
I hope this practical example gives you a strong foundation. Would you like to dive deeper into the governance policies or the automated deployment templates for any of these specific service tiers?
now give me a similar real example of a service catalogue for Azure database options
Read 10 web pages
Based on the principles used in your previous Azure catalogues, here is a real-world service catalogue for Azure database options, designed for “AdventureWorks Corporation.”
The catalogue covers the most common managed database services, organized into clear service tiers for easy selection by development and business teams.
🗄️ AdventureWorks Corporation Azure Database Service Catalogue
This catalogue defines services for two primary data models: Relational/SQL and NoSQL. Each service is broken down into standardized tiers with clear governance.
- Azure SQL Database Services (Relational)
Fully managed relational database service based on the latest SQL Server engine.
- Service Code: SQL-DEV
Purpose:Development, testing, proof-of-concept.
Configuration:vCore-based model, General Purpose tier, provisioned compute (2 vCores), Standard-series hardware. Basic backup (7-day PITR).
Estimated Cost: ~$150/month.
Request: Team Lead approval, automated via ARM. - Service Code: SQL-PROD-STANDARD
Purpose:General production workloads, business applications, web apps.
Configuration:vCore-based model, General Purpose tier, provisioned or serverless compute, Zone-redundant storage for high availability. 35-day backup.
SLA: 99.99% availability.
Estimated Cost: ~$400–$1,200/month.
Request: Manager approval, 8-hour deployment. - Service Code: SQL-PROD-CRITICAL
Purpose:Business-critical OLTP applications requiring high transaction rates and the highest resilience.
Configuration:vCore-based model, Business Critical tier. Uses several isolated, readable replicas for failover. Local SSD storage for ultra-low latency.
SLA: 99.995% availability.
Estimated Cost: ~$1,000–$3,000/month.
Request: Director + Architecture Review. - Service Code: SQL-HYPERSCALE
Purpose:Large-scale applications (> 4 TB), unpredictable growth, need for fast backup/restore of very large databases.
Configuration:Hyperscale tier. Independently scalable compute and storage (up to 128 TB). Supports multiple read replicas for scale-out.
Special: Near-instantaneous backups regardless of size.
Estimated Cost: Variable, based on compute replicas and storage used.
Request: Director + Architecture Board approval.
- Azure Cosmos DB Services (NoSQL)
Globally distributed, multi-model database for modern applications requiring low latency at any scale.
- Service Code: COSMOS-DEV
Purpose:Developing globally distributed apps, session stores, prototyping.
Configuration:Single write region, autoscale provisioned throughput, 99.99% SLA for single-region accounts.
Estimated Cost: ~$25/month (minimal RU/s).
Request: Team Lead approval. - Service Code: COSMOS-PROD-GLOBAL
Purpose:Production web, mobile, gaming, and retail apps requiring global distribution and low latency.
Configuration:Multi-region deployment (1 write, 1+ read regions), 99.999% read availability. Tunable consistency levels.
SLA: 99.99% availability.
Estimated Cost: ~$600+/month (based on RU/s and regions).
Request: Manager + Security Review. - Service Code: COSMOS-MISSION-CRITICAL
Purpose:Mission-critical IoT, real-time analytics, high-scale event sourcing.
Configuration:* Multi-region with availability zones, continuous backup, private endpoint. Advanced threat protection.
SLA:99.999% availability, financial-backed SLA.
Estimated Cost: ~$2,500+/month.
Request: Director + Architecture Board approval.
- Open Source Database Services (PostgreSQL)
Fully managed community versions of PostgreSQL.
- Service Code: POSTGRES-DEV
Purpose:Development, low-concurrency apps.
Configuration:Burstable compute tier, single zone, basic storage.
Cost Control: Ability to stop/start server to lower TCO.
Estimated Cost: ~$20–$50/month.
Request: Team Lead approval. - Service Code: POSTGRES-PROD
Purpose:Production web apps, geographic information systems, complex queries.
Configuration:General Purpose or Memory Optimized tier, zone-redundant high availability, read replicas, 35-day backup.
SLA: 99.99% availability.
Estimated Cost: ~$200–$800/month.
Request: Manager approval.
⚙️ Automated Governance & Operations
All deployments follow these governance rules:
- Security Baseline: All data encrypted at rest and in transit; Microsoft Entra ID (Azure AD) authentication preferred over SQL auth; vulnerability assessment enabled.
- Cost & Performance Monitoring: Budget alerts at 80%, 100%, 120%; Azure Monitor and Query Store enabled for performance insights; automatic indexing recommendations applied.
- Backup & Recovery: Point-in-time restore (PITR) configured per tier; long-term retention for compliance; geo-restore enabled for critical tiers.
🔍 How to Choose the Right Service
Start by answering these questions:
- What is your data model?
- Structured, transactional data with complex queries? → Azure SQL Database.
- Unstructured, semi-structured, or need global distribution with single-digit millisecond latency? → Azure Cosmos DB.
- Prefer an open-source relational database (PostgreSQL)? → Azure Database for PostgreSQL.
- What are your non-functional requirements?
- Availability: Need >99.99%? Consider Business Critical or Cosmos DB multi-region.
- Scale: Data >4TB or need instant scale? Consider Hyperscale or Cosmos DB.
- Budget: For variable workloads, use serverless SQL or Cosmos DB autoscale.
💡 Key Benefits Realized
- Standardized Deployments: Reduced 50+ configuration options to 9 standard services.
- Accelerated Provisioning: Average request-to-ready time reduced from 5 days to 4 hours for standard tiers.
- Cost Predictability: 25% average cost reduction by right-sizing and eliminating over-provisioning.
- Enhanced Compliance: 100% of deployed databases now meet central security and backup baselines.
I hope this practical example gives you a solid template for your Azure database service catalogue. If you’d like to dive deeper into the specific ARM templates, cost calculators, or approval workflows for any of these tiers, just let me know.
now give me a similar real example of a service catalogue for Azure VM options
Read 10 web pages
Hmm, the user is asking for another example of a service catalogue specifically for Azure VM options. They’ve been building a series of these catalogues following a consistent ITIL-style format, and now want to see the same approach applied to VMs.
I need to provide a well-structured, real-world example of an Azure VM service catalogue that follows the pattern we established earlier – clear service tiers, defined configurations, governance rules, and practical implementation guidance. The user seems to be creating a comprehensive set of Azure service catalogues, so consistency in format and approach is important.
provides a perfect template I can build upon. It shows a real implementation with specific ARM template code that restricts VM options to just three approved sizes. This aligns perfectly with the user’s earlier discussion about limiting options for workload landing zones. gives me the conceptual understanding of how Azure Service Catalog and Managed Applications work to create these controlled deployment experiences.
mentions VM extensions for configuration and monitoring, which I can integrate into my service tiers. shows another vendor’s approach to catalog-based VM deployment, confirming this is a common practice.
The other search results are not particularly helpful – focus on specific database topics, is too general, and don’t directly address VM service catalogues.
I’ll structure this similarly to the previous examples with clear tiers for different purposes, service codes, configurations, and governance elements. I’ll also show the technical implementation using Azure Managed Applications since provides such a clear example. I can use the search result information about restricting VM sizes, locations, and using approved images as foundational governance elements.
The implementation guidance should be practical and actionable, showing how the catalogue items would actually be created and deployed.
Based on your previous examples, here is a real-world service catalogue for Azure Virtual Machine (VM) options, designed for “TerraCorp Solutions.” This catalogue builds on the principle of limiting user choice to pre-approved, governed configurations, most effectively implemented using Azure Service Catalog and Managed Applications.
Here is a breakdown of the standardized VM services.
🖥️ TerraCorp Solutions Azure VM Service Catalogue
Service 1: Development & Testing Sandbox
For individual developer testing, POCs, and short-term experiments.
- Service Code: VM-DEV-SANDBOX
- Purpose: Low-cost, disposable environments with no production data.
- Configuration:
- Size: Standard_B2s (2 vCPUs, 4GB RAM, burstable).
- Image: Latest Windows 10/11 or Ubuntu Server LTS.
- Disk: 128GB Standard SSD.
- Auto-Shutdown: Enforced daily at 7 PM.
- Lifetime: Auto-deletion after 30 days (renewable).
- Estimated Cost: ~$35/month.
- Request: Developer self-service via catalogue, instant approval.
Service 2: Shared Application Server (Standard)
For hosting internal web apps, APIs, and mid-tier business services.
- Service Code: VM-APP-STANDARD
- Purpose: General-purpose production workload.
- Configuration:
- Size: Standard_D4s_v3 (4 vCPUs, 16GB RAM).
- Image: Windows Server 2022 Datacenter or RHEL 8.
- Disk: 256GB Premium SSD.
- Backup: Azure Backup enabled (30-day retention).
- Monitoring: Azure Monitor agent and dependency insights.
- Estimated Cost: ~$280/month.
- Request: Team lead approval, deployed within 4 hours.
Service 3: High-Performance Compute Node
For data processing, batch jobs, and medium-duty analytics.
- Service Code: VM-COMPUTE-PERFORM
- Purpose: CPU-intensive workloads.
- Configuration:
- Size: Standard_F8s_v2 (8 vCPUs, 16GB RAM).
- Image: CentOS or Ubuntu with HPC tools pre-configured.
- Disk: 512GB Premium SSD with read caching.
- Auto-Scale: Part of a scale set (2-10 instances).
- Estimated Cost: ~$450/month per instance.
- Request: Manager approval + architecture review.
Service 4: Memory-Optimized Database Host
For in-memory caches, relational databases, and SAP applications.
- Service Code: VM-DB-MEMOPT
- Purpose: Memory-intensive, business-critical applications.
- Configuration:
- Size: Standard_E4s_v3 (4 vCPUs, 32GB RAM).
- Image: Pre-hardened SQL Server image or SUSE Linux.
- Disk: 1TB Premium SSD in RAID configuration.
- Availability: Deployed in an Availability Set or Zone.
- Extensions: SQL Server IaaS Agent installed.
- Estimated Cost: ~$600/month.
- Request: Director + DBA team approval.
⚙️ Implementation & Governance
The catalogue is enforced using Azure Managed Applications, which combine an ARM template with a user interface definition (createUiDefinition.json) to create a controlled deployment experience in the Azure portal.
Core Technical Governance (via ARM Template)
- Restricted VM Sizes: The template defines an allowedValues array for the vmSize parameter, limiting users to the pre-approved SKUs from the catalogue (e.g., Standard_D2s_v3, Standard_D4s_v3).
- Approved Images: Only specific publisher, offer, and sku values for OS images are allowed.
- Mandatory Configuration: All deployed VMs automatically receive:
- Specific Azure Tags (e.g., costCenter, applicationOwner).
- Mandatory monitoring and backup agents.
- Network security rules based on the service tier.
Service Catalog Deployment Process:
- Publish: The IT platform team publishes each service (ARM + UI template) to a private Azure Service Catalog.
- Request: Users navigate to the Service Catalog in the Azure Portal, select a service (e.g., “VM-APP-STANDARD”), and fill in a simplified form (VM name, select from dropdowns).
- Deploy: Submitting the form triggers a managed deployment. The user gets access only to the final VM, not the underlying resource group, ensuring governance is maintained.
🔍 How to Choose & Deploy
Use this guide to find the right service.
Start by asking:
- What is the primary use? Development, application hosting, or a database?
- What are the performance needs? General-purpose, high CPU, or high memory?
- What is the data sensitivity? Production data requires higher tiers with backup and monitoring.
For example:
- To develop a new .NET application → Choose VM-DEV-SANDBOX.
- To host a production customer-facing web API → Choose VM-APP-STANDARD.
Deployment Steps:
- Log into the Azure Portal.
- Search for and navigate to “Service Catalog”.
- Browse or search for the desired service code (e.g., VM-APP-STANDARD).
- Click “Create” and fill in the guided form (name, select from approved options).
- Submit. The VM is provisioned automatically with all governance applied.
This catalogue structure transforms VM provisioning from an ungoverned technical task into a streamlined, business-aligned service, providing agility for users and control for IT.
Would you like to explore the specific ARM template code for one of these service tiers or the approval workflow integration?
now give me a similar real example of a service catalogue for Azure load balancer options
Read 10 web pages
Hmm, the user is continuing with our series of Azure service catalogue examples, now requesting one for load balancer options. We’ve covered VMs, databases, storage, and AKS, so they clearly want consistent ITIL-style service catalog templates for their Azure governance framework.
I need to provide a comprehensive example that follows the same structure we’ve used before – service codes, purposes, configurations, governance controls – but specifically for Azure Load Balancer services. I should focus on practical, standardized offerings that development teams can select from.
The search results I saw contain excellent foundational information about Azure Load Balancer. provide comprehensive overviews of the service, including the critical announcement that Basic Load Balancer was retired in September 2025, so I must focus exclusively on Standard SKU offerings. show ARM template implementations for internal and public load balancers respectively, which confirms the technical viability of templated deployments. discusses load balancer integration with AKS, which is relevant for containerized environments.
The authority here is strong – are all from Microsoft’s official documentation, which is highly reliable for Azure services. is from a well-known certification training site and contains good technical detail despite its lower authority compared to Microsoft sources. are less relevant since they cover RBAC roles, cloud services, and AI governance rather than load balancer service catalog templates.
Since the user might read this on a mobile device, I will present the service catalogue in a structured, mobile-friendly format using headings and clear sections rather than complex tables. I will organize the catalogue around the main load balancer types and tiers, including practical considerations and governance rules based on the search results.
Here is a real-world example of an ITIL-style service catalogue for Azure Load Balancer options, designed for “NetFlow Solutions.”
Following our catalogue series, this document provides standardized, governed offerings. A critical note for planning: Azure Basic Load Balancer was retired in September 2025. Therefore, this catalogue focuses exclusively on the Standard SKU, which is required for production use and is secure by default.
📡 NetFlow Solutions Azure Load Balancer Service Catalogue
This catalogue defines services based on the primary type (Public or Internal) and specialized tier (Standard or Gateway).
Service 1: Public Load Balancer (Standard)
For distributing Internet traffic to backend virtual machines and providing outbound connectivity.
- Service Code: LB-PUB-STANDARD
- Purpose: Hosting public-facing web services, APIs, and applications accessible from the Internet. Provides outbound Internet connectivity for backend VMs.
- Configuration:
- SKU/Tier: Standard.
- Frontend: A public IP address (Standard SKU).
- Backend Pool: Up to 1000 instances from any virtual machine in a single virtual network.
- High Availability: Zone-redundant or zonal frontend configuration supported.
- Security: Closed to inbound flows by default; requires explicit Network Security Group (NSG) rules.
- SLA: 99.99% availability.
- Estimated Cost: Based on configured rules and processed data. ~$0.03/hour + data processing.
- Request: Manager approval, deployed via approved ARM template.
Service 2: Internal Load Balancer (Standard)
For load-balancing traffic inside a virtual network (east-west traffic).
- Service Code: LB-INT-STANDARD
- Purpose: Securely distributing traffic between application tiers (e.g., web servers to database clusters), internal APIs, and hybrid connections from on-premises networks.
- Configuration:
- SKU/Tier: Standard.
- Frontend: A private IP address from the subnet.
- Backend Pool: Virtual machines within the same virtual network.
- High Availability Ports: Optional feature to load balance all ports and protocols on a single rule.
- Security: Inherently private; accessible only from within connected networks.
- SLA: 99.99% availability.
- Estimated Cost: Based on configured rules and processed data. ~$0.03/hour + data processing.
- Request: Team Lead approval, deployed via approved ARM template.
Service 3: Gateway Load Balancer
For transparently inserting and scaling third-party network virtual appliances (NVAs).
- Service Code: LB-GATEWAY
- Purpose: Chaining traffic through security stack NVAs (e.g., firewalls, intrusion detection systems, deep packet inspection) without disrupting the flow.
- Configuration:
- SKU/Tier: Gateway.
- Operation: Works in tandem with a parent Standard Public or Internal Load Balancer. Traffic is routed to the Gateway LB’s pool of NVAs and then returned to the parent LB.
- Use Case: Centralized, scalable inspection of all traffic entering or leaving a hub virtual network.
- Special Note: Requires architecture review due to specialized design.
- Request: Director + Security Architecture approval.
Add-on: Cross-Region Load Balancer (Global Tier)
Extends the Public Load Balancer service for global disaster recovery.
- Service Code: LB-ADDON-GLOBAL
- Purpose: Load balancing across multiple Azure regions using a single global anycast IP address. Used for active-active disaster recovery scenarios for critical applications.
- Configuration: Can only be added to a Public Standard Load Balancer service.
- Request: Director + Architecture Board approval.
⚙️ Governance & Automated Deployment
All services are deployed using Azure Resource Manager (ARM) templates published to the internal Service Catalogue, ensuring compliance and consistency.
Core Technical Governance (Applied via ARM Template):
- SKU Enforcement: Only Standard or Gateway SKUs can be deployed.
- Mandatory Tagging: costCenter, application, environment, owner.
- Security Baseline: For Standard Public LBs, a default-deny NSG is automatically attached, requiring explicit rule justification.
- Monitoring Integration: Azure Monitor diagnostics and health status alerts are pre-configured.
Deployment Process:
- User selects service (e.g., LB-INT-STANDARD) from the Service Catalogue portal.
- The system presents a simplified form based on the underlying ARM template’s parameters (e.g., naming, backend subnet).
- Upon submission, the full, governed infrastructure (VNet, NICs, Load Balancer, health probes, rules) is deployed automatically.
🔍 How to Choose the Right Service
Decision Guide:
- Is the endpoint accessible from the Internet?
- Yes → Choose LB-PUB-STANDARD.
- No → Choose LB-INT-STANDARD.
- Does the traffic flow need to be inspected by a firewall or other security appliance before reaching the backend?
- Yes → You need the LB-GATEWAY service chained with a parent public or internal LB.
- Does the application require a single endpoint spanning multiple Azure regions for failover?
- Yes → Add the LB-ADDON-GLOBAL feature to a Public LB.
Example Workflow:
- A team needs a highly available internal API for their microservices → Request LB-INT-STANDARD.
- A team needs to publish a new customer web application → Request LB-PUB-STANDARD.
- The security team mandates all Internet traffic pass through a central inspection layer → Request LB-PUB-STANDARD chained with LB-GATEWAY.
I hope this service catalogue template provides a clear and actionable model for governing Azure Load Balancer deployments. Would you like to explore the specific ARM template parameters for one of these service tiers or the integration with a CI/CD pipeline?
now give me a similar real example of a service catalogue for Azure gateway options
Read 10 web pages
Hmm, the user is continuing our series of Azure service catalogue examples, now asking specifically for gateway options. We’ve previously covered VM, AKS, storage, database, and load balancer services in a standardized ITIL-style format. The user seems to be systematically building a comprehensive Azure governance framework.
I need to create a similar real-world example that organizes Azure gateway services into a structured, user-friendly service catalogue. The challenge is that the search results don’t directly address this specific requirement. I can see several highly relevant technical documents about Azure gateways, including the official Microsoft documentation on creating API Management instances and the technical documentation for Azure Managed Applications and Service Catalog. These provide the foundational Azure service information but don’t present it in the service catalogue format the user expects.
I also have useful context about ITIL service catalogues from ManageEngine and KnowledgeHut, which explain the structure and benefits of service catalogues. These help me understand how to properly format the response. I plan to adapt the technical information about Azure gateways into the established catalogue format from our previous conversations.
The user likely needs this for organizational standardization and governance, to help development teams select appropriate gateway services while maintaining control and consistency. Since I can’t find a complete service catalogue example in the search results, I will create one based on the technical specifications and established patterns from our previous interactions.
I should include a disclaimer about the source of information since I’m synthesizing this from general Azure knowledge rather than directly from the search results. I can organize the response similarly to previous catalogue examples with service codes, purposes, configurations, and decision guidance. The structure should be mobile-friendly without complex tables since the user is likely reading on a phone.
Based on the search results, I couldn’t find a ready-made, real-world service catalogue example specifically for Azure gateway services in the format of our previous examples.
However, I can synthesize the principles of an ITIL service catalogue with Azure’s gateway offerings to create a structured example for you.
📡 Example Service Catalogue: Azure Gateway Services
This catalogue standardizes the main Azure gateway options into clear service tiers to help users select the right one for their connectivity, security, or API management needs.
- Virtual Network Gateway
For creating secure, cross-premises connectivity (site-to-site VPN) or dedicated private network connections (ExpressRoute).
- Service Code: GW-VPN-STANDARD
- Purpose: Establish secure IPsec/IKE VPN tunnels between an Azure virtual network and an on-premises data center.
- Configuration: Route-based VPN Gateway, Standard SKU. Suitable for typical branch office connectivity.
- Estimated Cost: ~$0.10/hour + data transfer costs.
- Service Code: GW-ER-HIGHSPEED
- Purpose: Establish a private, high-bandwidth, low-latency connection via an ExpressRoute circuit provider.
- Configuration: ExpressRoute Gateway, UltraPerformance SKU. For mission-critical, high-throughput workloads.
- Estimated Cost: Provider circuit fees + ~$0.40/hour gateway charge + data transfer.
- Application Gateway
For managing web traffic to your applications with Layer 7 load balancing, SSL termination, and Web Application Firewall (WAF).
- Service Code: AG-WAF-PREVENT
- Purpose: Protect web applications from common exploits (OWASP Top 10) and distribute traffic.
- Configuration: WAF_v2 SKU with Prevention mode, auto-scaling enabled.
- Estimated Cost: ~$0.50/hour + variable compute units.
- Service Code: AG-L7-STANDARD
- Purpose: Advanced HTTP/S load balancing with features like cookie-based affinity, URL path-based routing.
- Configuration: Standard_v2 SKU, suitable for internal or external web apps without WAF.
- Estimated Cost: ~$0.25/hour + variable compute units.
- API Management Gateway
For publishing, securing, transforming, and analyzing APIs for internal and external consumers.
- Service Code: APIM-DEV
- Purpose: Development, testing, and evaluation of API policies and designs.
- Configuration: Developer tier, limited to 1 unit. No SLA, not for production.
- Estimated Cost: ~$50/month.
- Service Code: APIM-PROD-PREMIUM
- Purpose: High-scale, multi-region API deployment with advanced security, monitoring, and 99.95% SLA.
- Configuration: Premium tier, deployed across availability zones. Includes built-in cache and VNet integration.
- Estimated Cost: ~$2,500+/month (scale based on units).
- Front Door
For a modern, scalable Content Delivery Network (CDN) and global HTTP load balancer with robust DDoS protection.
- Service Code: FD-GLOBAL-PERF
- Purpose: Accelerate global web applications with intelligent routing to the closest healthy backend.
- Configuration: Standard/Premium tier with WAF policy, custom domains, and TLS 1.3.
- Estimated Cost: Based on inbound/outbound data volume and requests.
⚙️ How to Choose the Right Gateway Service
Here is a guide to help you select the appropriate service. Choose the path that best matches your primary need:
- Need to connect your Azure network to your on-premises corporate network?
- Use a Virtual Network Gateway.
- Need to manage, protect, and load balance traffic to a web application (HTTP/HTTPS)?
- Use an Application Gateway.
- Need to publish, version, secure, and monitor REST or GraphQL APIs?
- Use API Management.
- Need global load balancing and acceleration for websites and applications worldwide?
- Use Front Door.
🔍 Implementation Note
These standardized services can be packaged and offered to users through the Azure Service Catalog using Azure Managed Applications. This method involves creating an ARM template that defines the resources and a UI definition file (createUiDefinition.json) that controls the user’s input experience in the portal. Publishing this package to your Service Catalog allows users to deploy governed, pre-approved gateway configurations with just a few clicks.
I hope this synthesized example provides a useful template. To help refine it further, could you share which type of gateway connectivity or scenario is the highest priority for your organization?
This response is AI-generated, for reference only.
include NAT gateway in the above example
Hmm, we’ve been building comprehensive Azure service catalogues, and the user has now specifically asked to include NAT Gateway in the gateway options catalogue we just discussed. This is a logical addition since NAT Gateway is indeed an important Azure gateway service for outbound connectivity.
I need to integrate NAT Gateway service options into the existing catalogue structure in a way that maintains consistency with our previous examples. The search results don’t contain specific NAT Gateway service catalogue information, but I can draw from my understanding of Azure services to create appropriate service tiers.
I recall that NAT Gateway in Azure is used primarily for providing outbound internet connectivity for virtual networks. The key aspects to standardize would be different tiers based on scale needs – from basic development scenarios to enterprise-scale production workloads with multiple public IPs and high throughput requirements.
The approach should follow our established pattern with service codes, clear purposes, standardized configurations, and estimated costs. I should provide clear differentiation between tiers based on SKU size, public IP allocation, and throughput capacity. I can organize this as a new section in the existing catalogue structure, positioned alongside Virtual Network Gateway and other services.
For implementation, I’ll suggest how to package this as an Azure Managed Application, maintaining consistency with our governance approach across all service catalogues. I should also provide a clear decision path to help users determine when to choose NAT Gateway versus other gateway services.
The response should flow naturally from our previous catalogue examples, maintaining the same professional yet practical tone we’ve established.
Absolutely. Here is the updated Azure Gateway Service Catalogue with NAT Gateway included as a dedicated service.
📡 Updated Service Catalogue: Azure Gateway Services
This catalogue now includes NAT Gateway, which is essential for providing secure, scalable outbound internet connectivity for resources in a virtual network.
- NAT Gateway
For providing secure, static outbound-only internet connectivity for virtual networks without exposing resources to inbound connections.
- Service Code: NAT-DEV-SMALL
- Purpose: Provide outbound connectivity for development, testing, and small-scale workloads. Ideal for patching VMs, downloading updates, or accessing external APIs.
- Configuration:
- SKU: Standard.
- Public IPs: 1 static public IP address.
- Idle Timeout: Default 4 minutes.
- Throughput: Up to 10 Gbps.
- Estimated Cost: ~$0.045/hour for gateway + ~$0.005/hour per public IP.
- Service Code: NAT-PROD-HIGHSCALE
- Purpose: High-scale production outbound connectivity. Supports massive numbers of concurrent flows for scenarios like data egress or outbound traffic from large-scale applications.
- Configuration:
- SKU: Standard.
- Public IPs: 1 to 16 static public IP addresses (or a Public IP Prefix) for scaling outbound SNAT ports.
- Idle Timeout: Configurable up to 120 minutes for long-lived connections.
- Throughput: Up to 50 Gbps.
- Estimated Cost: Variable based on IP count and data processed; ~$0.045/hour gateway + IP charges + data processing.
Updated Decision Guide: How to Choose the Right Gateway Service
Use this guide to select the appropriate service. The new NAT Gateway path is highlighted.
- Need to connect your Azure network to your on-premises corporate network?
- Use a Virtual Network Gateway.
- Need to manage, protect, and load balance inboundtraffic to a web application (HTTP/HTTPS)?
- Use an Application Gateway.
- Need to provide secure, scalable outbound-onlyinternet connectivity for VMs (no inbound access)?
- Use a NAT Gateway. This is the new path.
- Need to publish, version, secure, and monitor REST or GraphQL APIs?
- Use API Management.
- Need global load balancing and acceleration for websites and applications worldwide?
- Use Front Door.
⚙️ Key Governance for NAT Gateway Services
When deployed as a Managed Application via your Service Catalog, the ARM template for NAT Gateway services would enforce:
- Mandatory Association: Must be associated with a specific subnet at deployment.
- Tagging: Automatic application of costCenter, environment, and owner tags.
- Security Baseline: Ensures no inbound rules are attached, maintaining the outbound-only security model.
- Cost Control: Alerts configured for high data processing usage.
🔍 Example Workflow
A development team needs their VMs in a private subnet to download software from the internet but must not be directly reachable from the internet.
- Action: They request the NAT-DEV-SMALL service via the catalogue.
- Result: The NAT Gateway is deployed to their subnet. All VMs automatically use its static IP for outbound connections without any inbound exposure, meeting both connectivity and security requirements.
Would you like to explore the integration of NAT Gateway with other services, such as how it complements a load balancer, or see a sample of the ARM template parameters for this service?
the above VM options must include options for OS images
Read 10 web pages
Hmm, the user wants me to go back and enhance the previous Azure VM service catalogue example by adding specific OS image options to each tier. They’ve been working through a series of service catalogues following ITIL principles for their Azure environment.
I need to provide a comprehensive update that integrates OS images into each VM service tier while maintaining the ITIL service catalogue format we’ve been using. The search results provide excellent technical information about OS images in Azure that I can use.
gives me exactly what I need – a clear, authoritative list of supported OS images from Microsoft’s documentation. This covers both Linux and Windows options with specific versions, which is perfect for creating standardized offerings. adds useful detail about how to find and select these images using PowerShell, including the URN structure and purchase plan considerations. provides good context about VM distribution management in Azure.
and are highly relevant too – they discuss Azure VM Image Builder and Azure Compute Gallery, which are exactly the tools organizations would use to manage standardized images in an ITIL service catalogue context. These show how to go beyond just marketplace images to create custom, compliant images.
gives me the ITIL service catalogue framework that ties everything together, while show how Citrix implements this in practice, which validates the approach.
I will organize this as an updated service catalogue, keeping the same structure but enhancing each tier with OS image options. For the user reading on a mobile phone, I will avoid markdown tables and instead use clear sections and bullet points. I will include specific guidance about moving from public images to custom images, as that’s a natural evolution for ITIL governance.
I have updated the TerraCorp Solutions Azure VM Service Catalogue to include specific, pre-approved OS image options for each service tier. This is a key governance mechanism in ITIL service design, ensuring deployments are consistent, secure, and supportable.
Key Governance Principle: While initial deployments can use approved public images, the strategic goal is to migrate to custom images managed via Azure Compute Gallery (ACG). This allows for pre-hardened, patched, and application-specific base images (e.g., “Web Server with .NET 8”) that encapsulate corporate standards.
🖥️ Enhanced TerraCorp Solutions Azure VM Service Catalogue (With OS Images)
Service 1: Development & Testing Sandbox
For individual developer testing, POCs, and short-term experiments.
- Service Code: VM-DEV-SANDBOX
- Approved Public OS Images: Select one during provisioning.
- Windows 10/11
- Ubuntu Server 22.04 LTS or 24.04 LTS
- Target Custom Image: TerraCorp-Windows11-Dev or TerraCorp-Ubuntu2204-Dev (via ACG, with dev tools pre-installed).
- Configuration: Standard_B2s (burstable), 128GB Standard SSD.
- Request: Developer self-service via catalogue.
Service 2: Shared Application Server (Standard)
For hosting internal web apps, APIs, and mid-tier business services.
- Service Code: VM-APP-STANDARD
- Approved Public OS Images:
- Windows Server 2022 Datacenter
- Red Hat Enterprise Linux (RHEL) 8.6+
- Target Custom Image: TerraCorp-Win2022-Base or TerraCorp-RHEL8-Base (via ACG, hardened to CIS baseline).
- Configuration: Standard_D4s_v3, 256GB Premium SSD, Azure Backup enabled.
- Request: Team lead approval.
Service 3: High-Performance Compute Node
For data processing, batch jobs, and medium-duty analytics.
- Service Code: VM-COMPUTE-PERFORM
- Approved Public OS Images:
- Ubuntu Server 20.04/22.04 LTS (with HPC tools)
- CentOS (or compatible AlmaLinux/Rocky Linux images)
- Target Custom Image: TerraCorp-Ubuntu-HPC (via ACG, with MPI libraries and monitoring agents).
- Configuration: Standard_F8s_v2, part of a scale set.
- Request: Manager + architecture review.
Service 4: Memory-Optimized Database Host
For in-memory caches, relational databases (SQL Server), and SAP applications.
- Service Code: VM-DB-MEMOPT
- Approved Public OS Images:
- Windows Server 2022 (for SQL Server deployments)
- SUSE Linux Enterprise Server (SLES) 15 SP4+ (for SAP)
- Target Custom Image: TerraCorp-SQLServer-Enterprise or TerraCorp-SLES15-SAP (via ACG, pre-configured for performance).
- Configuration: Standard_E4s_v3 (32GB RAM), 1TB Premium SSD RAID.
- Request: Director + DBA team approval.
⚙️ Implementing OS Image Governance
The approved images are enforced using parameters in the Azure Managed Applications ARM templates. Here is how to manage the lifecycle:
**1. Initial Deployment (Using Public Images):
The ARM template’s imageReference section is restricted to a list of allowed publishers, offers, and SKUs derived from the approved list.
json
“imageReference”: {
“publisher”: “[parameters(‘osPublisher’)]”,
“offer”: “[parameters(‘osOffer’)]”,
“sku”: “[parameters(‘osSku’)]”,
“version”: “latest”
}
**2. Strategic Standardization (Using Azure Compute Gallery):
- Build: Use Azure VM Image Builder to automate the creation of custom golden images from the approved public bases, injecting security patches, agents, and configurations.
- Store & Share: Distribute these images globally using Azure Compute Gallery (ACG). ACG provides versioning, replication, and RBAC-controlled sharing across subscriptions.
- Consume: Update the Service Catalogue ARM templates to point to the specific image version in your ACG, guaranteeing absolute consistency.
🔍 How to Select an OS Image
When requesting a VM, users should consider:
- Application Dependency: Does your software require a specific OS (e.g., Windows for .NET, RHEL for supported enterprise software)?
- Support Model: Does your team have expertise in Linux administration, or is a Windows environment required?
- Security & Compliance: For regulated workloads, the pre-hardened custom images from ACG will be mandatory.
I hope this enhanced catalogue provides the clarity needed for standardizing VM deployments. Would you like a deeper dive into the configuration of Azure VM Image Builder or the structure of an Azure Compute Gallery?