Course Introduction
RESOURCE COSTS AND UTILIZATION
PREEMPTIBLE VMS
COMMITTED USE DISCOUNTS
OTHER COST CONSIDERATIONS
Course Conclusion
The course is part of these learning paths
See 2 moreIn this course, focusing on GCP resource optimization, we'll look at ways to identify resource costs and how to identify resource utilization levels. We'll also cover preemptible VMs and how to use them to optimize utilization and to save on costs.
You’ll learn what committed use discounts are and how you can benefit from them. And finally, we'll cover TCO considerations and network pricing.
Learning Objectives
- Learn how to identify resource costs and utilization with a view to optimizing them
- Understand what preemptible VMs are and how they can be used to manage costs
- Learn about committed use discounts and commitment types
- Learn about TCO considerations and network pricing on GCP
Intended Audience
This course is intended for those who wish to learn how to optimize resource utilization on the GCP platform, and for those preparing for GCP certifications.
Prerequisites
To get the most out of this course, you should already have some working knowledge of GCP.
Hello, and welcome to preemptible VMs. In this lesson, we’ll take a look at what preemptible VMs are and what they offer.
Preemptible VMs are an offering that you can use to minimize costs. At its core, a preemptible VM is a VM instance that can be run for much less than a typical instance. The caveat is that a preemptible VM, as its name implies, can be preempted, or stopped, if Google Cloud’s Compute Engine requires its resources to perform other tasks. Essentially, what preemptible instances really are, are excess Compute Engine capacity that is available at a given time. As that extra compute capacity is required, Google Cloud will stop preemptible instances to access that extra compute capacity.
So, you may be asking yourself what use a preemptible VM would be if it can be stopped at any time, without notice. It’s a good question – and admittedly, there are limited roles for such instances. However, that doesn’t mean there are no roles for it. The most common example of a use case for preemptible instances would be batch processing with a fault tolerant app.
In a scenario where you run batch processing jobs across multiple preemptible instances, provided the app that’s performing the processing is fault tolerant, your batch processing can continue, even if a few of those instances are taken offline. Sure, the processing jobs may run slower when a few preemptible instances go offline, but the jobs can still continue – and by leveraging preemptible instances for such tasks, you can minimize the costs associated with those batch processing tasks. So, it’s a trade-off.
Now, before you run out and place your apps and services on a bunch of preemptible instances, you need to be aware of some of the, sometimes significant, limitations of preemptible instances. For example, it’s important to note that Compute Engine will ALWAYS stop a preemptible instance after it has been running for 24 hours, so it’s a good bet that if you deploy a preemptible instance at noon today, that instance is going to stop somewhere around noon tomorrow.
Even more importantly to note is the fact that because preemptible instances run on excess compute capacity, there will be times when those instances won’t be available at all – especially when that excess compute capacity is not available.
You should also be aware that you cannot live migrate preemptible VM instances to regular instances, nor can preemptible instances be set to automatically restart after a maintenance event. This is sometimes a deal breaker for an app that might otherwise be a good candidate for a preemptible instance.
And lastly, preemptible instances are not covered by any SLAs. Because they can be stopped at any moment, this only makes sense.
So, while preemptible VMs can be a good way to save money on compute capacity, you really need to think about what you wish to use them for and whether or not you can afford the unavoidable downtime that comes with them.
Tom is a 25+ year veteran of the IT industry, having worked in environments as large as 40k seats and as small as 50 seats. Throughout the course of a long an interesting career, he has built an in-depth skillset that spans numerous IT disciplines. Tom has designed and architected small, large, and global IT solutions.
In addition to the Cloud Platform and Infrastructure MCSE certification, Tom also carries several other Microsoft certifications. His ability to see things from a strategic perspective allows Tom to architect solutions that closely align with business needs.
In his spare time, Tom enjoys camping, fishing, and playing poker.