Microsoft AZ-305: Well-Architected 框架与设计原则 — 学习指南
属于 Microsoft Azure Solutions Architect Expert AZ-305 — 学习指南. 使用经过验证的答案练习: Microsoft 考试中心, 或参加限时模拟考试: ExamRoll.io.
概述
Azure Well-Architected Framework (WAF) 是一套指导性原则,用于指导在 Azure 上设计、构建和运营可靠、安全、经济高效、卓越运营和高性能的工作负载。将解决方案与五大支柱——可靠性、安全性、成本优化、卓越运营和性能效率——对齐,可确保架构决策是在充分了解业务优先级、风险承受能力以及数据主权和预算等约束条件后做出的明确权衡。要大规模地实现一致性,需要将登陆区、策略驱动的治理和自动化作为默认配置。现代设计强调解耦、事件驱动通信以及 CQRS、绞杀者模式 (Strangler Fig) 和微服务等模式,并通过 Azure 原生服务和集成可观测性来实现,以适应快速变化和严格的合规性要求。
五大支柱:可靠性、安全性、成本、卓越运营、性能
可靠性确保工作负载在发生故障和变更期间能持续满足业务 SLA。通过跨可用区或区域对进行部署、选择内置高可用性 (HA) 的托管服务以及实施弹性模式,来为容错域和更新域进行设计。通过混沌工程和灾难恢复演练来测试可恢复性。对于有状态数据,选择具有 RPO/RTO 功能的服务——例如,Azure SQL Database Active Geo-Replication 或 Cosmos DB 多区域写入——并结合自动化备份和经过测试的运行手册。
安全性是基于零信任的纵深分层防御。通过 Azure RBAC、Privileged Identity Management (PIM) 和访问评审来实施最小权限原则,以确保持续的权限健康。使用专用终结点、NSG 和 Azure Firewall 隔离网络爆炸半径;在 Azure Front Door 或 Application Gateway 上集成 Web 应用程序防火墙 (WAF)。通过 Defender for Cloud 进行持续监控、在 Sentinel 中进行威胁检测以及实施严格的身份保护(MFA、条件访问)来贯彻“假设泄露”的原则。
成本优化旨在平衡业务价值和总拥有成本。根据遥测数据合理调整计算资源和层级;使用缩放来匹配需求并关闭非生产环境。对于稳定的工作负载,通过预留和节省计划进行承诺;利用 Spot VM 进行可中断计算;对存储和数据保留进行分层;在与工作负载特征相符的情况下优先使用无服务器架构。强制执行标记和预算,并使用 Azure Policy 来标准化成本控制。
卓越运营强调自动化、可重复性和学习循环。使用 Bicep/ARM 或 Terraform 将环境视为代码,强制执行漂移修复,并实施一致的 CI/CD。运营洞察来源于结构化日志、指标、跟踪和综合测试,所有这些都接入警报和 SLO 仪表板,以缩短 MTTR 并为主动改进提供信息。
性能效率确保工作负载在不同负载下都能满足吞吐量和延迟目标。为横向扩展进行设计,积极使用缓存,将内容推送到边缘,并选择适合访问模式的数据分区和只读副本。通过真实的负载测试进行验证,并基于证据进行调优。
Azure 中的可靠性与性能模式
弹性模式旨在降低故障发生的概率和影响,同时保持延迟的可预测性。
带指数退避和抖动的重试:使用 Azure SDK 的可配置重试策略或 Polly (.NET) 等库来处理来自 Storage、Service Bus 或 Cosmos DB 等服务的瞬时故障。带抖动的退避可以避免惊群效应;限制重试次数以保护 SLA 并及时暴露故障。
断路器:将出站调用(例如,对外部 API 的调用)包装在断路器中,以便在错误率超过阈值时快速失败,从而留出恢复时间。可以在客户端层使用 Polly 实现,或在网关层使用 API Management 策略(重试、超时和缓存)来实现,以避免级联故障。
舱壁:对资源进行分区,以防止一个“嘈杂邻居”耗尽整个系统的资源。隔离线程池、容器副本和消息处理分区。在平台层面,为每个限界上下文使用独立的 App Service 计划、AKS 节点池或 Service Bus 队列/主题来隔离故障。
健康终结点监控:在服务中暴露存活探针 (liveness probe) 和就绪探针 (readiness probe)。Application Gateway/Front Door 的健康探针仅将流量路由到健康的实例。在 AKS 中,Kubernetes 探针管理 Pod 重启和部署门控。结合 Application Insights 可用性测试和自定义的“/healthz”终结点,可以及早检测到依赖项的性能下降。
性能模式是对弹性的补充:
缓存策略:使用 Azure Cache for Redis 缓存热数据和卸载会话。在 Azure Front Door 或 API Management 对幂等的 GET 请求应用输出缓存。在适当的情况下,优先选择写穿透 (write-through) 或写回 (write-behind) 模式;通过键或事件使缓存失效以保持数据新鲜度。在数据层,Cosmos DB 的集成缓存可以为读取密集型工作负载降低 RU 消耗。
CDN:使用 Azure Front Door 或 Azure CDN 将静态资产和动态内容推送到离用户更近的位置,并启用压缩、TLS 和 WAF。配置基于规则的缓存、源健康检查和地理筛选,以优化延迟和成本。
只读副本:使用 Azure SQL Database 的可读辅助副本 (Active Geo-Replication) 或超大规模 (Hyperscale) 命名副本,来扩展读取密集型工作负载;使用 Azure Database for PostgreSQL/MySQL 的只读副本进行分析或报告;在 Cosmos DB 中启用多区域读取,并根据业务需求选择一致性模型(例如,会话、一致性前缀)。
自动缩放模式:通过 Virtual Machine Scale Sets、App Service 自动缩放规则、用于事件驱动扩展的 AKS HPA/KEDA 以及 Functions 的消耗/高级计划来实现水平扩展。对于数据,使用 Cosmos DB 的自动缩放 RU/s 和 Event Hubs 的自动扩充 (auto-inflate) 功能来处理突发流量。务必验证缩放阈值和冷却周期,以避免振荡。
卓越运营、成本优化和安全设计原则
基础设施即代码:标准化 Bicep/ARM 或 Terraform 模块,在 Git 中进行版本控制,并通过预部署测试和策略即代码进行验证。使用模板规范或 Terraform 注册表实现重用。按环境进行参数化,并强制实施一致的标签、资源锁和诊断设置。与 Azure DevOps 或 GitHub Actions 集成;使用分阶段部署和审批进行受控的发布。
部署自动化:优先采用部署槽、蓝绿部署和金丝雀发布策略,这些策略由 App Service、AKS(使用 Deployment 策略进行渐进式发布)以及用于加权路由的 Traffic Manager/Front Door 提供支持。通过迁移管道和向后兼容的契约来自动化数据库模式变更。使用健康探针和业务 KPI 作为发布门禁。
可观测性:使用 OpenTelemetry 检测应用程序,并将数据导出到 Application Insights 以进行分布式跟踪、指标收集和依赖关系映射。为平台指标启用 Azure Monitor,部署 Log Analytics 工作区,并为 SLO 和容量创建 Workbook 和仪表板。定义具有动态阈值的警报规则,与 ITSM 集成,并集中存储活动日志和诊断日志以供审计和取证。
规模优化与成本控制:使用 Azure Advisor、Azure Monitor 使用情况指标和 Application Insights 分析来识别浪费(如空闲核心、预配过多的 vCore、分配过多的 RU/s)。对稳定工作负载(VM、SQL、Synapse)应用预留/节省计划,对 Storage 应用预留容量,以及对 Cosmos DB 应用承诺套餐。为构建代理、批处理和带检查点的机器学习训练选择 Spot VM。平衡架构权衡:托管 PaaS 可以降低运维成本并提高可靠性,但单位成本更高;缓存可以降低数据出口和 RU 成本,但代价是缓存失效的复杂性增加;多区域高可用性会增加开销,但可能是 RTO/RPO 的要求。
安全原则实践:
- 纵深防御:从身份到数据分层控制。使用 Private Link 使流量远离公共互联网,使用 NSG 和 ASG 进行微分段,使用 Azure Firewall Premium 进行 TLS 检查,并在边缘使用 WAF。启用 Defender for Cloud 建议和即时 VM 访问。
- 最小权限:实施精细的 RBAC,范围限定在管理组/订阅/资源组级别;优先使用托管身份而非机密;通过 Azure Policy 进行大规模治理,并对组、企业应用和特权角色进行访问评审。
- 假设泄露:要求使用 MFA 和条件访问,使用 Sentinel 进行监控,并使用独立的登陆区域和订阅来隔离工作负载。使用平台密钥或 Key Vault 中的 CMK 对静态数据进行加密;在监管机构要求时使用双重加密。使用 SAS 进行有时限的存储访问,并按策略轮换密钥。
- 数据分类:使用 Microsoft Purview 对数据进行编目,标记敏感度,并强制执行 DLP。使加密、保留和访问策略与数据分类层级保持一致;记录对 PII 的访问,并在适用时通过动态数据屏蔽和 Always Encrypted 等功能支持隐私要求。
练习这些题目 → · 在 ExamRoll.io 上限时练习 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通过考试 →