Google Associate Cloud EngineerPlanning and configuring a cloud solutionMedium
A research institution needs to process a massive amount of genomic data (petabytes). The processing jobs are highly parallelizable and can tolerate some failures, but they must be completed as cost-effectively as possible. The jobs are not time-sensitive and can be interrupted. Which Google Cloud compute resource is the most cost-effective for this scenario?
- ACompute Engine Standard VMs
- BGoogle Kubernetes Engine (GKE) Standard
- CCompute Engine Sole-Tenant Nodes
- DCompute Engine Preemptible VMs
Show answer & explanationAnswer & explanation
Correct answer: D. Compute Engine Preemptible VMs
Preemptible VMs are highly discounted Compute Engine instances that can be shut down (preempted) by Compute Engine if resources are needed elsewhere. They are ideal for fault-tolerant, batch jobs that can tolerate interruptions and are not time-sensitive, offering significant cost savings for large-scale, parallelizable workloads like genomic data processing.
Why the other options are wrong
- A. Standard VMs offer consistent performance and are suitable for general-purpose workloads but are significantly more expensive than Preemptible VMs for interruptible jobs.
- B. GKE Standard provides a managed Kubernetes environment, which is good for containerized applications, but using standard GKE nodes for interruptible batch jobs wouldn't be as cost-effective as Preemptible VMs directly, unless GKE is configured to use Preemptible VMs for its nodes, which isn't the primary answer here.
- C. Sole-Tenant Nodes provide dedicated physical servers for specific workloads, which is much more expensive and not necessary for cost-effective, interruptible batch processing.
Compute Engine Preemptible VMs
Highly discounted Compute Engine instances that can be preempted (shut down) by Google Cloud, suitable for fault-tolerant batch jobs and non-time-sensitive workloads.
- Up to 80% cost savings compared to standard VMs.
- Maximum run time of 24 hours.
- Ideal for batch processing, fault-tolerant applications, and development/testing.
Memory trick: Preemptible VMs save money for interruptible tasks.