Skip to content

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
  • 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

  1. Pilot Services: Launch 2-3 high-demand services
  2. Feedback Incorporation: Refine based on user feedback
  3. Full Catalogue Rollout: Phased deployment of all services
  4. 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

  1. 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”]

    }

  }

}

  1. 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

  1. 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         │

└─────────────────┴─────────────────────┴──────────────────┘

  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:

  1. User requests VM via Service Catalogue
  2. System applies mandatory tags:

   – workloadType: (web, app, db, other)

   – environment: (dev, test, prod)

   – costCenter: (required for chargeback)

  1. 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

  1. 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”

    }

  }

}

  1. Service Catalogue UI Patterns

Guided Selection Pattern

text

Service Catalogue VM Request Interface:

 

  1. Select Workload Purpose:

   ○ Web Server    ○ Application Server    ○ Database    ○ Other

 

  1. Based on selection, show only applicable sizes:

   – Web Server: Standard_D2s_v3, Standard_D4s_v3

   – Database: Standard_E4s_v3, Standard_E8s_v3

 

  1. Show estimated costs and quotas in real-time

 

  1. 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”]

}

  1. Exception Handling Pattern

Deviation Request Workflow

text

Standard Exception Process:

  1. User submits deviation request via Service Catalogue
  2. Automated checks:

   – Cost impact analysis

   – Technical justification required

   – Security review triggered for non-standard configs

  1. Approval workflow:

   – Technical Architect approval

   – Cost Center approval (if >20% over standard)

   – Security Team approval (if changing security baseline)

  1. If approved:

   – Temporary policy exemption granted

   – Additional monitoring applied

   – Scheduled review date set

Implementation Roadmap

Phase 1: Foundational Constraints

  1. Implement Azure Policy for SKU restrictions
  2. Create standardized ARM templates
  3. Define 3-4 standard VM sizes

Phase 2: Service Catalogue Integration

  1. Build Service Portal with guided selection
  2. Implement quota management
  3. Create approval workflows

Phase 3: Advanced Governance

  1. Implement tag-based policies
  2. Add cost control mechanisms
  3. Deploy automated compliance scanning

Phase 4: Optimization

  1. Analyze usage patterns
  2. Right-size recommendations
  3. 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

  1. 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.

  1. 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.

  1. 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:
    1. Select workload purpose (web server, application server, database)
    2. Choose environment type (development, test, production)
    3. Pick from pre-approved size options
    4. Select from approved operating system images
    5. 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.

  1. Policy Enforcement Patterns

Multi-Layer Constraint Pattern

This pattern applies governance at multiple levels for defense in depth.

  1. 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
  2. Landing Zone Level: Specific constraints for workload types
    • Business unit-specific SKU lists
    • Environment-based restrictions (dev vs prod)
    • Cost center validation
  3. 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.
  1. 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.

  1. 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
  1. 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)

  1. Define standard VM sizes (start with 3-4 options)
  2. Implement basic Azure Policy constraints
  3. Create simple ARM templates for common scenarios
  4. Set up basic quota management

Phase 2: Build Service Catalogue (Weeks 5-8)

  1. Develop service portal with guided selection
  2. Implement approval workflows
  3. Create standardized deployment pipelines
  4. Establish monitoring and reporting

Phase 3: Enhance Governance (Weeks 9-12)

  1. Implement tag-based policies
  2. Set up cost control mechanisms
  3. Develop compliance scanning
  4. Create exception management process

Phase 4: Optimize and Expand (Ongoing)

  1. Analyze usage patterns for right-sizing
  2. Refine standard offerings based on demand
  3. Expand to additional workload types
  4. 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

  1. Identify your workload type (Web, Application, or Database)
  2. Select the appropriate tier based on your needs
  3. Submit request through ServiceNow portal
  4. 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

  1. User selects service code from catalogue
  2. Completes online form with:
  • Business justification
  • Cost center chargeback
  • Required deployment date
  • Team contact information
  1. Automated checks:
  • Quota validation
  • Budget approval
  • Policy compliance
  1. Approval workflow (based on tier)
  2. Automated deployment
  3. Notification and documentation

Exception Process

For requirements not covered by standard offerings:

text

  1. Submit “Deviation Request” form
  2. Required information:
  • Technical justification
  • Business impact
  • Cost comparison vs. standard
  • Duration of need
  1. Review by Cloud Architecture Board
  2. If approved:
  • Temporary policy exception granted
  • Additional monitoring applied
  • Scheduled review at 6 months

GOVERNANCE RULES

Automatic Policies Applied

  1. Naming Convention: [Env]-[AppCode]-[Role]-[Number]
    *Example: prod-webapp-web-01*
  2. Mandatory Tags:
    • costCenter: [required]
    • application: [required]
    • environment: dev/test/prod
    • owner: [team email]
  3. Security Baselines:
    • Microsoft Defender for Cloud enabled
    • Disk encryption required
    • NSG rules logged and monitored
    • No public IP without justification
  4. 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

  1. Determine your application type (Microservices, Batch, AI/ML, etc.)
  2. Select tier based on environment and requirements
  3. Choose appropriate node pool configuration
  4. 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

  1. Network Security:
  • Private clusters only (no public API endpoint)
  • Authorized IP ranges for management
  • Network policies enforcing pod-to-pod rules

 

  1. Identity & Access:
  • Azure AD integration mandatory
  • RBAC with least privilege
  • Pod identity (workload identity)
  • No cluster-admin users

 

  1. Container Security:
  • Image scanning in pipeline
  • Only approved registries (ACR, Docker Hub approved)
  • Non-root user enforcement
  • Seccomp/AppArmor profiles

 

  1. 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

  1. Spot Instances: Available for appropriate workloads (save 60-90%)
  2. Reserved Instances: 1-year or 3-year reservations (save up to 72%)
  3. Auto-scaling: Scale down during off-hours
  4. Right-sizing: Monthly recommendations based on usage
  5. 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

  1. 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)

 

  1. Architecture Review (for Tier 3+):
  • Capacity planning assessment
  • Network topology review
  • Security control validation

 

  1. Provisioning:
  • Automated Terraform deployment
  • Security baseline application
  • Monitoring setup
  • Access configuration

 

  1. 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 StorageAzure 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.

  1. 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.
  1. 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.
  1. 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.

  1. 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.
  1. 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.
  1. 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:

  1. 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.
  1. 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:

  1. Publish: The IT platform team publishes each service (ARM + UI template) to a private Azure Service Catalog.
  2. 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).
  3. 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:

  1. Log into the Azure Portal.
  2. Search for and navigate to “Service Catalog”.
  3. Browse or search for the desired service code (e.g., VM-APP-STANDARD).
  4. Click “Create” and fill in the guided form (name, select from approved options).
  5. 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:

  1. User selects service (e.g., LB-INT-STANDARD) from the Service Catalogue portal.
  2. The system presents a simplified form based on the underlying ARM template’s parameters (e.g., naming, backend subnet).
  3. 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.

  1. 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.
  1. 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.
  1. 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).
  1. 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:

  1. Need to connect your Azure network to your on-premises corporate network?
  • Use a Virtual Network Gateway.
  1. Need to manage, protect, and load balance traffic to a web application (HTTP/HTTPS)?
  • Use an Application Gateway.
  1. Need to publish, version, secure, and monitor REST or GraphQL APIs?
  • Use API Management.
  1. 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.

  1. 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.

  1. Need to connect your Azure network to your on-premises corporate network?
  • Use a Virtual Network Gateway.
  1. Need to manage, protect, and load balance inboundtraffic to a web application (HTTP/HTTPS)?
  • Use an Application Gateway.
  1. Need to provide secure, scalable outbound-onlyinternet connectivity for VMs (no inbound access)?
  • Use a NAT GatewayThis is the new path.
  1. Need to publish, version, secure, and monitor REST or GraphQL APIs?
  • Use API Management.
  1. 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:

  1. Application Dependency: Does your software require a specific OS (e.g., Windows for .NET, RHEL for supported enterprise software)?
  2. Support Model: Does your team have expertise in Linux administration, or is a Windows environment required?
  3. 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?