$npx -y skills add jmxt3/gitscape.ai --skill google-cloud-waf-reliabilityGenerates reliability-focused guidance for Google Cloud workloads based on the design principles and recommendations in the Google Cloud Well-Architected Framework. Use this skill to evaluate a workload, identify reliability requirements, and provide actionable recommendations fo
| 1 | # Google Cloud Well-Architected Framework skill for the Reliability pillar |
| 2 | |
| 3 | ## Overview |
| 4 | |
| 5 | The Reliability pillar of the Google Cloud Well-Architected Framework provides |
| 6 | principles and recommendations to help you design, deploy, and manage reliable, |
| 7 | resilient, and highly available workloads in Google Cloud. A reliable system |
| 8 | consistently performs its intended functions under defined conditions, is |
| 9 | resilient to failures, and recovers gracefully from disruptions, thereby |
| 10 | minimizing downtime, enhancing user experience, and ensuring data integrity. |
| 11 | |
| 12 | ## Core principles |
| 13 | |
| 14 | The recommendations in the reliability pillar of the Well-Architected Framework |
| 15 | are aligned with the following core principles: |
| 16 | |
| 17 | - **Define reliability based on user-experience goals**: Measurement of |
| 18 | reliability should reflect the actual experience of the system's users rather |
| 19 | than merely relying on infrastructure metrics. Focus on outcomes that matter |
| 20 | most to users. Grounding document: |
| 21 | https://docs.cloud.google.com/architecture/framework/reliability/define-reliability-based-on-user-experience-goals |
| 22 | |
| 23 | - **Set realistic targets for reliability**: Determine appropriate Service |
| 24 | Level Objectives (SLOs) that balance the cost and complexity of maximizing |
| 25 | availability against business requirements. Utilize error budgets to manage |
| 26 | feature velocity. Grounding document: |
| 27 | https://docs.cloud.google.com/architecture/framework/reliability/set-targets |
| 28 | |
| 29 | - **Build highly available systems through resource redundancy**: Eliminate |
| 30 | single points of failure by duplicating critical components across zones and |
| 31 | regions to maintain operations during localized outages. Grounding document: |
| 32 | https://docs.cloud.google.com/architecture/framework/reliability/build-highly-available-systems |
| 33 | |
| 34 | - **Take advantage of horizontal scalability**: Design system architectures to |
| 35 | scale horizontally (adding more instances) to seamlessly accommodate load |
| 36 | fluctuations and improve overall fault tolerance. Grounding document: |
| 37 | https://docs.cloud.google.com/architecture/framework/reliability/horizontal-scalability |
| 38 | |
| 39 | - **Detect potential failures by using observability**: Implement thorough |
| 40 | monitoring, logging, and alerting systems to proactively detect, diagnose, |
| 41 | and address anomalies before they cause user-facing issues. Grounding |
| 42 | document: |
| 43 | https://docs.cloud.google.com/architecture/framework/reliability/observability |
| 44 | |
| 45 | - **Design for graceful degradation**: Architect systems to maintain critical |
| 46 | functionality, even if at reduced performance or with limited features, when |
| 47 | dependencies fail or the system experiences extreme stress. Grounding |
| 48 | document: |
| 49 | https://docs.cloud.google.com/architecture/framework/reliability/graceful-degradation |
| 50 | |
| 51 | - **Perform testing for recovery from failures**: Build confidence in system |
| 52 | resilience by continuously simulating failures and verifying the |
| 53 | effectiveness of automated and manual recovery procedures. Grounding |
| 54 | document: |
| 55 | https://docs.cloud.google.com/architecture/framework/reliability/perform-testing-for-recovery-from-failures |
| 56 | |
| 57 | - **Perform testing for recovery from data loss**: Regularly test backup and |
| 58 | restore protocols to ensure rapid recovery from data corruption or loss, |
| 59 | remaining within the defined Recovery Time Objective (RTO) and Recovery Point |
| 60 | Objective (RPO). Grounding document: |
| 61 | https://docs.cloud.google.com/architecture/framework/reliability/perform-testing-for-recovery-from-data-loss |
| 62 | |
| 63 | - **Conduct thorough postmortems**: Foster a blameless culture by investigating |
| 64 | outages comprehensively to understand root causes, followed by implementing |
| 65 | measures that prevent recurrence. Grounding document: |
| 66 | https://docs.cloud.google.com/architecture/framework/reliability/conduct-postmortems |
| 67 | |
| 68 | ## Relevant Google Cloud products |
| 69 | |
| 70 | The following are _examples_ of Google Cloud products and features that are |
| 71 | relevant to reliability: |
| 72 | |
| 73 | - **Compute**: Compute Engine Managed Instance Groups (MIGs), Google Kubernetes |
| 74 | Engine (GKE), Cloud Run |
| 75 | - **Networking**: Cloud Load Balancing, Cloud CDN, Cloud DNS |
| 76 | - **Storage and databases**: Cloud Storage (multi-region), Cloud SQL High |
| 77 | Availability, Spanner, Filestore, Firestore |
| 78 | - **Operations**: Cloud Monitoring, Cloud Logging, Google Cloud Managed Service |
| 79 | for Prometheus |
| 80 | - **Disaster recovery**: Backup and DR Service, Filestore backups |
| 81 | |
| 82 | ## Workload assessment questions |
| 83 | |
| 84 | Ask appropriate questions to understand the reliability-related requirements and |
| 85 | constraints of the workload and the user's organization. Choose questions from |
| 86 | the following l |