Updated July 18, 2017
This guide is designed to equip professionals who are familiar with Microsoft Azure with the key concepts required to get started with Google Cloud Platform. The guide compares Cloud Platform with Azure and highlights the similarities and differences between the two. In addition, the guide provides quick-reference mappings of Azure products, concepts, and terminology to the corresponding products, concepts, and terminology on Cloud Platform.
This guide doesn't attempt to compare the syntax and semantics of the SDK, APIs, or command-line tools provided by Azure and Cloud Platform.
Why Google Cloud Platform?
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. Google Cloud Platform puts this infrastructure and these management resources at your fingertips.
Regions and zones
As with Azure, Google Cloud Platform products are deployed within regions located around the world. Each region comprises one or more data centers that are in close geographical proximity to each other. Cloud Platform further divides availability into zones, which are isolated locations within a region.
In addition, some Cloud Platform services replicate and serve data at a multi-regional level rather than the more granular regional or zonal levels. These services include Google App Engine and Google Cloud Storage Multi-Regional. Currently, the available multi-regional locations are United States, Europe, and Asia.
Isolation and availability
By design, Azure pairs regions that are on the same continent and are physically isolated from each other by at least 300 miles into availability sets. Azure encourages users to architect their systems and applications around these pairs, creating an active-active recovery setup for availability and isolation purposes. In addition, some Azure services, such as Blob service, have replication options that automatically replicate data across paired regions.
Cloud Platform employs a similar strategy for isolation and availability, isolating regions from each other for availability reasons. Cloud Platform does not prescribe specific regional pairings; however, as with Azure, you must architect your application across multiple regions if you want to achieve high availability. Also like Azure, some Cloud Platform services, such as Cloud Storage Multi-Regional, have built-in multi-regional synchronization.
Accounts and quotas
To use an Azure service, you must either sign up for an Azure account or add Azure to your existing Microsoft Account. After you set up your Azure account, you can create a subscription within the account, and then launch services within that subscription. Each Azure account can support multiple subscriptions, and each subscription can use its own billing account if needed.
Cloud Platform's model is similar to that of Azure. You gain access to Cloud Platform services by setting up a Google account, and you launch services within projects, which are functionally similar to subscriptions on Azure. If needed, you can choose to group your projects by organization as well. See Cloud Platform Resource Hierarchy for more information.
Azure and Cloud Platform 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, Azure and Cloud Platform 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 avoids pricing specifics where possible. However, each article discusses the pricing model behind each service wherever helpful. For up-to-date price comparisons for your specific solution, use the Azure pricing calculator and Cloud Platform calculator to see which configuration provides the best value in terms of flexibility, scalability, and cost.
Azure and Cloud Platform each provide discounts for a subset of their respective services, but through different mechanisms.
You can get discounts on various Azure services through your Microsoft Enterprise Agreement by committing to a base-wide installation of one or more Microsoft Server or Cloud components with full Software Assurance coverage. If you don't have a Microsoft Enterprise Agreement, you might also be able to get discounted rates through a reseller.
Cloud Platform provides sustained-use discounts on a per-service basis based on your monthly usage. For example, Google Compute Engine offers sustained-use discounts based on the cumulative number of hours a given virtual machine runs in a given month. If your resource usage is steady and predictable, you can also get heavily discounted rates through committed-use discounts. Committed-use discounts allow you to purchase a specific number of virtual CPUs (vCPUs) and amount of memory at up to a 57% discount over full prices, depending on the duration you commit to.
Azure and Cloud Platform approach their support plans in different ways. Azure bundles their support levels into five different subscription tiers. These tiers range from Pay-As-You-Go, a free tier that provides basic account support and online help resources, to Premier Support, which is Azure's most comprehensive support tier.
As with Azure, Cloud Platform provides basic account support and online help resources free of charge. However, you purchase Cloud Platform's paid support services separately rather than with a specific account or project. For more information, see Support.
Resource management interfaces
Azure and Cloud Platform each provide command-line interfaces (CLIs) for interacting with services and resources. Azure provides both the Azure CLI, which is a cross-platform tool, and a set of Azure cmdlets that you can install and use through Windows PowerShell. Cloud Platform provides a set of command-line tools and PowerShell cmdlets through the Cloud SDK, a cross-platform toolkit.
Azure and Google Cloud Platform also provide web-based consoles. Each console allows users to create, manage, and monitor their resources. The console for Google Cloud Platform is located at https://console.cloud.google.com/. You can also use the Cloud SDK in your web browser by using Google Cloud Shell.
At a high level, cloud platforms begin by providing a set of baseline services: compute, storage, networking, and database services. Azure's baseline services include:
- Compute: Azure virtual machines, Azure App Service
- Storage: Azure Blob service, Azure virtual hard disks (VHDs)
- Networking: Azure virtual network (VNet)
- Databases: Azure Cloud SQL Database, Azure SQL Data Warehouse, Azure Table Storage, CosmosDB
Cloud Platform's baseline services include:
- Compute: Google Compute Engine, Google App Engine
- Storage: Google Cloud Storage, Compute Engine persistent disks
- Networking: Virtual Private Cloud (VPC) network
- Databases: Google Cloud SQL, Google Cloud Datastore, 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 three types:
- Application services: Services designed to help optimize applications in the cloud. Examples include Azure Service Bus and Google Cloud Pub/Sub.
- Big data and analytics services: Services designed to help process and interpret large amounts of data, such as Azure HDInsight and Google Cloud Dataflow.
- Management services: Services designed to help you manage your application and track its performance. Examples include Azure Application Insights and Google Stackdriver Monitoring.
The following table provides a side-by-side comparison of the various services available on Azure and Cloud Platform.
|Service category||Service||Azure||Google Cloud Platform|
|Compute||IaaS||Virtual Machines||Compute Engine|
|PaaS||App Service, Cloud Services||App Engine|
|Containers||Azure Container Service, Azure Service Fabric||Google Kubernetes Engine|
|Serverless functions||Functions||Cloud Functions|
|Network||Virtual networks||Azure VNets||Virtual Private Cloud|
|Load Balancer||Azure Load Balancer, Application Gateway||Cloud Load Balancing|
|Dedicated Interconnect||ExpressRoute||Cloud Interconnect|
|DNS||Azure DNS||Cloud DNS|
|CDN||Azure CDN||Cloud CDN|
|Storage||Object Storage||Azure Blob Storage||Cloud Storage|
|Block Storage||Disk Storage||Persistent Disk|
|File Storage||Azure File Storage||Cloud Filestore (beta)|
|Reduced-availability Storage||Azure Cool Blob Storage||Cloud Storage Nearline|
|Archival Storage||Azure Archive Blob Storage||Cloud Storage Coldline|
|Database||RDBMS||SQL Database||Cloud SQL, Cloud Spanner|
|NoSQL: Key-value||Table Storage||Cloud Firestore, Cloud Bigtable|
|NoSQL: Indexed||Cosmos DB||Cloud Firestore|
|Big Data & Analytics||Batch Data Processing||HDInsight, Batch||Cloud Dataproc, Cloud Dataflow|
|Stream Data Processing||Stream Analytics||Cloud Dataflow|
|Stream Data Ingest||Event Hubs, Service Bus||Cloud Pub/Sub|
|Analytics||Data Lake Analytics, Data Lake Store||BigQuery|
|Application Services||Messaging||Service Bus||Cloud Pub/Sub|
|Management Services||Monitoring||Application Insights||Stackdriver Monitoring|
|Logging||Application Insights||Stackdriver Logging|
|Deployment||Azure Resource Manager||Cloud Deployment Manager|