Updated March 16, 2020
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. The guide compares Google Cloud 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 Google Cloud.
Why Google Cloud?
For the past 20 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. Google Cloud 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 regions into availability zones. Similarly, Google Cloud divides its service availability into regions and zones that are located around the world. For a full mapping of Google Cloud global regions and zones, see Cloud Locations.
In addition, some Google Cloud 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, Google Cloud regions are isolated from each other for availability reasons. However, Google Cloud has built-in functionality that enables regions to synchronize data across regions according to the needs of a given Google Cloud service.
AWS and Google Cloud 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, CloudFront. CloudFront provides edge caching for services like Amazon S3 Transfer Acceleration and Lambda@Edge.
- Google Cloud 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.
Google Cloud POPs connect to data centers through Google-owned fiber. This unimpeded connection means that Google Cloud-based applications have fast, reliable access to all of the services on Google Cloud.
To summarize, AWS location terms and concepts map to those of Google Cloud as follows:
|Concept||AWS term||Google Cloud term|
|Cluster of data centers and services||Region||Region|
|Abstracted data center||Availability Zone||Zone|
|Edge caching||POP (services built on 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, Google Cloud requires you to set up a Google account to use its services. However, Google Cloud 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 Google Cloud 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 Google Cloud 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 Google Cloud calculator to see which configuration provides the best value in terms of flexibility, scalability, and cost.
Web consoles and command-line interfaces
AWS and Google Cloud both provide web-based consoles. Each console allows users to create, manage, and monitor their resources. The console for Google Cloud is located at https://console.cloud.google.com/.
AWS and Google Cloud also provide a command-line interface (CLI) for interacting with the services and resources. AWS provides the Amazon CLI, and Google Cloud 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 Google Cloud, you can use the Cloud SDK in your web browser by using Google Cloud Shell. Cloud Shell also provides pre-installed utilities and pre-set environmental variables.
At a high level, cloud platforms begin by providing a set of baseline services: compute, storage, networking, and database services. AWS 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
Google Cloud 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 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 five types:
- Application services: Services designed to help optimize applications in the cloud. Examples include Amazon SNS and Google Pub/Sub.
- Big data and analytics services: Services designed to help process large amounts of data, such as Amazon Kinesis and Google Dataflow.
- 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 AI Platform.
- Operations services: Services designed to help you track the performance of an application. Examples include Amazon CloudWatch and Google Cloud Monitoring.
- Security services: Services designed to keep your Google Cloud resources secure. Examples include AWS Shield, AWS Identity and Access Management (IAM), Google Cloud Armor, and Identity and Access Management (IAM) .
The following table provides a side-by-side comparison of the various services available on AWS and Google Cloud.
|Service Category||Service||AWS||Google Cloud|
|Compute||IaaS||Amazon Elastic Compute Cloud||Compute Engine|
|PaaS||AWS Elastic Beanstalk||App Engine|
|FaaS||AWS Lambda||Cloud Functions|
|Containers||CaaS||Amazon Elastic Kubernetes Service, Amazon Elastic Container Service||Google Kubernetes Engine|
|Containers without infrastructure||AWS Fargate||Cloud Run|
|Container registry||Amazon Elastic Container Registry||Container Registry|
|Networking||Virtual networks||Amazon Virtual Private Cloud||Virtual Private Cloud|
|Load balancer||Elastic Load Balancer||Cloud Load Balancing|
|Dedicated Interconnect connection||AWS Direct Connect||Cloud Interconnect|
|Domains and DNS||Amazon Route 53||Google Domains, Cloud DNS|
|CDN||Amazon CloudFront||Cloud CDN|
|DDoS firewall||AWS Shield, AWS WAF||Google Cloud Armor|
|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 and Cloud Storage Coldline|
|Archival storage||Amazon Glacier||Cloud Storage Archive|
|File storage||Amazon Elastic File System||Filestore|
|In-memory data store||Amazon ElastiCache for Redis||Memorystore|
|Database||RDBMS||Amazon Relational Database Service, Amazon Aurora||Cloud SQL, Cloud Spanner|
|NoSQL: Key-value||Amazon DynamoDB||Firestore, Cloud Bigtable|
|NoSQL: Indexed||Amazon SimpleDB||Firestore|
|In-memory data store||Amazon ElastiCache for Redis||Memorystore|
|Data analytics||Data warehouse||Amazon Redshift||BigQuery|
|Query service||Amazon Athena||BigQuery|
|Messaging||Amazon Simple Notification Service, Amazon Simple Queueing Service||Pub/Sub|
|Batch data processing||Amazon Elastic MapReduce, AWS Batch||Dataproc, Dataflow|
|Stream data processing||Amazon Kinesis||Dataflow|
|Stream data ingest||Amazon Kinesis||Pub/Sub|
|Workflow orchestration||Amazon Data Pipeline, AWS Glue||Cloud Composer|
|Management tools||Deployment||AWS CloudFormation||Cloud Deployment Manager|
|Cost management||AWS Budgets||Cost Management|
|Operations||Monitoring||Amazon CloudWatch||Cloud Monitoring|
|Logging||Amazon CloudWatch Logs||Cloud Logging|
|Audit logging||AWS CloudTrails||Cloud Audit Logs|
|Debugging||AWS X-Ray||Cloud Debugger|
|Performance tracing||AWS X-Ray||Cloud Trace|
|Security & identity||IAM||Amazon Identity and Access Management||Identity and Access Management|
|Secret management||AWS Secrets Manager||Secret Manager|
|Encrypted keys||AWS Key Management Service||Cloud Key Management Service|
|Resource monitoring||AWS Config||Cloud Asset Inventory|
|Vulnerability scanning||Amazon Inspector||Web Security Scanner|
|Threat detection||Amazon GuardDuty||Event Threat Detection (beta)|
|Microsoft Active Directory||AWS Directory Service||Managed Service for Microsoft Active Directory|
|Machine learning||Speech||Amazon Transcribe||Speech-to-Text|
|Vision||Amazon Rekognition||Cloud Vision|
|Natural Language Processing||Amazon Comprehend||Cloud Natural Language API|
|Translation||Amazon Translate||Cloud Translation|
|Conversational interface||Amazon Lex||Dialogflow Enterprise Edition|
|Video intelligence||Amazon Rekognition Video||Video Intelligence API|
|Auto-generated models||Amazon SageMaker Autopilot||AutoML|
|Fully managed ML||Amazon SageMaker||AI Platform|
|Internet of Things||IoT services||Amazon IoT||Cloud IoT|
Check out the Google Cloud for AWS Professionals articles for each service type: