IaaS: EC2 vs Google Compute Engine
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 major differences between Amazon’s EC2 and Google Compute Engine (GCE).
EC2 vs Google Compute Engine: Regions
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.
EC2 vs Google Compute Engine: Compute Capacity
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: Standard machine types, High CPU machine types, High memory machine types and Small machine 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.
EC2 vs Google Compute Engine: Pricing
Amazon EC2 offers three types of pricing models:
- On-demand – pay for compute capacity by the hour with no long term commitments.
- Reserved instances – maximize savings by purchasing reserved instances that meet your long term business needs. Reserved instance prices are determined by 4 factors : term (1 or 3 year), operating system, region, and payment options (no upfront, partial upfront, all upfront).
- Spot instances – bid for instances using a supply and demand model.
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.
EC2 vs Google Compute Engine: Security Groups, Network ACLs, and Firewalls
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.
EC2 vs Google Compute Engine: Load Balancing
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.
EC2 vs Google Compute Engine: Storage
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.
EC2 vs Google Compute Engine: Service Level Agreement
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.
EC2 vs Google Compute Engine: Operating System Support
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.
Two New EC2 Instance Types Announced at AWS re:Invent 2018 – Monday Night Live
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. Both of the new instance types are built on the AWS Nitro System. The AWS Nitro System improves the performance of processing in virtualized environments by...
Google Cloud Certification: Preparation and Prerequisites
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...
Understanding AWS VPC Egress Filtering Methods
Security in AWS is governed by a shared responsibility model where both vendor and subscriber have various operational responsibilities. AWS assumes responsibility for the underlying infrastructure, hardware, virtualization layer, facilities, and staff while the subscriber organization ...
S3 FTP: Build a Reliable and Inexpensive FTP Server Using Amazon’s S3
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 Architecture: Advantages and Drawbacks
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,...
What Are Best Practices for Tagging AWS Resources?
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...
How to Optimize Amazon S3 Performance
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...
How to Optimize Cloud Costs with Spot Instances: New on Cloud Academy
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...
What are the Benefits of Machine Learning in the Cloud?
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...
How to Use AWS CLI
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....
AWS Summit Chicago: New AWS Features Announced
Thousands of cloud practitioners descended on Chicago’s McCormick Place West last week to hear the latest updates around Amazon Web Services (AWS). While a typical hot and humid summer made its presence known outside, attendees inside basked in the comfort of air conditioning to hone th...
From Monolith to Serverless – The Evolving Cloudscape of Compute
Containers can help fragment monoliths into logical, easier to use workloads. The AWS Summit New York was held on July 17 and Cloud Academy sponsored my trip to the event. As someone who covers enterprise cloud technologies and services, the recent Amazon Web Services event was an insig...