Updated November 20, 2018
This guide is designed to equip professionals who are familiar with Amazon Web Services (AWS) with the key concepts required to get started with Google Cloud Platform (GCP). The guide compares GCP with AWS and highlights the similarities and differences between the two. In addition, the guide provides quick-reference mappings of AWS products, concepts, and terminology to the corresponding products, concepts, and terminology on GCP.
For the past 15 years, Google has been building one of the fastest, most powerful, and highest-quality cloud infrastructures on the planet. Internally, Google uses this infrastructure for several high-traffic and global-scale services, including Gmail, Maps, YouTube, and Search. Because of the size and scale of these services, Google has put a lot of work into optimizing its infrastructure and creating a suite of tools and services to manage it effectively. GCP puts this infrastructure and these management resources at your fingertips.
Regions and zones
Nearly all AWS products are deployed within regions located around the world. Each region comprises a group of data centers that are in relatively close proximity to each other. Amazon divides each region into two or more availability zones. Similarly, GCP divides its service availability into regions and zones that are located around the world. For a full mapping of GCP's global regions and zones, see Cloud Locations.
In addition, some GCP services are located at a multi-regional level rather than the more granular regional or zonal levels. These services include Google App Engine and Google Cloud Storage. Currently, the available multi-regional locations are United States, Europe, and Asia.
By design, each AWS region is isolated and independent from other AWS regions. This design helps ensure that the availability of one region doesn’t affect the availability of other regions, and that services within regions remain independent of each other. Similarly, GCP's regions are isolated from each other for availability reasons. However, GCP has built-in functionality that enables regions to synchronize data across regions according to the needs of a given GCP service.
AWS and GCP both have points of presence (POPs) located in many more locations around the world. These POP locations help cache content closer to end users. However, each platform uses their respective POP locations in different ways:
- AWS uses POPs to provide a content delivery network (CDN) service, Amazon CloudFront.
- GCP uses POPs to provide Google Cloud CDN (Cloud CDN) and to deliver built-in edge caching for services such as Google App Engine and Google Cloud Storage.
GCP's POPs connect to data centers through Google-owned fiber. This unimpeded connection means that GCP-based applications have fast, reliable access to all of the services on GCP.
To summarize, AWS's location terms and concepts map to those of GCP as follows:
|Concept||AWS term||GCP term|
|Cluster of data centers and services||Region||Region|
|Abstracted data center||Availability Zone||Zone|
|Edge caching||POP (just CloudFront)||POP (multiple services)|
Accounts, limits, and pricing
To use an AWS service, you must sign up for an AWS account. After you have completed this process, you can launch any service under your account within Amazon's stated limits, and these services are billed to your specific account. If needed, you can create billing accounts, and then create sub-accounts that roll up to them. In this way, organizations can emulate a standard organizational billing structure.
Similarly, GCP requires you to set up a Google account to use its services. However, GCP groups your service usage by project rather than by account. In this model, you can create multiple, wholly separate projects under the same account. In an organizational setting, this model can be advantageous, allowing you to create project spaces for separate divisions or groups within your company. This model can also be useful for testing purposes: once you're done with a project, you can delete the project, and all of the resources created by that project will be deleted as well.
AWS and GCP both have default soft limits on their services for new accounts. These soft limits are not tied to technical limitations for a given service—instead, they are in place to help prevent fraudulent accounts from using excessive resources, and to limit risk for new users, keeping them from spending more than intended as they explore the platform. If you find that your application has outgrown these limits, AWS and GCP provide straightforward ways to get in touch with the appropriate internal teams to raise the limits on their services.
Because pricing tends to change more often than core features or services, this set of articles will avoid pricing specifics where possible. However, each article will discuss the pricing model behind each service wherever helpful. For up-to-date price comparisons for your specific solution, use the Amazon pricing calculator and GCP calculator to see which configuration provides the best value in terms of flexibility, scalability, and cost.
Resource management interfaces
AWS and GCP each provide a command-line interface (CLI) for interacting with the services and resources. AWS provides the Amazon CLI, and GCP provides the Cloud SDK. Each is a unified CLI for all services, and each is cross-platform, with binaries available for Windows, Linux, and macOS. In addition, in GCP, you can use the Cloud SDK in your web browser by using Google Cloud Shell.
AWS and GCP also provide web-based consoles. Each console allows users to create, manage, and monitor their resources. The console for GCP is located at https://console.cloud.google.com/.
At a high level, cloud platforms begin by providing a set of baseline services: compute, storage, networking, and database services. AWS's baseline services include:
- Compute: Amazon Elastic Compute Cloud (EC2)
- Storage: Amazon Simple Storage Service (S3) and Amazon Elastic Block Store (EBS)
- Networking: Amazon Virtual Private Cloud (VPC)
- Databases: Amazon Relational Database Service (RDS) and Amazon DynamoDB
GCP's baseline services include:
- Compute: Google Compute Engine and Google App Engine
- Storage: Google Cloud Storage
- Networking: Google Virtual Private Cloud
- Databases: Google Cloud SQL, Google Cloud Firestore, and Google Cloud Bigtable
Each platform then builds other higher-level services on top of these services. Typically, these higher-level services can be categorized as one of four types:
- Application services: Services designed to help optimize applications in the cloud. Examples include Amazon SNS and Google Cloud Pub/Sub.
- Big data and analytics services: Services designed to help process large amounts of data, such as Amazon Kinesis and Google Cloud Dataflow.
- Management services: Services designed to help you track the performance of an application. Examples include Amazon CloudWatch and Google Stackdriver Monitoring.
- Machine learning services: Services designed to help you incorporate perceptual AI such as image or speech recognition, or to train and deploy your own machine learning models. Examples include Amazon SageMaker and Google Cloud Machine Learning Engine.
The following table provides a side-by-side comparison of the various services available on AWS and GCP.
|Service Category||Service||AWS||Google Cloud Platform|
|Compute||IaaS||Amazon Elastic Compute Cloud||Compute Engine|
|PaaS||AWS Elastic Beanstalk||App Engine|
|Containers||Amazon Elastic Container Service||Google Kubernetes Engine|
|Serverless Functions||AWS Lambda||Cloud Functions|
|Managed Batch Computing||AWS Batch||N/A|
|Network||Virtual Networks||Amazon Virtual Private Cloud||Virtual Private Cloud|
|Load Balancer||Elastic Load Balancer||Cloud Load Balancing|
|Dedicated Interconnect||Direct Connect||Cloud Interconnect|
|Domains and DNS||Amazon Route 53||Google Domains, Cloud DNS|
|CDN||Amazon CloudFront||Cloud CDN|
|Storage||Object Storage||Amazon Simple Storage Service||Cloud Storage|
|Block Storage||Amazon Elastic Block Store||Persistent Disk|
|Reduced-availability Storage||Amazon S3 Standard-Infrequent Access, Amazon S3 One Zone-Infrequent Access||Cloud Storage Nearline|
|Archival Storage||Amazon Glacier||Cloud Storage Coldline|
|File Storage||Amazon Elastic File System||Cloud Filestore (beta)|
|Database||RDBMS||Amazon Relational Database Service, Amazon Aurora||Cloud SQL, Cloud Spanner|
|NoSQL: Key-value||Amazon DynamoDB||Cloud Firestore, Cloud Bigtable|
|NoSQL: Indexed||Amazon SimpleDB||Cloud Firestore|
|Big Data & Analytics||Batch Data Processing||Amazon Elastic MapReduce, AWS Batch||Cloud Dataproc, Cloud Dataflow|
|Stream Data Processing||Amazon Kinesis||Cloud Dataflow|
|Stream Data Ingest||Amazon Kinesis||Cloud Pub/Sub|
|Analytics||Amazon Redshift, Amazon Athena||BigQuery|
|Workflow Orchestration||Amazon Data Pipeline, AWS Glue||Cloud Composer|
|Application Services||Messaging||Amazon Simple Notification Service, Amazon Simple Queueing Service||Cloud Pub/Sub|
|Management Services||Monitoring||Amazon CloudWatch||Stackdriver Monitoring|
|Logging||Amazon CloudWatch Logs||Stackdriver Logging|
|Deployment||AWS CloudFormation||Cloud Deployment Manager|
|Machine Learning||Speech||Amazon Transcribe||Cloud Speech-to-Text|
|Vision||Amazon Rekognition||Cloud Vision|
|Natural Language Processing||Amazon Comprehend||Cloud Natural Language|
|Translation||Amazon Translate||Cloud Translation|
|Conversational Interface||Amazon Lex||Dialogflow Enterprise Edition|
|Video Intelligence||Amazon Rekognition Video||Cloud Video Intelligence|
|Auto-generated Models||N/A||Cloud AutoML (beta)|
|Fully Managed ML||Amazon SageMaker||Cloud Machine Learning Engine|
Check out the GCP for AWS Professionals articles for each service type: