AWS EC2 Instance Types Explained
Until recently, it was easy to select instance types within Amazon Web Services. They offered several instance types that were different primarily ...Learn More
Arguably, Infrastructure as a Service (IaaS) is the most important cloud computing vertical. Within that, in terms of services and features, AWS enjoys the top position, while Google Cloud Platform is slowly catching up. In this post, we’ll discuss the main differences between Amazon’s EC2 and Google Compute Engine (GCE).
Amazon EC2 is spread across 11 different regions: Northern Virginia, Oregon, Northern California, Ireland, Germany, Singapore, Tokyo, China, Sau Paulo, Sydney, and US GovCloud.
Google Compute Engine is spread across 3 different regions: us-central1, Europe-west1, and asia-east1. Google does not officially reveal the exact locations of these zones. However, according to this post from Gigaom, us-central1 translates to Oklahoma, and Europe-west1 is in Ireland.
AWS Instance types are optimized for different types of workloads, like Compute, Storage, Memory, and GPU. Instance types are divided into different “families” like m3 (balanced), c4 (compute optimized), and t2 (baseline level). In its current form, there is a total of 28 instances types. The use of previous generation instances is not recommended due to performance limitations.
Just like AWS, Google Compute Engine also offers instances based on workload type.
Currently, GCE instances are divided into 4 types:
GCE offers a total of 17 instance types.
|Amazon EC2||Google Compute Engine|
|Type||Minimum Computing Capacity||Maximum Computing Capacity||Minimum Computing Capacity||Maximum Computing Capacity|
|General / Standard Purpose||1vCPU/3.75GB Memory||8vCPU/30GB Memory||1vCPU/3.75GB Memory||32vCPU/120MB Memory|
|Compute Optimized / High CPU Instance Type||2vCPU/3.75GB Memory||36vCPU/60GB Memory||2vCPU/1.80GB Memory||32vCPU/28.8 Memory|
|Memory Optimized/ High Memory Instance Type||2vCPU/15.25GB Memory||32vCPU/244GB Memory||2vCPU/13GB Memory||32vCPU/208GB Memory|
|Shared Core||1vCPU/1GB Memory||2vCPU/4GB Memory||1vCPU/0.60GB Memory||1vCPU/1.70GB Memory|
|Storage Optimized||4vCPU/30.5GB Memory||32vCPU/244GB Memory||N/A||N/A|
|GPU Optimized||8vCPU/15GB Memory||N/A||N/A||N/A|
Note: This is a high-level comparison table. Instances internal might vary.
Amazon EC2 offers three types of pricing models:
Google Compute Engine machine types are charged for a minimum of 10 minutes’ use. After 10 minutes, instances are charged in 1-minute increments, rounded up to the nearest minute. GCE offers both on-demand and sustained usage pricing models. The sustained usage pricing model provides discounts if your instance is used for more than 25% of a month. To maximize savings, GCE also offers inferred instances, i.e., it combines multiple, non-overlapping instances of the same instance type in the same zone into a single instance for billing.
As AWS instances are now provisioned within VPCs, Amazon provides the benefit of both Security Groups and Network ACLs. With Security Groups – working as whitelists – you control incoming and outgoing traffic at the instance level. Network ACLs, on the other hand, work at subnet level, and allow or deny specific IP addresses or networks.
Similarly, Google Compute Engine firewalls regulate outgoing traffic from instances using iptables. Google’s Firewall is also a whitelist service.
Elastic Load Balancer (ELB) allows you load balance incoming traffic among your backend instances in multiple availability zones (within a single region). This traffic distribution to backend instances happens using a weighted round robin algorithm. Apart from load balancing incoming traffic, ELB also offers session stickiness, cross-zone load balancing, and SSL termination. ELB works with AWS’s auto-scaling and supports IPv4 and IPv6 addresses, HTTP and TCP load balancing, and logging.
Google Compute Engine also offers a load balancer. In addition to distributing incoming traffic between backend instances, unlike AWS, it allows balancing between regions, supports content-based routing, and does not require pre-warming.
Amazon EC2 provides Elastic Block Storage (EBS) volumes for persistent storage. These EBS volumes are offered in 3 types: Magnetic volumes, General Purpose SSD volumes, and Provisioned IOPS SSD volumes. AWS just increased the performance limits on EBS volumes to 16TB capacity with a peak of 20,000 IOPS/volume and 320 MBps max throughput/volume. EBS volumes can be attached to one instance at a time. Amazon also recently enabled encryption for EBS volumes.
Google Compute Engine offers persistent disk storage, available as both standard (HDD) and solid-state (SSD). All data written to disk in Compute Engine is encrypted on the fly and then transmitted and stored in encrypted form. GCE’s Persistent Disks (PD) can be mounted read-write by one VM or read-only by many VMs. Google persistent disk storage offers 3000 Read IOPS/volume and 15,000 Write IOPS/volume for standard disks and 10,000 Read IOPS/volume and 15,000 Write IOPS/volume for Solid-state persistent disks. Each persistent disk can be up to 10TB in size.
Amazon EC2 offers a service level agreement guaranteeing a monthly uptime percentage of 99.95%. If your actual monthly uptime percentage is less than 99.95%, but equal to or greater than 99.0%, Amazon EC2 offers 10% service credit. For less than 99.0%, you receive 30% service credit.
Google Compute Engine also offers a service level agreement ensuring at least 99.95% uptime. If your monthly uptime percentage is between 99.00% – 99.95%, 10% financial credit is received. For 95.00% – 99.00%, 25% financial credit is received. For anything less than 95.00%, you’ll receive a 50% credit.
Amazon EC2 supports a wide range of operating systems, including Amazon Linux, Red Hat Enterprise Linux, CentOS, Debian, SUSE, Ubuntu, Oracle Enterprise Linux, FreeBSD, and Windows (2003 R2, 2008, 2008 R2, 2012).
Google Compute Engine supports CentOS, Red Hat Enterprise Linux, Debian, SUSE, Ubuntu, and Windows Server 2008R2. Windows Server support is in beta mode.
There is obviously more to making a full feature and performance comparison of EC2 vs Google Compute Engine, but this is hopefully a good start. AWS and Google both provide plenty of documentation that will allow you to dig much deeper to answer your specific questions.
AWS's WaitCondition can be used with CloudFormation templates to ensure required resources are running.As you may already be aware, AWS CloudFormation is used for infrastructure automation by allowing you to write JSON templates to automatically install, configure, and bootstrap your ...
As companies increasingly shift workloads to the public cloud, cloud computing has moved from a nice-to-have to a core competency in the enterprise. This shift requires a new set of skills to design, deploy, and manage applications in cloud computing.As the market leader and most ma...
The announcements at re:Invent just keep on coming! Let’s look at what benefits these two new EC2 instance types offer and how these two new instances could be of benefit to you. If you're not too familiar with Amazon EC2, you might want to familiarize yourself by creating your first Am...
Google Cloud Platform (GCP) has evolved from being a niche player to a serious competitor to Amazon Web Services and Microsoft Azure. In 2018, research firm Gartner placed Google in the Leaders quadrant in its Magic Quadrant for Cloud Infrastructure as a Service for the first time. In t...
In order to understand AWS VPC egress filtering methods, you first need to understand that security on AWS is governed by a shared responsibility model where both vendor and subscriber have various operational responsibilities. AWS assumes responsibility for the underlying infrastructur...
Is it possible to create an S3 FTP file backup/transfer solution, minimizing associated file storage and capacity planning administration headache?FTP (File Transfer Protocol) is a fast and convenient way to transfer large files over the Internet. You might, at some point, have conf...
Microservices are a way of breaking large software projects into loosely coupled modules, which communicate with each other through simple Application Programming Interfaces (APIs).Microservices have become increasingly popular over the past few years. The modular architectural style,...
There are many use cases for tags, but what are the best practices for tagging AWS resources? In order for your organization to effectively manage resources (and your monthly AWS bill), you need to implement and adopt a thoughtful tagging strategy that makes sense for your business. The...
Amazon S3 is the most common storage options for many organizations, being object storage it is used for a wide variety of data types, from the smallest objects to huge datasets. All in all, Amazon S3 is a great service to store a wide scope of data types in a highly available and resil...
One of the main promises of cloud computing is access to nearly endless capacity. However, it doesn’t come cheap. With the introduction of Spot Instances for Amazon Web Services’ Elastic Compute Cloud (AWS EC2) in 2009, spot instances have been a way for major cloud providers to sell sp...
A Comparison of Machine Learning Services on AWS, Azure, and Google CloudArtificial intelligence and machine learning are steadily making their way into enterprise applications in areas such as customer support, fraud detection, and business intelligence. There is every reason to beli...
The AWS Command Line Interface (CLI) is for managing your AWS services from a terminal session on your own client, allowing you to control and configure multiple AWS services.So you’ve been using AWS for awhile and finally feel comfortable clicking your way through all the services....