Google Cloud 与 AWS对比

1. 快速概览:Google Cloud 与 AWS

1.1:计算服务

每个云平台都提供各种计算服务。

如果您想要完全灵活地管理用于运行您的应用程序的操作系统、软件和硬件,您需要使用基础架构即服务选项。但是,有了灵活性,您就会承担很多责任。

  • 如果您想减少您的责任(关于扩展、可用性和持久性),您可能希望在云中使用托管服务。
  • 如果您想在 Google Cloud 中运行一个简单的网络应用程序,您可能需要使用 App Engine 或 Cloud Run(如果您想使用容器)。
  • 如果您想使用 Kubernetes 实现微服务架构,您可以使用 Google Kubernetes Engine。

Cloud Functions 是 Google Cloud 中的无服务器功能即服务产品。

问题 AWS 谷歌云
如何创建虚拟机? 亚马逊 EC2 计算引擎
如何将永久存储(块存储)与虚拟机连接? 亚马逊 EBS 永久磁盘
您如何简化 Web 应用程序的设置? AWS Elastic Beanstalk 应用引擎
你如何编排容器? 亚马逊 EKS、亚马逊 ECS 谷歌 Kubernetes 引擎 (GKE)
您如何构建无服务器应用程序? AWS 拉姆达 云函数

1.2:数据库服务

这是 AWS 与 Google Cloud 中数据库服务的快速比较。

问题 AWS 谷歌云
如何创建关系 OLTP 数据库? 亚马逊 RDS(亚马逊极光) 云 SQL、云扳手
什么是关系数据仓库解决方案? 亚马逊红移 大查询
NoSQL 数据库选项有哪些? Amazon DynamoDB、Amazon DocumentDB 数据存储/Firestore、Cloud Bigtable
如何缓存数据库中的数据? 亚马逊 ElastiCache 记忆库

1.3:网络服务

这是 AWS 与 Google Cloud 中网络服务的快速比较。

问题 AWS 谷歌云
如何在虚拟机之间分配负载? 弹性负载均衡器 云负载平衡
你如何建立私人网络? 亚马逊 VPC 云 VPC
如何将本地与云连接? AWS VPN(共享)、AWS Direct Connect(专用) Cloud VPN(共享)、Cloud Interconnect(专用)

1.4:存储服务

以下是 AWS 与 Google Cloud 中存储服务的快速比较。

类型 AWS 谷歌云
持久块存储 亚马逊弹性块存储 永久磁盘
临时块存储 实例存储 本地 SSD
对象存储 Amazon S3(简单存储服务) 云储存
不常访问对象存储 Amazon S3 - 标准-IA,一个区域-IA 云存储 - Nearline 和 Coldline 类
档案对象存储 亚马逊冰川 云存储 - 存档类
文件存储 亚马逊弹性文件系统 文件存储

1.5:DevOps 服务

这是 AWS 与 Google Cloud 中的 DevOps 服务的快速比较。

问题 AWS 谷歌云
如何自动化部署? AWS CloudFormation 云部署管理器
您如何监控应用程序周围的指标? 亚马逊云观察 云监控
您如何管理应用程序和服务日志? 亚马逊云观察日志 云记录
您如何跨应用程序和服务跟踪请求? AWS X 射线 云迹
您如何实施持续集成? AWS CodePipeline、CodeDeploy 云构建

1.6:其他服务

问题 AWS 谷歌云
什么是消息服务? 亚马逊 SNS、亚马逊 SQS 云发布/订阅
您如何管理对云的身份验证和授权? 亚马逊 IAM 云 IAM
您如何管理用于加密数据的密钥? AWS 知识管理系统 云KMS

现在让我们深入研究一些特定的重要服务组。

2. 计算服务

以下是 AWS 与 Google Cloud 中计算服务的快速比较。

类别 AWS 谷歌云
国际原子能机构 亚马逊 EC2 谷歌计算引擎
PAAS AWS Elastic Beanstalk 应用引擎
CAAS - Kubernetes 亚马逊 EKS 谷歌 Kubernetes 引擎
CAAS - 自定义 亚马逊 ECS  
CAAS - 无服务器 AWS Fargate 云跑
FAAS - 无服务器 AWS 拉姆达 云函数

谷歌计算引擎

  • 在 AWS 中,我们使用 EC2 服务来预置虚拟实例。
  • 在 Google Cloud 中,对应的服务是 GCE 或 Google Compute Engine。

要创建 VM,您需要选择操作系统、软件(映像)和硬件(机器系列和机器类型)。此外,您可以配置防火墙规则以限制进出您的 VM 的入站和出站流量。Persistent Disk 是管理与 Compute Engine 虚拟机相连的块存储的服务。

特征 AWS 谷歌云
创建虚拟机 亚马逊 EC2 谷歌计算引擎 (GCE)
选择操作系统和软件 AMI(亚马逊机器映像) 图片
选择合适的硬件系列(通用或高内存或高计算) 实例系列 机器家族
选择合适数量的硬件(2 个 vCPU,4GB 内存) 实例类型 机器的种类
限制入站和出站流量 安全组 防火墙规则
附加永久硬盘(块存储) 亚马逊 EBS 永久性磁盘

IP 地址:虚拟机 

几乎所有云平台都提供了为您的资源创建公共、私有和静态 IP 地址的解决方案。在 AWS 和 GCP 中,用来指代这些的名称是不同的。除此之外,这些概念仍然相似。

特征 AWS 谷歌云
在实例生命周期内不会更改的永久内部 IP 地址 私有 IP 地址 内部 IP 地址
实例停止时更改的临时外部 IP 地址 公共 IP 地址 外部或临时 IP 地址
可附加到 VM 的永久外部 IP 地址 弹性 IP 地址 静态 IP 地址

管理虚拟机

一台虚拟机无法为您的解决方案提供足够的可扩展性和可用性。我们需要多个虚拟机。以下是一些简化虚拟机管理的重要功能。

特征 AWS 谷歌云
用于简化虚拟机创建的模板 启动模板/配置 实例模板
简化多个虚拟机的创建 自动缩放组 实例组
简化 1000 台虚拟机的管理(软件、操作系统补丁等) 系统经理 虚拟机管理器
专用于一位客户的物理主机 EC2 专用主机 单租户节点

管理虚拟机成本 

您希望以尽可能低的成本运行虚拟机。以下是 AWS 和 Google Cloud 为降低成本而提供的一些选项。

特征 亚马逊 EC2 普通教育证书
计费 按秒计费 按秒计费
(1 分钟后)
为非关键工作负载创建更便宜的临时实例 现货实例 抢占式虚拟机
(固定定价,最长 24 小时)
提前预留计算实例 预留实例 承诺使用折扣
获得长期使用资源的折扣 没有任何 持续使用折扣
预算管理 预算警报 预算警报

App Engine 与 AWS Elastic Beanstalk

Google Cloud App Engine 和 AWS Elastic Beanstalk 是运行简单 Web 应用程序和/或 REST API 的推荐选项。

以下是这两种服务的一些重要功能的比较:

特征 AWS ELASTIC BEANSTALK 应用引擎
推荐给 简单的 Web 应用程序和批处理应用程序 简单的 Web 应用程序和批处理应用程序(用于简单的微服务)
数据库集成 亚马逊 RDS、亚马逊 DynamoDB Firestore,云 SQL
批处理程序 具有 SQS 集成的 Worker Tier 异步任务队列 - Pub-Sub
等级制度 应用 > 应用版本 > 环境 应用 > 服务 > 版本
运行容器 是的 是(App Engine 灵活)
新版本 滚动更新,蓝/绿部署(使用交换 URL) 滚动更新,蓝/绿部署

3. 数据库

让我们看看 AWS 和 Google Cloud 中不同类型的数据库。

关系数据库:OLTP - 在线事务处理

让我们从大量用户进行大量小事务(小读取和更新)的应用程序开始。典型用例包括 CRM、电子商务和银行应用程序。最流行的数据库是 MySQL、Oracle、SQL Server 等。

此空间中推荐的 AWS 服务是 Amazon RDS。Amazon RDS 支持 Amazon Aurora、PostgreSQL、MySQL、MariaDB(增强型 MySQL)、Oracle 数据库和 SQL Server。Amazon Aurora 提供了“全球数据库”选项。

推荐的 GCP 服务包括:

  • Cloud SQL:支持 PostgreSQL、MySQL 和 SQL Server 用于区域关系数据库(最高几 TB)
  • Cloud Spanner:无限扩展(多个 PB)和 99.999% 的可用性,适用于具有水平扩展的全球应用程序

关系数据库:OLAP - 在线分析处理

OLAP 应用程序允许用户分析 PB 级的数据。示例包括报告应用程序、数据仓库、商业智能应用程序和分析系统。

  • 推荐的 AWS Managed Service 是 Amazon Redshift。
  • 推荐的 GCP 托管服务是 BigQuery。

NoSQL 数据库

NoSQL 代表了一种构建数据库的新方法(实际上并不是那么新!)。NoSQL 代表“不仅仅是 SQL”。当您需要灵活的模式时,您会使用 NoSQL 数据库:按照应用程序需要的方式构建数据,并且您希望模式随着时间的推移而发展。

大多数 NoSQL 数据库可以以数百万 TPS 水平扩展至 PB 级数据。

  • AWS 托管服务是 Amazon DynamoDB 和 Amazon DocumentDB
  • Google 托管服务是 Cloud Firestore (Datastore) 和 Cloud BigTable