Agent Skills

google-cloud-waf-performance-optimization

devopsgoogle8K installs

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). Use this skill to evaluate a workload, identify performance requirements, and provide actionable recommendations for resource allocation, modular design, and elasticity.

Install

npx skills add https://github.com/google/skills --skill google-cloud-waf-performance-optimization
SKILL.md

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:

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.

Related skills

azure-diagnosticsmicrosoft608KDebug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, troubleshoot functions, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, aazure-preparemicrosoft608KPrepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azazure-aimicrosoft608KUse for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.azure-deploymicrosoft607KExecute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: \"run azd up\", \"run azd deploy\", \"execute deployment\",

Search skills and MCP servers

Fuzzy search across 23,137 skills and servers