How to Choose a Virtual Machine (VM) From Google Cloud | C2C Community

How to Choose a Virtual Machine (VM) From Google Cloud

Categories: Infrastructure Compute DevOps and SRE
How to Choose a Virtual Machine (VM) From Google Cloud

Google Cloud provides virtual machines (VMs) to suit any workload, be it low cost, memory-intensive, or data-intensive, and any operating system, including multiple flavors of Linux and Windows Server. You can even couple two or more of these VMs for fast and consistent performance. VMs are also cost-efficient: pricier VMs come with 30% discounts for sustained use and discounts of over 60% for three-year commitments.

Google’s VMs can be grouped into five categories.

 

Scale-out workloads (T2D)

 

If you’re managing or supporting a scale-out workload––for example, if you’re working with web servers, containerized microservices, media transcoding, or large scale java applications––you’ll find Google’s T2D ideal for your purposes. It’s cheaper and more powerful than general-purpose VMs from leading cloud vendors. It also comes with full Intel x86 CPU compatibility, so you don’t need to port your applications to a new processor architecture. T2D VMs have up to 60 CPUs, 4 GB of memory, and up to 32 Gbps networking.

Couple T2D VMs with Google Kubernetes Engine (GKE) for optimized price performance for your containerized workloads.

 

General purpose workloads (E2, N2, N2D, N1)

 

Looking for a VM for general computing scenarios such as databases, development and testing environments, web applications, and mobile gaming? Google’s E2, N2, N2D, and N1 machines offer a balance of price and performance. Each supports up to 224 CPUs and 896 GB of memory.

 

Differences between VM types

  • E2 VMs specialize in small to medium databases, microservices, virtual desktops, and development environments. E2s are also the cheapest general-purpose VM.

  • N2, N2D, and N1 VMs are better equipped for medium to large databases, media-streaming, and cache computing.

 

Limitations

  • These VMs don’t come with discounts for sustained use.

  • These VMs don’t support GPUs, local solid-state drives (SSDs), sole-tenant nodes, or nested virtualization.


Ultra-high memory VMs (M2, M1)

 

Memory-optimized VMs are ideal for memory-intensive workloads, offering more memory per core than other VM types, with up to 12 TB of memory. They’re ideal for applications that have higher memory demands, such as in-memory data analytics workloads or large in-memory databases such as SAP HANA. Both models are also perfect for in-memory databases and analytics, business warehousing (BW) workloads, genomics analysis, and SQL analysis services.

 

Differences between VM types:

  • M1 works best with medium in-memory databases, such as Microsoft SQL Server.

  • M2 works best with large in-memory databases.

 

Limitations

 

Compute-intensive workloads (C2)

 

When you’re into high-performance computing (HPC) and want maximum scale and speed, such as for gaming, ad-serving, media transcribing, AI/ML workloads, or analyzing extensive Big Data, you’ll want Google Cloud’s flexible and scalable compute-optimized virtual machine (C2 VMs). This VM offers up to 3.8 GHz sustained all-core turbo clock speed, which is the highest consistent performance per core for real-time performance.

 

Limitations

 

Demanding applications and workloads (A2)

 

The accelerator-optimized (A2) VMs are designed for your most demanding workloads, such as machine learning and high-performance computing. They’re the best option for workloads that require GPUs and are perfect for solving large problems in science, engineering, or business. A2 VMs range from 12 to 96 CPUs, offering you up to 1360 GB of memory. Each A2 has its own amount of GPU attached. You can add up to 257 TB of local storage for applications that need higher storage performance.

 

Limitations

 

So: which VM should I choose for my project?

 

Any of the above VMs could be the right choice for you. To determine which would best suit your needs, take the following considerations into account:

  • Your workload: What are your CPU, memory, porting and networking needs? Can you be flexible, or do you need a VM that fits your architecture? For example, if you use Intel AVX-512 and need to run on CPUs that have this capability, are you limited to VMs that fit this hardware, or can you be more flexible?

  • Price/performance: Is your workload memory-intensive, and do you need high performance computing for maximum scale and speed? Does your business/project deal with data-intensive workloads? In each of these cases, you’ll have to pay more. Otherwise, go for the cheaper “general purpose” VMs.

  • Deployment planning: What are your quota and capacity requirements? Where are you located? (remember - some VMs are unavailable in certain regions).

Do you work with VMs? Are you looking for a VM to support a current project? Which VMs do you use, or which would you consider? Drop us a line and let us know!

 

Extra Credit:

 

Great article on VM differences.

Thanks @Leah Zitter 


Thanks, @ilias 

I appreciate that feedback.

 

Wishing you a happy & successful 2022!


I will be waiting to read your articles @Leah Zitter.

Wishing you all the best for 2022! :santa: