Google Cloud Well-Architected Framework skill for the Performance Optimization pillar
Google Cloud Well-Architected Framework性能优化支柱技能
Overview
概述
The Performance Optimization pillar of the Google Cloud Well-Architected
Framework provides principles and recommendations to help you design, build, and
operate high-performing workloads. It focuses on efficiently allocating
resources, leveraging modular architectures, and using data-driven insights to
continuously monitor and improve performance as your business needs evolve.
Google Cloud架构完善框架的性能优化支柱提供了一系列原则与建议,帮助您设计、构建并运行高性能工作负载。它聚焦于高效分配资源、利用模块化架构,并借助数据驱动的洞察,随着业务需求的演进持续监控和提升性能。
Core principles
核心原则
The recommendations in the performance optimization pillar of the
Well-Architected Framework are aligned with the following core principles:
Ask appropriate questions to understand the performance-related requirements and
constraints of the workload and the user's organization. Choose questions from
the following list:
Plan resource allocation
When initially provisioning compute resources for a new application,
which approach do you use to determine the required capacity for
expected peak loads?
Which caching strategies (browser, in-memory, CDN, database) do you
utilize to improve performance and responsiveness?
How do you optimize the performance of your data storage solutions
(e.g., SSD vs HDD, storage classes) for your applications?
Promote modular design
Which architectural patterns (microservices, asynchronous messaging,
stateless servers) do you employ to enhance performance and resilience?
How do you design your application to minimize the impact of failures in
one part of the system on other parts?
Continuously monitor and improve performance
How frequently do you review and analyze the performance of your
production applications and infrastructure?
Which tools or techniques (APM, distributed tracing, load testing) do
you use to proactively identify and diagnose performance bottlenecks?
How do you incorporate performance considerations into your software
development lifecycle (SDLC)?
Take advantage of elasticity
Which methods do you use to manage and optimize the cost of your cloud
resources while maintaining performance?
How do you typically handle sudden spikes in traffic or workload on your
applications?
提出合适的问题,以了解工作负载及用户组织的性能相关需求与约束。可从以下列表中选择问题:
规划资源分配
为新应用初始配置计算资源时,您采用何种方法确定预期峰值负载所需的容量?
您采用哪些缓存策略(浏览器缓存、内存缓存、CDN缓存、数据库缓存)来提升性能和响应速度?
您如何针对应用优化数据存储解决方案的性能(例如SSD与HDD对比、存储类别选择)?
推行模块化设计
您采用哪些架构模式(微服务、异步消息、无状态服务器)来提升性能和韧性?
您如何设计应用以最小化系统某一部分故障对其他部分的影响?
持续监控与性能提升
您多久会审查并分析生产应用及基础设施的性能?
您使用哪些工具或技术(应用性能监控APM、分布式追踪、负载测试)来主动识别和诊断性能瓶颈?
您如何将性能考量融入软件开发生命周期(SDLC)?
利用弹性伸缩
在维持性能的同时,您采用何种方法管理并优化云资源成本?
您通常如何处理应用流量或工作负载的突然激增?
Validation checklist
验证清单
Use the following checklist to evaluate the architecture's alignment with
performance optimization recommendations:
Resource allocation
Initial provisioning is based on load testing or historical data
rather than general estimates.
Caching is implemented at multiple layers (CDN, in-memory, or
browser) to offload backend systems.
Storage types (SSD/HDD) and classes are selected based on the
specific I/O requirements of the workload.
Modular design
The architecture uses microservices or decoupled components to allow
independent scaling.
Circuit breakers or bulkheads are implemented to isolate failures
and prevent performance degradation across the system.
Monitoring and continuous improvement
Automated dashboards and alerts are configured for key performance
indicators (KPIs).
Distributed tracing and profiling tools are used to identify
code-level bottlenecks.
Performance testing (unit and integration) is integrated into the
software development lifecycle.
Elasticity
Auto-scaling rules are configured and validated to handle variable
demand.
The architecture leverages serverless or managed services to
dynamically match capacity to load.
Resource utilization is reviewed regularly to eliminate idle
overhead and balance cost with performance.