面向 Azure 专业人员的 Google Cloud:计算

更新日期:2020 年 6 月 16 日

本文对 Microsoft 和 Google 在各自的云环境中提供的计算服务进行了比较。计算服务通常有以下四种服务模式:

  • 基础设施即服务 (IaaS):这种模式下,用户可以直接按需访问虚拟机以及一套相关服务,从而自动执行常见任务。
  • 平台即服务 (PaaS):这种模式下,机器层完全被抽象化,用户通过高级服务和 API 与资源进行交互。
  • 容器即服务 (CaaS):是 IaaS/PaaS 的混合,它将机器层抽象化,但保留了 IaaS 模式的大部分灵活性。
  • 函数即服务 (FaaS):这种模式下,用户可以创建无服务器的 PaaS 式微服务,而无需构建完整的应用。

本文重点介绍 Google 和 Microsoft 提供的 IaaS 服务。

IaaS 的比较

对于 IaaS,Microsoft Azure 提供的是 Azure 虚拟机 (VM),Google Cloud 提供的是 Compute Engine。Google 和 Microsoft 采用的 IaaS 服务方法相似:两者都是其各自云端环境的基础,几乎所有类型的客户工作负载都在其上运行。

概括来讲,Azure 的 IaaS 与 Google Compute Engine 在术语和概念方面的对应如下所示:

功能 Azure Compute Engine
虚拟机 虚拟机 虚拟机实例
映像 映像(仅启动磁盘和全机) 映像(仅启动磁盘)
自定义映像 通用化 Azure 虚拟机 自定义映像
虚拟机模板 资源管理器模板 实例模板
自动实例扩缩 Azure Autoscale Compute Engine 自动扩缩器
支持的虚拟机导入格式 VHD RAW、OVA、VMDK、VHD
部署位置 区域(等同于 Google Cloud 可用区) 可用区
抢占式虚拟机
增量快照

虚拟机

Compute Engine 虚拟机实例和 Azure 虚拟机具有许多相同的功能。利用这两种服务,您都可以:

  • 从启动磁盘映像创建实例。
  • 按需启动和终止实例。
  • 不受限制地管理您的实例。
  • 标记您的实例。
  • 在您的实例上安装各种可用的操作系统。

机器访问

在 Compute Engine 和 Azure 上,您都可以通过 Windows 远程管理服务和远程桌面协议 (RDP) 等标准方法访问 Windows 虚拟机。

对于 Linux 虚拟机,Compute Engine 和 Azure 处理基于 SSH 的机器访问的方式稍有不同。在 Azure 上,如果希望对虚拟机进行基于 SSH 的访问,您必须添加自己的 SSH 密钥,而在 Compute Engine 上,您可以在需要时创建密钥,即使您的虚拟机实例已在运行也是如此。

Compute Engine 还提供通过浏览器进行 SSH 连接功能,该功能可为给定虚拟机实例提供基于浏览器的 SSH 终端。 Azure Cloud Console 和 Cloud Shell 向各自的平台提供临时的命令行界面,而与这两者不同,“通过浏览器进行 SSH 连接”功能提供从浏览器到特定虚拟机实例的直接访问。如果您选择使用此功能(此功能在 Google Cloud Console 中提供),便无需在本地机器上存储密钥。

机器类型

Azure 和 Compute Engine 都提供各种预定义的虚拟机配置,包括特定数量的虚拟 CPU、RAM 和网络容量。此外,Compute Engine 允许您放弃预定义配置,而根据自己的工作负载自定义虚拟机实例的 CPU 和 RAM。

下表列出了截至 2020 年 6 月这两种服务所具有的机器类型。

机器类型 Azure Compute Engine
基本 Basic A0 - Basic A4 f1-micro(共享核心)
g1-small(共享核心)
通用 Standard_A1_v2 - Standard_A8m_v2
可突增性能的 B 系列
Standard_D2a_v4 - Standard_D96a_v4
Standard_D2as_v4 - Standard_D96as_v4
Standard_DC1s_v2 - Standard_DC8_v2
Standard_D1_v2 - Standard_D5_v2
Standard_DS1_v2 - Standard_DS5_v2
Standard_D2_v3 - Standard_D64_v3
Standard_D2s_v3 - Standard_D64s_v3
Standard_D2_v4 - Standard_D64_v4
Standard_D2s_v4 - Standard_D64s_v4
Standard_D2d_v4 - Standard_D64d_v4
Standard_D2ds_v4 - Standard_D64ds_v4
e2-standard-2 - e2-standard-16
n1-standard-1 - n1-standard-96
n2-standard-2 - n2-standard-80
n2d-standard-2 - n2d-standard-224
e2-highcpu-2 - e2-highcpu-16
n1-highcpu-1 - n1-highcpu-96
n2-highcpu-2 - n2-highcpu-80
n2d-highcpu-2 - n2d-highcpu-224
e2-highmem-2 - e2-highmem-16
n1-highmem-1 - n1-highmem-96
n2-highmem-2 - n2-highmem-80
n2d-highmem-2 - n2d-highmem-96
计算优化 Standard_F2s_v2 - Standard_F72s_v2 c2-standard-4 - c2-standard-60
内存优化 Standard_D11_v2 - Standard_D15_v2
Standard_DS11_v2 - Standard_DS15_v2
Standard_E2a_v4 - Standard_E96a_v4
Standard_E2as_v4 - Standard_E96as_v4
Standard_E2_v3 - Standard_E64i_v3
Standard_E2s_v3 - Standard_E64is_v3
Standard_E2_v4 - Standard_E64_v4
Standard_E2s_v4 - Standard_E64s_v4
Standard_E2d_v4 - Standard_E64d_v4
Standard_E2ds_v4 - Standard_E64ds_v4
Standard_M8ms - Standard_M128ms
Standard_M32ls - Standard_M64ls
Standard_M32ts
Standard_M64s - Standard_M128
Standard_M208ms_v2 - Standard_M416s_v2
m1-ultramem-40 - m1-ultramem-160
m1-megamem-96
存储优化 Standard_L8s_v2 - Standard_L80s_v2
GPU Standard_NC6 - Standard_NC24
Standard_ND6s - Standard_ND24rs
Standard_ND40rs_v2
Standard_NV6 - Standard_NV24
Standard_NV12s_v3 - Standard_NV48s_v3
Standard_NV4as_v4 - Standard_NV32as_v4
可附加到任何非共享核心机器类型
能够自定义虚拟机资源配置
共享核心机器类型 e2-micro、e2-small、e2-medium
f1-micro
g1-small

映像

Azure 提供操作系统映像(仅启动磁盘)和 Azure 虚拟机映像(还包括虚拟机的交换磁盘或数据磁盘)。Compute Engine 机器映像仅包含启动磁盘。

Azure 和 Compute Engine 都为常用的操作系统(如 Windows、Ubuntu 或 Red Hat Enterprise Linux)提供了各种平台或社区支持的映像,以及预装了各种常见服务器应用(如 SQL Server)的映像。 在这两个平台上,如果您选择的映像使用需要许可的付费操作系统,那么除了正常的虚拟机费用外,您还需要支付许可费。

这两个平台均具有提供各种预配置的端到端解决方案的市场。Azure 的市场是 Azure Marketplace,Google Cloud 的市场是 Cloud Launcher。利用这些渠道,您可以以最少的配置在一个或多个虚拟机上启动常见的应用。

自定义映像导入

Azure 和 Compute Engine 都提供了将现有机器映像导入各自环境的方法:

  • 在 Azure 上,您上传的机器映像必须是与 Azure 的 Hyper-V 版本兼容的 VHD。将 VHD 存储在存储帐号中作为页面 blob。
  • Compute Engine 导入工具支持 RAW、OVA、VMDK 和 VHD 机器映像。将映像上传到 Cloud Storage,然后使用 gcloud 命令行工具或 Cloud Console 将映像导入到 Compute Engine 中。如需详细了解如何将映像和其他虚拟资源导入 Compute Engine,请参阅选择导入方法

如果您构建自己的自定义操作系统并计划在 Compute Engine 上运行,请确保它们满足自定义映像的硬件支持和内核要求

抢占式虚拟机

Azure 在其 Azure Batch(一种设计用于高性能批处理的服务)中提供低优先级虚拟机。低优先级虚拟机是在资源未充分利用时可用的临时虚拟机。这些虚拟机比标准虚拟机便宜,但可以由各自的计算服务回收,而不会引起注意。由于它们具有短暂性,因此当应用的任务可以容忍中断或可以使用(但不需要)增加的计算能力时,这些虚拟机最为有用。

低优先级虚拟机仅可通过 Azure Batch 使用,默认情况下,每个批处理帐号限制为 50 个核心。截至 2017 年 5 月,低优先级虚拟机为预览版。

与此类似,Compute Engine 提供抢占式虚拟机实例,其作用与 Azure 的低优先级虚拟机相同。但与低优先级虚拟机相比,抢占式虚拟机实例未与特定服务关联,因而具有的灵活性稍高一些。抢占式虚拟机实例最多可运行 24 小时。如需了解详情,请参阅抢占式虚拟机实例

自动化作业

扩缩

Compute Engine 和 Azure 都支持自动扩缩功能,可以根据用户定义的政策创建和移除实例。自动扩缩功能可用于在任何给定点维持特定数量的实例,或者根据某些情况调整容量。它还可以根据用户定义的模板创建自动扩缩的实例。

Compute Engine 和 Azure 实现自动扩缩功能的方法类似:

  • Azure Autoscale 可在虚拟机规模集内扩缩实例数量。虚拟机规模集根据您选择的自动扩缩政策来创建和移除实例。实例组内的每个新实例都是根据单实例 Resource Manager 模板创建的。
  • Compute Engine 的自动扩缩器可在托管实例组内扩缩实例数量。自动扩缩器根据您选择的自动扩缩政策来创建和移除实例。它根据实例模板创建实例组中的每个新实例。

Azure Autoscale 支持两种类型的自动扩缩:计划自动扩缩和动态自动扩缩。 通过计划自动扩缩,您可以将虚拟机规模集配置为在预定时间进行纵向扩容或缩减。通过动态自动扩缩,您可以将虚拟机配置为根据指标阈值(如 CPU 利用率或消息队列长度)进行扩增和缩减。

Compute Engine 的自动扩缩器仅支持动态扩缩。您可以根据平均 CPU 利用率HTTP 负载平衡服务容量Stackdriver Monitoring 指标来创建政策。

部署后配置

Compute Engine 和 Azure 都提供了在部署实例后自动执行其他配置的方法。在 Azure 上,您可以添加 Azure 虚拟机扩展程序,以在部署后进行虚拟机配置。在 Compute Engine 上,您可以添加启动脚本,以便在每次实例启动时执行自动化任务,例如安装软件、执行更新或启用服务。

内部网络

Compute Engine 和 Azure 都会自动将新的虚拟机连接到内部虚拟网络。此外,您还可以在这两项服务中创建其他网络并在这些网络中启动实例。如需查看 Google Cloud 网络和 Azure 网络的完整比较,请参阅网络一文。

块存储

Azure 和 Compute Engine 都支持联网和本地连接的块存储。如需了解其块存储服务的详细比较,请参阅块存储

费用

本部分比较 Compute Engine 和 Azure 虚拟机的价格模式。

按需价格

Compute Engine 和 Azure 采用相似的按需价格模式对运行的实例进行计费:每项服务按分钟收费。Compute Engine 最低按十分钟的使用量收费。这两项服务都允许您无限期地运行虚拟机。

折扣价格

Compute Engine 和 Azure 提供折扣价格的方式不同。

Microsoft 通过 Microsoft 企业协议提供最大的虚拟机折扣。通过承诺在一个或多个 Microsoft 服务器或 Cloud 组件的安装基础中使用整个软件保障范围,您就可以通过这些协议获得折扣价格。如果您没有 Microsoft 企业协议,也可以通过经销商获得折扣价。

相比之下,Compute Engine 则提供持续使用折扣模式和承诺使用折扣模式。

  • 持续使用折扣:Compute Engine 会根据虚拟机实例在给定月份的运行时间自动对您的实例应用折扣。您在给定月份使用实例的时间越长,折扣越大。持续使用折扣可以为您节省多达 30% 的标准按需费率。
  • 承诺使用折扣:您承诺在一年或三年期间保留一定数量的虚拟 CPU,并且无论这些 CPU 是否被充分利用,您都需要按约定付费。此模式适用于可预测的稳态使用方式(在这种方式中,您将为未来的工作负载使用特定数量的核心和特定容量的内存)。 承诺使用折扣可以为您节省多达 57% 的标准按需费率。

如需详细了解 Compute Engine 的价格,请参阅 Compute Engine 价格

后续步骤

下一篇:网络