Prepare and test your skills
Prepare and test your skills
A reliability target defines how much downtime and data loss a business can tolerate for a service or component. The target is usually expressed as an availability percentage with a number of nines, plus recovery objectives for time and data. Choosing a higher target reduces business impact but increases cost and complexity, so every extra nine carries an opportunity cost in engineering effort and delivery velocity.
Availability percentage is a direct promise about allowable downtime over a year. Yearly downtime equals 1 minus availability, multiplied by the minutes in a year, which is about 525,600 minutes. A 99.9% target allows about 0.1% downtime, or about 526 minutes per year, which is about 8.8 hours. A 99.99% target allows about 0.01% downtime, or about 52.6 minutes per year.
That tenfold difference in minutes translates into revenue loss, user impact, and reputation cost. Revenue loss can be estimated as downtime minutes multiplied by revenue per minute for the affected flow, such as orders placed and payments received. User impact grows when downtime blocks critical journeys like checkout, deployment, or autoscaling during peak demand. Brand reputation cost grows when failures are visible, repeated, or require manual workarounds, even if direct revenue loss is small.
Recovery targets prioritize components by how much their failure hurts developers and operations. Recovery time objective (RTO) sets how quickly service must be restored, and recovery point objective (RPO) sets how much data or configuration loss can be tolerated. Components with high developer impact and high operations impact have the greatest business impact and should have the lowest RTO and RPO objectives, meaning stricter and more expensive targets.
Artifact Registry (opens in a new tab) and source control management (SCM) sit in the highest-impact quadrant because an outage blocks builds, deployments, and autoscaling. Artifact Registry therefore needs lower RTO and RPO targets than the infrastructure as code (IaC) pipeline, whose outage has smaller operational impact because infrastructure can sometimes be updated by other methods. Test data sources sit in a moderate-developer and low-operations quadrant and can accept higher RTO and RPO objectives. The deployment pipeline sits in a moderate-developer and high-operations quadrant, between those extremes.
Exam tip: A lower RTO and RPO number means a stricter reliability target with less tolerable downtime and loss, so Artifact Registry needs lower objectives than the IaC pipeline.
Higher reliability for delivery systems is bought with duplicated infrastructure and production-grade operations. With the active/passive strategy, the passive continuous integration and continuous delivery (CI/CD) pipeline mirrors the active pipeline toolchain in a different region but stays in a scaled-down state without handling customer workload. If region1 fails with failed builds or deployments, the team updates the repository trigger from the external Git provider and switches to the region2 pipeline, which then becomes active.
The alternative high-level strategy is backup/restore, and the choice between active/passive and backup/restore depends on requirements and budget. Active/passive is most appropriate for business-critical applications where a small amount of downtime is tolerable, but it costs more because a full duplicate toolchain must be maintained. Treating deployment pipelines (opens in a new tab) and their infrastructure like production systems also raises cost, because the pipeline must meet the availability demands of production with the same access control, security, and quality standards, plus cached input artifacts and maintained emergency access paths.
Observability reduces business impact by detecting potential failures before they cause user-visible errors. Cloud Monitoring (opens in a new tab) and Cloud Logging track response times, error rates, and component dependencies so teams can make data-driven decisions about performance and reliability. The three signal types divide the work:
Deployment pipeline resilience also limits how reliability failures spread to the business. A deployment pipeline can cause outages by pushing faulty code or configuration and can prolong outages when the pipeline itself is broken and cannot be rerun to fix production. Emergency access reduces that dependency through an alternative path that works when the pipeline is unavailable:
Input artifact availability further protects recovery time by limiting third-party sources and maintaining a cache of libraries, container base images, and packages for use when npm, Maven Central, NuGet Gallery, or the central source repository is unavailable.
Evaluating the technical and financial costs of achieving higher reliability means comparing the investment in redundancy and geographic distribution against the marginal reduction in downtime and data loss. For AlloyDB Omni (opens in a new tab), that tradeoff is expressed through three availability reference architectures that address recovery time objective (RTO) and recovery point objective (RPO) requirements. Higher targets such as several 9s (99.99%) of availability with zero data loss upon recovery demand progressively more expensive architectures, while lower targets accept longer outages to save cost.
Failure scopes in AlloyDB Omni define the boundary of what an architecture must survive, and larger boundaries cost more to protect. A VM or instance failure affects a single database process, and a node or server failure affects the underlying host, while a zone failure means the whole data center housing the server fails. A region failure means the whole region containing multiple data centers (availability zones) is unavailable, for example due to flood or a large magnitude earthquake. The likelihood and risk of a disaster decrease for larger, rarer events while the cost of preventing those events increases, so businesses must determine their risk tolerance and choose whether to accept potential disruptions or invest in more resilient architectures.
AlloyDB Omni offers standard, enhanced, and premium availability architectures to protect databases from planned and unplanned outages, aligning with varying business needs. Standard Availability protects data using backups and is suited for development environments with basic protection needs. Enhanced Availability adds zonal replication in a region for high availability within one region, and Premium Availability adds zonal and regional replication for high availability plus disaster recovery across regions.
The three architectures support incrementally broader recovery scenarios:
| Disaster Type | Standard | Enhanced | Premium |
|---|---|---|---|
| VM/Instance Failure | Supported | Supported | Supported |
| Node/Server Failure | Supported | Supported | Supported |
| Zone Failure | Not supported | Supported | Supported |
| Regional Failure | Not supported | Not supported | Supported |
Moving from Standard to Enhanced buys survival of a full data-center loss through replicas in other zones of the same region, and moving from Enhanced to Premium buys survival of a full regional loss through replicas in a second region. Each step adds redundancy, cross-zone or cross-region data replication, and operational complexity for failover and recovery, which is why mission-critical applications use high availability and disaster recovery setups while development environments remain on backups alone.
Exam tip: Only Premium Availability survives a regional failure, while Standard Availability does not survive either a zone failure or a regional failure.
Balancing investment against business objectives means weighing the architectural, operational, and financial cost of the next tier against its marginal reduction in downtime and data loss. A business objective such as several 9s (99.99%) of availability and zero data loss upon recovery for mission-critical applications justifies the cost of zonal and regional replication despite duplicated infrastructure and more demanding recovery operations. A development workload with tolerant RTO and RPO requirements avoids that cost by accepting restore-from-backup, trading longer recovery and potential data loss for lower spend. The opportunity cost of reliability is therefore explicit: each additional nine requires protecting against rarer failures at sharply higher cost, so the correct architecture is the cheapest tier whose supported recovery scenarios meet the stated business objectives.
A cost-benefit framework for reliability decisions compares the cost of unavailability against the cost of prevention to set the right service-level objectives (SLOs) for each service tier. Cost of unavailability is lost deployments, failed autoscaling, prolonged outages, and developer downtime, while cost of prevention is duplicate infrastructure, larger machines, and continuous monitoring. Higher reliability with lower recovery time objective (RTO) and recovery point objective (RPO) targets always costs more in complexity and operations, so investment should follow business impact. The framework tiers services by impact, isolates strict SLOs where justified, and protects the delivery path itself.
Service tiering assigns the strictest RTO and RPO targets to components where an outage hurts both developers and operations the most. RTO is the amount of time it should take to restore service for a component, and RPO is how much data or configuration loss can be tolerated for that component. Components with high developer impact and high operations impact, such as source control management (SCM) and Artifact Registry (opens in a new tab), have the greatest impact on the business and therefore need the lowest RTO and RPO objectives.
An Artifact Registry outage directly blocks the ability to deploy or autoscale an application, while an infrastructure as code (IaC) pipeline outage has smaller impact because teams can use other methods to deploy or update infrastructure during the outage. The same logic places other toolchain components into lower tiers with higher, cheaper RTO and RPO objectives. Test data sources with moderate developer impact and low operations impact tolerate longer restoration times and more data loss than SCM. Cloud Key Management Service (Cloud KMS), the continuous integration (CI) pipeline, and the IaC pipeline sit in middle tiers with moderate impact on one or both dimensions. The deployment pipeline with moderate developer impact but high operations impact sits higher than test systems but below SCM and Artifact Registry, because failed deployments still disrupt operations.
The cost of prevention rises with the continuity strategy chosen for production and for continuous integration and continuous delivery (CI/CD) itself. For CI/CD, the two high-level strategies are active/passive (warm standby) and backup/restore, and the choice depends on requirements and budget with trade-offs in complexity and cost. In active/passive, the passive pipeline fully duplicates the application toolchain in a different region but stays in a scaled-down state without handling customer workload or builds. Region1 hosts the active pipeline that builds, tests, and deploys in response to repository events from an external Git provider, and a regional outage can be recovered by updating the trigger to switch to the region2 pipeline, which then becomes active.
Choose active/passive when the cost of unavailability justifies running and maintaining a mirror toolchain for business-critical applications where only a small amount of downtime is tolerable. Choose backup/restore when slower restoration and higher RTO and RPO are acceptable in exchange for lower infrastructure and operational cost. The same budget test applies to production dependencies beyond CI/CD, including network, computing, and storage, which each need a disaster recovery (DR) plan that is tested regularly. Prevention spending is justified only where the business cost of waiting for restore exceeds the cost of the standby capacity.
The pipeline decision for mixed SLOs determines whether one shared path must meet the strictest SLO or whether costs can be split by priority. A payment example uses an SLO of less than 10 minutes for high-priority payments and less than 24 hours for standard-priority payments that might not appear on a dashboard until the next day. A single pipeline receives notifications from a streaming source such as a Pub/Sub topic or Apache Kafka topic, immediately processes all payments, and writes events to BigQuery using streaming inserts. Separate pipelines isolate high-priority payments to a streaming pipeline and standard-priority payments to a daily batch pipeline that writes with BigQuery load jobs.
| Approach | Operational model | SLO and resource behavior |
|---|---|---|
| Single pipeline for mixed SLOs | One data source and one pipeline managed with Dataflow automatic tuning | Must meet the more stringent less-than-10-minute SLO for all payments; resources are shared with no prioritization of high-priority work or backlog |
| Multiple pipelines tailored for specific SLOs | Streaming pipeline for high-priority work plus daily batch pipeline for standard work sharing Apache Beam code except the initial bounded-source read | Assigns more Dataflow workers, larger machines, and auto-scaling to the high-priority pipeline; isolates sudden influxes of standard payments from delaying urgent work |
Exam tip: A single shared pipeline must deliver against the tighter SLO, while separate pipelines let the standard workload keep the looser less-than-24-hour SLO.
The separate-pipeline model lowers prevention cost for the loose SLO while concentrating spending where unavailability is most expensive. Isolation shortens processing time for urgent work without over-provisioning the entire system, and the shared Apache Beam transform library keeps development cost down despite running two pipelines.
Observability for reliability uses metrics, logs, and traces to monitor a system continuously and detect potential failures before errors occur. Cloud Monitoring (opens in a new tab) and Cloud Logging track key metrics like response times and error rates and verify that metrics meet workload needs, while default service metrics reveal component dependencies and their impact on overall performance. Teams can publish custom metrics with the Google Cloud software development kit (SDK) and enable robust logging across all components, including Cloud Storage access logs and Virtual Private Cloud (VPC) Flow Logs.
Logging carries cost, so log sinks can use exclusion filters to exclude certain logs from storage, and alerts should focus on critical metrics with appropriate thresholds to minimize alert fatigue and ensure timely response to significant issues.
The deployment pipeline itself affects service availability because the workflow depends on the pipeline and its infrastructure. A pipeline that pushes faulty code or configuration can cause an outage in a previously working system, and a broken or unavailable pipeline can prolong an outage when rerunning the pipeline is required to fix it. A pipeline that can cause or prolong outages poses a denial of service risk if a bad actor uses it to intentionally cause harm. Because pipelines connect development, staging, and production in ordered stages, the pipeline must meet the availability demands of the most demanding environment it touches, which is normally production.
Protection starts with emergency access that does not depend on the pipeline being operational. The procedure maintains one or more privileged user accounts for relevant Google Cloud resources, stores those credentials safely or brokers access through a privileged access management system, establishes a procedure that authorized employees follow to access the credentials, and audits and reviews use of those accounts. Input artifacts must meet the same or higher availability as the pipeline, so teams limit the number of sources for third-party libraries, container base images, and packages from sources like npm, Maven Central, or NuGet Gallery, and maintain a cache that pipelines can use when a source system is unavailable. Applied together, these controls keep the cost of prevention proportional to the tier while preventing the delivery system from becoming the single point of failure that determines service reliability.
A 99.9% availability target allows about 526 minutes of downtime per year, which is about 8.8 hours, while a 99.99% availability target allows about 52.6 minutes per year. Yearly downtime equals 1 minus availability multiplied by about 525,600 minutes, and revenue loss can be estimated as downtime minutes multiplied by revenue per minute for the affected flow.
Artifact Registry and source control management (SCM) need the lowest recovery time objective (RTO) and recovery point objective (RPO) because their outages block builds, deployments, and autoscaling and have high developer impact and high operations impact. An infrastructure as code (IaC) pipeline outage has smaller operational impact because infrastructure can sometimes be updated by other methods.
Only AlloyDB Omni Premium Availability survives a regional failure through zonal and regional replication, while Standard Availability survives neither a zone failure nor a regional failure. Enhanced Availability adds zonal replication in a region so it survives a zone failure but not a regional failure.
Use separate pipelines when high-priority and standard work have different service-level objectives (SLOs), such as less than 10 minutes for high-priority payments and less than 24 hours for standard payments. A single shared pipeline must meet the more stringent less-than-10-minute SLO for all payments, while separate pipelines isolate urgent streaming work from daily batch work so standard influxes do not delay urgent work.
An enterprise e-commerce platform running on Google Cloud consists of three distinct service tiers:
The leadership team wants to establish an SRE cost-benefit framework to set Service Level Objectives (SLOs) that balance reliability investments against feature velocity and development costs.
Which strategy should the organization implement to optimize reliability targets across these tiers?
Last updated