Prepare and test your skills

Prepare and test your skills

Designing for fault tolerance and managed restarts means keeping progress and data outside ephemeral compute so a failure resumes from the last good point. Cloud Storage (opens in a new tab) holds backups, exports, and transaction logs as replayable sources, Compute Engine (opens in a new tab) persistent disks and snapshots hold VM and filesystem state, and managed databases hold replicated table state. Together, checkpoints, durable copies, and replay steps let a pipeline restart without starting from the beginning.
Checkpointed processing is a design where a job writes regular progress markers to durable storage so replacement VMs can resume after preemption. Batch workloads and long-running training use this pattern because they tolerate interruptions and can run on cost-effective Spot VMs and preemptible instances, which Compute Engine can stop when capacity is needed elsewhere. When new VMs launch, the job reads the last checkpoint and continues after a short pause while replacements start. If the workload runs on Managed Service for Apache Spark, a managed instance group launches preemptible workers automatically. The dependency is two-sided: ephemeral workers do the work, then durable storage holds the state, then new workers read that state back before resuming.
A replayable source is a durable copy that can be re-applied in order to rebuild state, such as a full backup followed by transaction logs. In the database recovery topology, backup files and transaction logs flow from the on-premises database to a Cloud Storage bucket, then from the bucket to the recovery database instance in Google Cloud. Keeping logs in addition to full backups keeps recovery point objective (RPO) small, because replaying logs moves recovered state much closer to the failure point than the last full backup alone. When returning to production, the flow reverses: a backup of the database running in Google Cloud flows back to production, logs follow, and clients redirect only after logs are applied.
A typical recovery to a database server in Google Cloud follows a fixed order:
For analytics, append-only warehouses can often reproduce recent updates instead of restoring petabytes. Strategies include storing time-period data in different tables so only the affected slice is restored, and storing original data in Cloud Storage so a new table can be reloaded without corrupted rows. If corruption in BigQuery (opens in a new tab) is caught within 7 days, snapshot decorators query the table to a past point in time; otherwise an export creates a new table that excludes corrupted data.
Exam tip: Replication continuously copies changes, including corruption, to the replica, while point-in-time backups and snapshots preserve an earlier clean state for restore.
Durable storage for pipeline state separates where progress is kept from where compute runs, so disks, tables, and objects survive VM loss. Persistent Disk snapshots provide block-level copies that can recreate disks across regions, while regional persistent disks remove the explicit snapshot-restore step during recovery. Persistent Disk Asynchronous Replication provides asynchronous block replication with low RPO and low recovery time objective (RTO) for cross-region active-passive recovery at the infrastructure level.
Tiered object storage lowers the cost of older copies that are rarely read. A common pattern migrates backup data from persistent disks to Cloud Storage Nearline, Coldline, and Archive classes as likelihood of access decreases. Data in regional buckets replicates synchronously across zones in a region, while dual-region or multi-region buckets replicate asynchronously across regions. Nearline, Coldline, and Archive carry extra retrieval costs and minimum durations, so the choice trades lower storage cost against higher cost and delay on read-back.
Managed services add built-in durability. Bigtable replication adds availability, read throughput, and resilience to zonal or regional failures, while Bigtable backups save schema and data for restore to a new table. BigQuery stores data synchronously in two zones in the region, and tables unedited for 90 consecutive days move to long-term pricing with about a 50 percent price drop and no loss of performance. Spanner (opens in a new tab) uses multi-region configurations across zones in multiple regions, plus deletion protection, scheduled and cross-region backups, and point-in-time recovery for up to seven days.
Managed restart combines Compute Engine host policies, health-checked managed instance groups (MIGs), and automated restore workflows. The onHostMaintenance property set to MIGRATE keeps instances online during Google-initiated maintenance by live-migrating the VM to another host, and MIGRATE is the default. The automaticRestart property set to true, also the default, restarts an instance that crashes or becomes unresponsive. Live migration and automatic restart do not replace application redundancy across zones and regions.
A managed instance group (MIG) is the recovery controller that keeps the target number of identical VMs running from an instance template. The MIG depends on the instance template, which depends on the custom VM image, so a replacement is configured identically to the failed VM. When a VM fails its health check, the MIG deletes and recreates it without operator action. For a cold single-writer case, the MIG uses target size of one. An external Application Load Balancer preserves the same frontend IP while the MIG replaces backends, and Cloud DNS with health checks moves client traffic between primary and recovery environments. A startup script completes recovery by querying the latest snapshot, creating and mounting a disk from it, and starting the application, so data flows from snapshot to new disk to replacement VM.
Resilient deployments also combine broader practices:
Recovery readiness describes how much of the recovery environment runs before failure, which controls RTO and cost. Cold keeps minimal resources and builds after failure, warm keeps a small standby receiving replication, and hot runs both environments in production serving traffic. Cold is cheapest with the longest pause, warm shortens the pause because replication and snapshots are current, and hot minimizes intervention because only rerouting is needed.
| Pattern | What runs before failure | Restart behavior |
|---|---|---|
| Cold | Minimal resources, custom images, backups, Deployment Manager template | Deploy from template, restore backup and logs, point Cloud DNS to Google Cloud |
| Warm | Small database accepting replication, snapshots, capacity reservations | Resize database, create web and app instances from snapshots, point Cloud DNS |
| Hot | Both environments serving production with replication and regional MIGs | Reroute DNS to survivor and promote read-only replica to writeable primary if not automatic |
After the failed environment can handle traffic again, databases must resynchronize before traffic spreads across both sides, otherwise writes diverge. Ecommerce mixes patterns by keeping purchasing hot while order-notification email tolerates hours of delay as warm or cold. Video search and streaming need hot throughout for availability and low latency.
Proactive fault tolerance prevents one failing component from cascading into a full outage. The circuit breaker pattern blocks new requests to an overloaded service after error or latency thresholds, giving it time to recover. Exponential backoff increases waits between retries to prevent retry storms. Graceful degradation keeps essential functions running with reduced performance, stale cache data, or a simpler model. A service mesh applies retries, failovers, and circuit breakers on traffic flowing from caller to destination, while API Gateway adds rate limiting and quotas at the entry point.
Caching enables degradation for data workloads. Requests flow from the application to the cache instead of the overloaded storage layer, so the cache continues serving even if data is incomplete. Memorystore for Redis (opens in a new tab) provides managed in-memory access with cross-zone replication and automatic failover in high-availability configuration. Cloud Monitoring and model monitoring detect latency, throughput, GPU, and drift signals against thresholds, then trigger replacement, autoscaling, or retraining under service level objectives.
Continue with this study guide: Designing system for fault tolerance and managing restarts
Architecting resilient workflows across regions means placing compute and data so processing survives a zonal outage and can recover from a regional outage. A resilient design uses regional resources across zones, multi-regional resources across regions, and a planned replica in a secondary region with replication and rerouting. The design balances availability against cost, latency, consistency, and data sovereignty.
Resource scope determines which failure a workflow survives. Compute Engine virtual machines and zonal Persistent Disk operate in one zone, regional managed instance groups and App Engine spread across zones in one region, and Google-managed multi-regional services distribute within and across regions. A zone is a single-failure domain.
| Resource scope | Failure domain | Resilience guarantee |
|---|---|---|
| Zonal resources | Single zone | Unavailable until that zone recovers |
| Regional resources | Multiple zones in one region | Resilient to loss of one zone in the region |
| Multi-regional resources | Multiple regions | Designed to function after loss of one region, with latency or consistency tradeoffs |
Cloud Storage (opens in a new tab), BigQuery, Spanner, Firestore, Backup and DR, Cloud KMS, and Storage Transfer Service are multi-regional examples. If one region fails, only customers solely in that region are impacted, while multi-regional users are not. Google Cloud designs against correlated cross-region failures so one regional failure does not cascade.
Exam tip: Regional resources survive a zonal outage but fail in a regional outage; only multi-regional resources or a separate failover region survive loss of an entire region.
The regional deployment archetype runs application instances in two or more zones with data replicated synchronously across zones. Traffic flows from users to a regional external load balancer, then to frontend instances, then through a regional internal load balancer to backend instances, and finally to a database replicated across zones. If a zone fails, the database fails over to a replica in another zone.
Compute depends on regional managed instance groups (opens in a new tab) that provision VMs across zones and recreate failed VMs to maintain capacity. Because load balancers are regional, the load balancer itself survives a single zone outage. The topology stays available while at least one functioning component with adequate capacity exists in every tier, but it does not survive a regional outage.
The failover pattern for regional outages keeps a passive replica stack in a second region. The primary region handles active processing while the failover region holds data copies and lower-capacity compute to control cost. Recovery follows an ordered sequence:
For data, the strategies are managed multi-regional storage, snapshotting zonal or regional data to multi-regional storage, or self-replicated copies to other regions. For compute, the strategy is bringing up the application in another region against copies of primary data. Cross-region backups and replication depend on cross-region networking.
Global dependencies support this failover. The global backbone, points of presence, global load balancers, and DNS carry traffic within Google's network close to its destination. IAM policies, firewall rules, load balancer configs, and Pub/Sub topics sit in replicated databases. Lower-level dependencies include Borg for scheduling, Colossus for storage, and key management for Cloud KMS and Cloud External Key Manager.
Data residency controls bind job execution to approved locations without blocking multi-region designs that use only approved regions. Assured Workloads combines a dedicated folder with the Resource Locations organization policy constraint constraints/gcp.resourceLocations to restrict where new resources can be created. Customer Data at rest for location-configurable services stays in the selected region or multi-region, and Customer Data in use is processed only in that region country or multi-region countries. If the region is in the European Union, processing stays in the European Union but not necessarily the same country.
Regional encryption centers on Cloud Key Management Service (opens in a new tab), which manages customer-managed encryption keys (CMEK) for envelope encryption. Services such as BigQuery and Cloud Storage fetch the key encryption key (KEK) from Cloud KMS to wrap the data encryption key (DEK) that encrypts data, so control of the KEK controls decryption. Cloud External Key Manager uses externally managed keys, and Cloud Hardware Security Module hosts keys in FIPS 140 validated hardware. Google encrypts data at rest by default with AES-256, encrypts inter-region traffic with MACsec, VM-to-VM traffic transparently, application traffic with TLS, and VPC to on-premises traffic with Cloud VPN tunnels.
Cross-region transfer governance combines a network perimeter that overrides permissive identity grants with inspection and key-level audit. Storage holding sensitive data sits inside a VPC Service Controls perimeter that blocks access from outside even when IAM would allow it. Access Context Manager grants entry only to principals matching an access level template. Sensitive Data Protection inspects, classifies, and de-identifies data by masking values such as credit card numbers and phone numbers before broader use.
Data flows through enforcement in order:
Key Access Justifications attaches a justification to every encrypt or decrypt request and allows automated approval or denial, while Access Approval and Access Transparency reveal administrator access for audit.
Optimizing locality means placing compute in the same zone or region as the Cloud Storage data it reads and writes. Data flows from bucket over the Google network to compute, so distance adds latency and transfer cost. Same-zone colocation gives the lowest latency, and AI work should provision the performance layer in the same AI zone as GPUs and TPUs to maximize goodput. An AI zone (opens in a new tab) such as europe-west4-ai1a belongs to a parent region but can be physically separate, so traffic from AI-zone compute to standard-zone services adds latency.
Bucket location trades locality against availability:
| Location type | Locality and performance | Availability and cost tradeoff |
|---|---|---|
| Zonal bucket with Rapid Bucket | Highest throughput in same zone; eliminates inter-zonal latency | Lives in one zone, so back up to regional or multi-region |
| Regional bucket | Low latency in same region; durable across zones | Survives zone loss; avoids extra replication charges for short-lived data |
| Dual-region bucket | Closer to two nearby regions | Survives zone loss with asynchronous cross-region replication |
| Multi-region bucket | Performance varies without colocation; add Rapid Cache for strict latency | Highest availability against region loss; good for serving and ad hoc analytics |
A tiered design pairs a regional source-of-truth bucket with a zonal performance layer. Rapid Cache is an SSD-backed zonal read cache that pulls files on first read and serves repeats from cache, warmed by a pre-read before training. Rapid Bucket is zonal high-throughput storage mounted with Cloud Storage FUSE for checkpointing and I/O-intensive reads and writes. Protect zonal data by writing hot output in-zone, copying to regional or multi-region with Storage Transfer Service, then expiring zonal copies with Object Lifecycle Management. Cloud Run (opens in a new tab) and Google Kubernetes Engine (GKE) should run redundantly across zones or regions behind load balancing that routes only to healthy instances.
Continue with this study guide: Running jobs in multiple regions or zones
Preparing for corruption and missing data combines continuous health dashboards with automated alerts and point-in-time recovery. Health Hub gives centralized visibility into feeds, sources, parsers, and log types, while Cloud Monitoring creates metrics-based alerting policies. Together they track completeness of volume, freshness of arrival, and consistency of parsing.
Centralized health observability with Health Hub shows Failed Sources and Failed Parsers in Big Number widgets plus a Health Status by Data Source table with Latest Issue Details such as Config credential issue or Normalization issue. Each source exposes Last Event Time and Last Ingested timestamps, with Edit Data Source and Edit Parser links for remediation. Health Hub refreshes approximately every 15 minutes.
A proactive check moves from summary to remediation:
Automated alerting with Cloud Monitoring selects ingestion metrics such as Total ingested log count or size, filters by collector_id or log_type, and aggregates with sum or mean grouped by project or collector. To detect silent forwarders, the condition uses Metric absence to trigger when logs stop flowing, for example for 60 minutes.
Completeness, freshness, and consistency thresholds turn monitoring into rapid response. Completeness catches volume anomalies, freshness catches latency and stalled collectors, and consistency catches failed parsing into Unified Data Model (UDM) structure.
| Dimension | Signal | Alert threshold |
|---|---|---|
| Completeness | Total ingested count and size by collector and log type | Drop when daily and weekly z-scores both below -1.645; surge when both above 1.645 |
| Freshness | Gap between Last Event Time and Last Ingested; Source to Ingestion latency | Gap over 30 minutes indicates source delay; 95th percentile delta investigated |
| Consistency | Parser error ratio and normalized-to-ingested ratio | Parser errors up 5 points versus prior day; normalization drop of 0.05 plus significance |
The irregularity engine looks back 15 days, compares the last 24 hours to baseline every hour, and accounts for weekly patterns. For volume it standardizes differences with z = (xi - x_bar) / stdev. Both daily and weekly scores must be significant, which suppresses one-day spikes. Latency investigation separates Source to Ingestion Latency from SecOps Ingestion Latency: if both spike, delay is inside Google SecOps processing; if only source-to-ingestion spikes, delay is external such as collector backlog. Actionable issues such as auth or normalization errors are user-fixable, while Internal-error needs Google support.
Data quality validation checks data before analytics or training across code, catalog, discovery, and statistical detection. Input validation in ingestion code is the first enforcement point, where Python checks types, formats, and ranges in Gemini Enterprise Agent Platform Pipelines or BigQuery loads and rejects malformed records. Data minimization with pseudonymization, de-identification, and bucketing plus least-privilege service accounts reduces exposure.
Knowledge Catalog provides centralized validation of formats, ranges, and distributions for batch and streaming loads, alongside profiles, column-level lineage from BigQuery, discovery, feature and model metadata, and a business glossary. Sensitive Data Protection, formerly Cloud Data Loss Prevention, continuously discovers and classifies sensitive data at organization, folder, or project level and sends profiles to Security Command Center, Google SecOps, and Knowledge Catalog. BigQuery anomaly detection (opens in a new tab) flags statistical outliers that can indicate data poisoning, where attackers inject malicious training data. Use format and range checks for single-record violations and anomaly detection for well-formed but collectively suspicious data.
Exam tip: Knowledge Catalog automatic data quality verifies formats, ranges, and distributions before training, while BigQuery anomaly detection finds statistical outliers that can indicate data poisoning.
Pipeline governance ties layers together. Cloud Logging captures real-time logs, Cloud Monitoring alerts on log signals, and Cloud Audit Logs records API and admin actions without storing personally identifiable information. Assured Workloads (opens in a new tab) and lineage from Knowledge Catalog, BigQuery column lineage, and ML Metadata connect findings to root cause and show who accessed data and when.
Automated recovery rebuilds correct data from safe checkpoints without restoring entire systems. Cloud Storage holds the immutable source copy, BigQuery and Bigtable restore to new tables, and Cloud Composer, which is Managed Airflow, or Cloud Scheduler automates recurring exports. The ordered workflow first schedules exports of BigQuery tables to Cloud Storage using Avro with SNAPPY or JSON with GZIP, then on corruption creates a new table and loads only uncorrupted data, then points applications to the new table.
For very large databases, scope is limited to corrupted partitions. Strategies include storing time-period data in different tables so only the affected slice is restored, storing originals on Cloud Storage for selective reload, and leaving applications offline until the clean table is ready when RTO permits. BigQuery time-travel with snapshot decorators recovers state only when corruption is caught within 7 days; older corruption needs export reload. Bigtable backups restore schema and data to a new table, and tables can export as Hadoop sequence files for import elsewhere. Spanner (opens in a new tab) adds multi-region replication, deletion protection, scheduled and cross-region backups, and point-in-time recovery for up to seven days.
| Recovery option | Source checkpoint | Best when |
|---|---|---|
| BigQuery time-travel | Table state up to 7 days ago | Corruption detected quickly |
| BigQuery export reload | Avro or JSON in Cloud Storage | Corruption older than 7 days or subset must be excluded |
| Bigtable backup | Managed backup or replicated cluster | Large NoSQL table needs fast restore to new table |
| Spanner PITR | Transaction history up to 7 days | Logical corruption or accidental writes must be rewound |
BigQuery stores data synchronously in two zones in the region, which survives zone loss but not logical corruption. BigQuery Data Transfer Service copies datasets to another region when locality allows, with Cloud KMS (opens in a new tab) customer-managed keys for encrypted sources. Otherwise scheduled exports to regional or multi-region buckets provide recoverability. Tables unedited for 90 days drop storage price by 50 percent under long-term pricing. Dataflow (opens in a new tab) pipelines feeding these stores can run on multiple Beam runners and use CMEK for state artifacts.
Continue with this study guide: Preparing for data corruption and missing data
Replication topologies for managed databases define how writes flow from primary to replicas and how replicas take over. A regional synchronous standby protects against zonal failure with minimal loss, while cross-regional asynchronous standby protects against regional outage with lower write latency. The topology balances write latency, consistency, and RPO across zones and regions.
Synchronous and asynchronous replication control whether the primary waits for standby acknowledgment. Synchronous replication requires the primary to wait, which increases write latency but gives strong consistency and near-zero RPO. Asynchronous replication lets the primary acknowledge first and send later, which keeps latency low but can lose recent writes on primary failure. Synchronous fits the same region in a different zone where round trips are short, while asynchronous fits a distant region where waiting would hurt response time.
| Model | Write path | Consistency and RPO |
|---|---|---|
| Synchronous replication | Primary waits for standby in same region, different zone | Strong consistency, minimal loss, higher latency |
| Asynchronous replication | Primary acknowledges first, then flows to distant region | Eventual consistency, higher loss risk, lower latency |
| Mixed three-node topology | Primary replicates synchronously nearby and asynchronously far | Zero zone-level loss plus region-level survival |
In the mixed topology, data flows from the primary to the nearby synchronous standby and separately to the distant asynchronous standby. Zone failure is survived locally without loss, while regional outage is survived remotely.
Memorystore for Redis Standard Tier uses a primary that replicates to a replica, while Basic Tier has no replica and cannot fail over. Normal failover promotes the replica automatically when the primary is unhealthy. Manual failover tests application behavior while preserving data, IP address, and connection string, with a short reset of a couple minutes or less that requires retry logic.
Manual failover uses two data protection modes. The limited-data-loss mode, the default, checks offset delta and aborts if the greatest delta is 30 MB or greater. The force-data-loss mode skips the check and proceeds even when more than 30 MB has not replicated. To preserve data with the default, stop writes and wait until lag drops below 30 MB.
Exam tip: limited-data-loss aborts manual failover when bytes pending replication is 30 MB or greater, while force-data-loss ignores the check and can lose more than 30 MB.
Monitoring uses bytes pending replication, the bytes the replica still needs to copy, viewed in the console or Metrics Explorer as redis.googlapis.com/replication/offset_diff. High or rising values show lag. Memorystore for Redis Cluster adds secondary_replication_links, which should equal primary shard count, plus maximum and average offset differences across regions. Replication is complemented by RDB snapshots on a 1h, 6h, 12h, or 24h schedule. Nodes with replicas recover from the replica first, but if both fail they recover from the latest snapshot, which is the only retained copy and may be stale.
BigQuery managed disaster recovery (opens in a new tab) patterns contrast with Bigtable, where replication improves read throughput and availability but not write throughput. Bigtable replication places data closer to users, especially when multi-cluster routing sends each request to the closest cluster. A write to one cluster must replicate to all other clusters, and each cluster spends CPU pulling changes, so write throughput can decrease. Adding 3 nodes to a single 3-node cluster doubles write throughput in one zone, while adding a second 3-node cluster keeps total nodes at six but writes data twice, adding availability in two zones without increasing write throughput. Replicated clusters in different regions have higher latency than clusters in the same region, and multi-cluster routing is eventually consistent.
App profiles control traffic flow. Multi-cluster routing automatically routes to the closest cluster and replicates writes outward, giving lowest latency and automatic failover to the nearest available cluster even on transient errors. Single-cluster routing directs all traffic to one cluster for workload separation or read-after-write semantics, with manual failover based on transient errors, timeouts, or unacceptable latency. A shorter deadline reroutes earlier, while a longer deadline waits longer, but the deadline must allow completion on the next cluster. After failover Bigtable reverts to eventual consistency and resolves conflicts with last write wins.
Automated failover divides into self-managed recovery on Compute Engine and Cloud SQL (opens in a new tab) Enterprise Plus advanced disaster recovery (DR). Self-managed recovery rebuilds from a custom image and snapshot instead of keeping a hot replica. Production writes database and log files to persistent disk, scheduled snapshots capture that disk, and an instance template from the custom image guarantees identical replacement including IAM and firewall settings. A MIG with target size of one brings up another server in the same zone with the latest backup and logs. The internal load balancer preserves the same IP, so clients need no reconfiguration. Standard disks are zonal and need snapshots for cross-zone restore, while regional disks replicate synchronously and remove that step.
Cloud SQL advanced DR promotes a designated cross-region direct read replica, not a cascading or external replica, with point-in-time recovery (PITR) enabled and transaction logs in Cloud Storage. MySQL replicas must run 8.0.31 or later with binary logging, matching versions and no filtering flags, while PostgreSQL replicas must run 12 or later without logical decoding or slots. Flags such as max_connections and max_wal_senders on the replica must be greater than or equal to the primary. Health and version gates plus lag monitoring with views such as pg_stat_replication determine trigger readiness.
| Operation | Data safety | When to use |
|---|---|---|
| Replica failover | Immediate promotion; possible loss equal to lag | Region failure when availability outweighs consistency |
| Switchover | Coordinated reversal with zero loss; old primary stays read-only until lag is zero | Planned return or DR testing |
Switchover follows an ordered sequence: assign the DR replica while both sides are online, initiate from the healthy primary, drain lag to zero in read-only mode, promote the new primary and convert the old primary to a replica, then point the DNS write endpoint to the new primary. All instances retain IPs, but the DR replica should match primary size, high availability, disk, and cache to avoid degradation. After replica failover, PITR is unavailable for 5 to 15 minutes while a backup of the new primary completes. Applications using the DNS write endpoint resolve automatically to the new primary; otherwise they must repoint and reconnect with matching SSL and Private Service Connect settings. PostgreSQL high availability (opens in a new tab) on Compute Engine and active-passive setups (opens in a new tab) follow the same principle of stable endpoints and tested promotion, including SQL Server Always On patterns on Compute Engine (opens in a new tab).
Continue with this study guide: Data replication and failover (e.g., Cloud SQL, Redis clusters)
Cold recovery keeps minimal resources such as custom images, backups, and templates and builds the environment after failure, warm recovery keeps a small standby receiving replication and snapshots, and hot recovery runs both environments in production serving traffic. Cold is cheapest with the longest pause, warm shortens the pause because replication and snapshots are current, and hot minimizes intervention because only rerouting is needed.
Use BigQuery time-travel with snapshot decorators when corruption is caught within 7 days because it can query the table to a past point in time. Use export reload when corruption is older than 7 days or a subset must be excluded, by creating a new table from Avro or JSON exports in Cloud Storage and loading only uncorrupted data.
Cloud SQL switchover is a coordinated reversal for planned return or testing that waits for replication lag to reach zero for zero data loss, with the old primary staying read-only until lag is zero. Cloud SQL replica failover promotes a designated cross-region replica immediately for regional failure, which prioritizes availability but can lose data equal to the lag.
Checkpointed processing writes regular progress markers to durable storage so replacement virtual machines can resume after Compute Engine stops Spot VMs and preemptible instances when capacity is needed elsewhere. When new virtual machines launch, the job reads the last checkpoint and continues after a short pause while replacements start instead of restarting from the beginning.
Last updated