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