关于 azure-well-architected-framework
面向架构师和工程师的参考技能,介绍如何应用 Azure Well-Architected Framework。内容围绕五大支柱组织设计建议,并提供评估步骤和 Azure 示例。
主要功能
- 01覆盖五大架构支柱的指导
- 02可靠性与灾难恢复实践
- 03安全与访问控制建议
- 04成本和性能优化建议
- 05评估与实施清单
适用场景
- 01审查 Azure 解决方案架构
- 02规划恢复与可用性措施
- 03寻找安全和成本改进点
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ josiahsiegel/ claude-plugin-marketplace --skill azure-well-architected-framework安装后在 Claude Code 中输入/azure-well-architected-framework确认已加载。
详细介绍
Azure Well-Architected Framework
Azure Well-Architected Framework 是一套用于构建高质量云解决方案的指导原则,由五大架构卓越支柱组成。
概述
目的:帮助架构师和工程师为应用构建安全、高性能、弹性且高效的基础设施。
五大支柱:
- 可靠性
- 安全性
- 成本优化
- 卓越运营
- 性能效率
支柱 1:可靠性
定义:系统从故障中恢复并继续运行的能力。
关键原则:
- 面向故障进行设计
- 使用可用性区域和区域
- 实现冗余
- 监控故障并做出响应
- 测试灾难恢复
最佳实践:
可用性区域:
# Deploy VM across availability zones
az vm create \
--resource-group MyRG \
--name MyVM \
--zone 1 \
--image Ubuntu2204 \
--size Standard_D2s_v3
# Availability SLAs:
# - Single VM (Premium SSD): 99.9%
# - Availability Set: 99.95%
# - Availability Zones: 99.99%
备份和灾难恢复:
# Enable Azure Backup
az backup protection enable-for-vm \
--resource-group MyRG \
--vault-name MyVault \
--vm MyVM \
--policy-name DefaultPolicy
# Recovery Point Objective (RPO): How much data loss is acceptable
# Recovery Time Objective (RTO): How long can system be down
运行状况探测:
- Application Gateway 运行状况探测
- Load Balancer 探测
- Traffic Manager 终结点监控
支柱 2:安全性
定义:保护应用和数据免受威胁。
关键原则:
- 深度防御
- 最小特权访问
- 保护网络安全
- 保护静态和传输中的数据
- 监控和审计
最佳实践:
身份和访问:
# Use managed identities (no credentials in code)
az vm identity assign \
--resource-group MyRG \
--name MyVM
# RBAC assignment
az role assignment create \
--assignee <principal-id> \
--role "Contributor" \
--scope /subscriptions/<subscription-id>/resourceGroups/MyRG
网络安全:
- 使用网络安全组(NSG)
- 部署 Azure Firewall 或 Application Gateway WAF
- 为 PaaS 服务使用专用终结点
- 为面向公众的应用启用 DDoS Protection Standard
数据保护:
# Enable encryption at rest (automatic for most services)
# Enable TLS 1.2+ for data in transit
# Azure Storage encryption
az storage account update \
--name mystorageaccount \
--resource-group MyRG \
--min-tls-version TLS1_2 \
--https-only true
安全监控:
# Enable Microsoft Defender for Cloud
az security pricing create \
--name VirtualMachines \
--tier Standard
# Enable Azure Sentinel
az sentinel onboard \
--resource-group MyRG \
--workspace-name MyWorkspace
支柱 3:成本优化
定义:管理成本,以最大化交付的价值。
关键原则:
- 规划并估算成本
- 优化资源配置
- 使用监控和分析
- 最大限度提高云支出的效率
最佳实践:
调整资源规模:
# Use Azure Advisor recommendations
az advisor recommendation list \
--category Cost \
--output table
# Common optimizations:
# 1. Shutdown dev/test VMs when not in use
# 2. Use Azure Hybrid Benefit for Windows/SQL
# 3. Purchase reservations for consistent workloads
# 4. Use autoscaling to match demand
预留实例:
- 承诺使用 1 年或 3 年
- 与按需付费相比,最高可节省 72%
- 适用于 VM、SQL Database、Cosmos DB、Synapse 和 Storage
Azure 混合权益:
# Apply Windows license to VM
az vm update \
--resource-group MyRG \
--name MyVM \
--license-type Windows_Server
# SQL Server Hybrid Benefit
az sql vm create \
--resource-group MyRG \
--name MySQLVM \
--license-type AHUB
成本管理:
# Create budget
az consumption budget create \
--budget-name MyBudget \
--category cost \
--amount 1000 \
--time-grain monthly \
--start-date 2025-01-01 \
--end-date 2025-12-31
# Set up alerts at 80%, 100%, 120% of budget
支柱 4:卓越运营
定义:确保系统在生产环境中持续运行的运维流程。
关键原则:
- 自动化运维
- 监控并获取洞察
- 改进运维流程
- 预判故障
- 及时应用更新
最佳实践:
基础设施即代码:
# Use ARM, Bicep, or Terraform
# Version control all infrastructure
# Implement CI/CD for infrastructure
# Example: Bicep deployment
az deployment group create \
--resource-group MyRG \
--template-file main.bicep \
--parameters @parameters.json
监控和警报:
# Application Insights for apps
az monitor app-insights component create \
--app MyApp \
--location eastus \
--resource-group MyRG
# Log Analytics for infrastructure
az monitor log-analytics workspace create \
--resource-group MyRG \
--workspace-name MyWorkspace
# Create alerts
az monitor metrics alert create \
--name HighCPU \
--resource-group MyRG \
--scopes <vm-id> \
--condition "avg Percentage CPU > 80" \
--description "CPU usage is above 80%"
DevOps 实践:
- 持续集成/持续部署(CI/CD)
- 蓝绿部署
- 金丝雀发布
- 功能标志
- 自动化测试
支柱 5:性能效率
定义:系统适应负载变化的能力。
关键原则:
- 水平扩展
- 选择合适的资源
- 监控性能
- 优化网络和数据访问
最佳实践:
扩展:
# Horizontal scaling (preferred)
# VM Scale Sets
az vmss create \
--resource-group MyRG \
--name MyVMSS \
--image Ubuntu2204 \
--instance-count 3 \
--vm-sku Standard_D2s_v3
# Autoscaling
az monitor autoscale create \
--resource-group MyRG \
--resource MyVMSS \
--resource-type Microsoft.Compute/virtualMachineScaleSets \
--name MyAutoscale \
--min-count 2 \
--max-count 10
缓存:
- Azure Cache for Redis
- 用于静态内容的 Azure CDN
- 应用级缓存
数据访问:
- 在数据库上使用索引
- 实施缓存策略
- 使用 CDN 进行全球内容分发
- 优化查询(SQL、Cosmos DB)
网络:
# Use Azure Front Door for global apps
az afd profile create \
--profile-name MyFrontDoor \
--resource-group MyRG \
--sku Premium_AzureFrontDoor
# Features:
# - Global load balancing
# - CDN capabilities
# - Web Application Firewall
# - SSL offloading
# - Caching
评估和工具
Azure Well-Architected Review:
# Self-assessment tool in Azure Portal
# Generates recommendations per pillar
# Provides actionable guidance
Azure Advisor:
# Get recommendations
az advisor recommendation list --output table
# Categories:
# - Reliability (High Availability)
# - Security
# - Performance
# - Cost
# - Operational Excellence
实施清单
可靠性:
- 在多个可用性区域中部署
- 制定备份策略
- 定义 RTO 和 RPO
- 测试灾难恢复
- 实施运行状况监控
安全性:
- 启用 Azure AD 身份验证
- 实施 RBAC(最小权限)
- 加密静态和传输中的数据
- 启用 Microsoft Defender for Cloud
- 实施网络分段(NSG、防火墙)
- 使用 Key Vault 管理机密
成本优化:
- 合理调整资源规格
- 为可预测的工作负载购买预留实例
- 启用自动缩放
- 使用 Azure Hybrid Benefit
- 实施预算警报
- 查看 Azure Advisor 的成本建议
卓越运营:
- 实施基础设施即代码
- 设置 CI/CD 管道
- 启用全面监控
- 创建运维手册
- 实施自动警报
- 使用标记整理资源
性能效率:
- 选择合适的资源 SKU
- 实施自动缩放
- 使用缓存(Redis、CDN)
- 优化数据库查询
- 实施负载均衡
- 监控性能指标
常见模式
高可用 Web 应用程序:
- Application Gateway(已启用 WAF)
- App Service(Premium 层级,多个实例)
- Azure SQL Database(区域冗余)
- Azure Cache for Redis
- Application Insights
- Azure Front Door(全球分发)
任务关键型应用程序:
- 多区域部署
- Traffic Manager 或 Front Door(全局路由)
- 在每个区域使用可用性区域
- 地理冗余存储(GRS 或 RA-GRS)
- 使用地理复制进行自动备份
- 全面监控和警报
成本优化型开发/测试:
- 为 VM 启用自动关机
- B 系列(可突增)VM
- 开发/测试定价层级
- 共享 App Service 计划
- Azure DevTest Labs
参考资料
- 官方框架:https://learn.microsoft.com/en-us/azure/well-architected/
- Azure Advisor:https://portal.azure.com/#blade/Microsoft_Azure_Expert/AdvisorMenuBlade/overview
- 架构良构审查:https://learn.microsoft.com/en-us/assessments/azure-architecture-review/
- 架构中心:https://learn.microsoft.com/en-us/azure/architecture/
要点总结
- 平衡各支柱:各支柱之间存在权衡(例如,成本与可靠性)
- 持续改进:架构并非一成不变,应定期重新审视
- 衡量和监控:使用数据指导决策
- 自动化:自动执行重复性任务,以提高可靠性并降低成本
- 安全优先:将安全性融入架构的每一层
Well-Architected Framework 提供了一种一致的方法,用于评估架构并实施可随时间扩展的设计。
评论
支持 Markdown