google/skills

google-cloud-waf-performance-optimization

- Generates performance-focused guidance for Google Cloud workloads based on the design principles and recommendations in the Performance Optimization pillar of the Google Cloud Well-Architected Framework (WAF).

View source
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

Google Cloud Well-Architected Framework skill for the Performance Optimization pillar

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.

Core principles

The recommendations in the performance optimization pillar of the Well-Architected Framework are aligned with the following core principles:

  • Plan resource allocation: Carefully select and configure the compute,

storage, and networking resources that best match the specific requirements of your workload. Grounding document: https://docs.cloud.google.com/architecture/framework/performance-optimization/plan-resource-allocation.md.txt

  • Take advantage of elasticity: Utilize automated scaling and serverless

technologies to dynamically adjust resource capacity in response to real-time demand fluctuations. Grounding document: https://docs.cloud.google.com/architecture/framework/performance-optimization/elasticity.md.txt

  • Promote modular design: Architect systems using independent, loosely

coupled components to enhance scalability and allow individual parts to be optimized without affecting the entire system. Grounding document: https://docs.cloud.google.com/architecture/framework/performance-optimization/promote-modular-design.md.txt

  • Continuously monitor and improve performance: Implement robust

observability to identify bottlenecks and use performance data to drive iterative enhancements throughout the software development lifecycle. Grounding document: https://docs.cloud.google.com/architecture/framework/performance-optimization/continuously-monitor-and-improve-performance.md.txt

Relevant Google Cloud products

The following are examples of Google Cloud products and features that are relevant to performance optimization:

  • Compute and scaling
  • Compute Engine (MIGs): Managed instance groups that support

autoscaling and load balancing for VM-based workloads.

  • Google Kubernetes Engine (GKE): Provides container orchestration

with horizontal and vertical pod autoscaling.

  • Cloud Run: A fully managed serverless platform that automatically

scales containers to zero or up based on traffic.

  • Data and caching
  • Cloud CDN: Low-latency content delivery network to cache static and

dynamic content closer to end-users.

  • Memorystore: Managed in-memory data store for Valkey and Redis to

provide sub-millisecond data access.

  • Bigtable: NoSQL database service for analytical and operational

workloads requiring low latency and high throughput.

  • Spanner: RDBMS that provides global consistency, high availability,

and horizontal scaling for mission-critical transactional applications.

  • Performance analysis and monitoring
  • Cloud Trace: Distributed tracing system that helps identify latency

bottlenecks.

  • Cloud Profiler: Continuous CPU and memory profiling to identify

resource-heavy application code.

  • Cloud Monitoring: Provides dashboards and alerts based on

performance KPIs like latency and throughput.

Workload assessment questions

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?

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.

from this repository

More skills

All skills
google
Community

cloud-build-basics

- Teaches the fundamentals of Google Cloud Build (GCB). Covers core concepts, API enablement, console navigation to the Build History page, and the end-to-end workflow for creating and manually running a basic build trigger. Do not use for managing private pools or complex pipeline architectures.

installs
7
GitHub stars
19 k
Updated
28 août
google
Community

cloud-logging-query-generation

- Generates Logging Query Language (LQL) queries for Google Cloud Logging from natural language. Use this skill when you need to query log data or when you are debugging issues. You can filter log data by Google Cloud service. Don't use this skill to query other databases, such as SQL or Cloud Spanner.

installs
7
GitHub stars
19 k
Updated
28 août
google
Community

cloud-monitoring-chart-generation

- Generates Google Cloud Monitoring Server-Driven UI (SDUI) Widget and XyChart Protocol Buffer textprotos from resolved PromQL or ListTimeSeries queries. Use when: - Generating valid google.monitoring.dashboard.v1.Widget textprotos, containing PrometheusQuery or TimeSeriesFilter datasets, for use with the Cloud Monitoring Dashboards API, gcloud CLI, or declarative dashboard definitions. - Synthesizing Server-Driven UI (SDUI) widget titles, axis labels, and plot types for Prometheus or ListTimeSeries queries. Don't use for: - Metric discovery or PromQL query generation. For those tasks, use the cloud-monitoring-metric-selection or cloud-monitoring-promql-query skills.

installs
7
GitHub stars
19 k
Updated
28 août
google
Community

cloud-monitoring-metric-selection

- Retrieve, query, and identify relevant Google Cloud Monitoring metric descriptors for a GCP service or resource (such as Compute Engine, Spanner, BigQuery, Cloud Run, Cloud SQL, Pub/Sub, Cloud Storage, etc.). Use when asked to find, list, search, or discover GCP metric types, names, kind/value schemas, or descriptors.

installs
7
GitHub stars
19 k
Updated
28 août