亚马逊、谷歌和微软这三大云服务巨头,都提供了一系列产品,几乎涵盖了您在线运营所需的一切。但它们不仅在定价上有所不同,在服务命名和分组方式上也存在差异。本文将对它们进行逐一比较,找出各自的优势。
我们将重点关注亚马逊网络服务 (AWS)、谷歌云平台 (GCP) 和微软 Azure 提供的服务。我们不会涵盖所有服务,也不会深入探讨云计算的基础设施细节。但是,我们将概述许多提供的产品,并熟悉一些云概念。
关键要点:
其他服务和随时间推移的变化:
当然,我们还可以介绍其他云服务。近年来,DigitalOcean 和 Linode 等公司在三大巨头之外取得了一些进展。但有一家新兴竞争者彻底简化了云基础设施的部署,并且仍在将 DevOps 工作流程提升到一个新的水平——Netlify。Netlify 还恰好是创造“Jamstack”概念的公司。(有关更多信息,请参阅“Jamstack 简介”和“DevOps 实践示例”。)
一体化,但更简单:Google Firebase、Netlify 和 AWS Amplify
亚马逊、谷歌和 Azure(按此顺序)仍然几乎是唯一涵盖所有云服务领域的公司。但鉴于 Netlify 如何简化了游戏规则,为了保持竞争力,它们都必须对向开发人员展示其工具的方式进行重大改进。
谷歌和亚马逊分别推出了 Firebase 和 Amplify,它们都封装了来自 GCP 和 AWS 的大量服务,以清晰易用的方式向 Web 和移动开发人员呈现。(奇怪的是,微软似乎只是有意识地让 Azure 保持过时状态。)
正如我在关于“100 个 Jamstack 工具、API 和服务来为您的网站提供动力”的文章中所说:
谷歌通过将 Firebase 产品系列“分离”出 GCP 而采取了英明的举动,但亚马逊在 AWS Amplify 上只走了一半路。对于新手用户来说,这确实是对常规 AWS 工作流程的巨大改进,其文档中心非常出色,而且比亚马逊通常记录服务的方式更贴近实际。但 Amplify 仍然是从同一个旧的(极其臃肿的)控制台访问的。您仍然需要信用卡才能开设帐户,部署仍然是特定于区域的(没有内置的 CDN,说真的?),与 Firebase 或 Netlify 相比,工作流程并不那么直接。
凭借极其完善的文档框架、出色的 YouTube 频道以及各种各样的应用,Google Firebase 远远领先于 AWS Amplify……但在简单性方面则落后于 Netlify。
Azure……说真的?
Azure 似乎对某些人(特别是美国境内的企业部门)有效,但正如 Reddit 搜索或 TrustPilot 查询将很快揭示的那样,人们的意见充其量是非常分歧的。
尽管 AWS 起初可能很难上手,但用户通常会赞扬其支持团队的响应速度和专业知识。根据我自己的经验,另一方面,Azure 支持(或其完全缺乏)可能是 100% 自动化的并且完全不存在,以至于解决像设置信用卡这样简单(且至关重要)的问题都将变得不可能,并使整个套件无法使用。
虽然微软在多个方面都是无可争议的领导者,但它也有着姗姗来迟的历史,投入了大量精力来追赶,然后似乎又失去了信心,将事情做了一半(例如 Zune、Groove、Mobile、Edge 和 Skype)。Azure 的发展如何,还有待观察。
为什么选择云计算?
Netflix、Airbnb、Spotify、Expedia、PBS 等众多公共和私营部门的标志性公司都依赖云服务来支持其在线运营。这使他们能够更好地专注于他们所擅长的事情,并让许多技术细节由现有的并不断升级的基础设施来处理。如果他们必须自己实施实际运营所需的物理基础设施,他们将需要一支技术人员队伍、大量的额外预算和时间,许多初创公司将永远无法克服这些技术挑战。
面向所有人
但这不仅限于大公司。如今,在一个大型企业和两个几乎没有初始资本的在家中的年轻人,都可以访问世界一流的基础设施来进行存储、计算、管理等等,以创建下一个大型在线服务,并按需付费——从字面上讲——按小时付费。
灵活(有时错综复杂)的定价
您支付的费用将根据您需要的处理能力、部署的实例数量(即虚拟服务器的数量)以及部署位置(有关此方面的更多信息,请参阅“位置”部分)而有很大差异。批量使用还将获得大幅折扣。无论如何,您大多数时候都会拥有以下优势:
有关详细信息,您需要阅读 AWS、GCP 和 Azure 的定价细则。
产品与解决方案
我们将“产品”和“服务”这两个术语使用得比较宽松。但是,“解决方案”是一个更具体的概念,在处理云服务时您会经常听到。简而言之,解决方案是一组面向非常特定需求的预配置产品,它提供了丰富的文档、用例和推荐,将指导您完成采用云基础设施的过程。
一些典型的“预配置”解决方案包括:
让我们来比较一下!
亚马逊通过其 2004 年推出的首个 AWS 服务引入了“商品化”云计算服务,从那时起,他们就不断创新和添加功能,这使他们能够通过构建最广泛的云服务和解决方案来保持在该领域的领先地位。在许多方面,它们也是最昂贵的。
谷歌和微软后来加入了这场竞争,并迅速赶上,带来了他们自己的基础设施和理念,提供了交易并降低了价格。
在下面的视频中,各家公司的代表讨论了他们的云战略:
计算
毕竟,这就是计算机的用途:计算、处理数据——计算。如果您需要更快的处理速度来进行图形渲染、数据分析或其他任何操作,您可以购买更多硬件,也可以使用云计算。
当然,如果您购买硬件,您就拥有它。这是一项资产。但您还为计算机没有进行任何实际处理的空闲时间以及随之而来的所有维护付费,如果您构建数据中心,这可能会非常高昂。
另一方面,当您使用云计算时,您只需支付您使用的费用,并且可以在几分钟内扩展到数千个处理节点(如果您不小心,可能会刷爆您的信用卡)。
弹性计算云 (EC2) 是亚马逊用于按需进行可扩展计算的旗舰产品,它与谷歌的 Compute Engine 和 Azure 的虚拟机和虚拟机规模集竞争。亚马逊的服务最为全面,但如前所述,EC2 的定价可能会非常复杂,Azure 的 VM 定价也是如此。谷歌的产品灵活性较低,但定价更容易理解。
还有一种选择是为 Web 和移动应用程序租用计算流程,如果您的应用程序符合此服务的规格,则可以使用它来节省大量成本(有关详细信息,请参阅 AWS Elastic Beanstalk 和 Google App Engine)。
如果您想使用 Docker 部署软件容器,您应该查看亚马逊的 Elastic Container Service (ECS) 和 Elastic Container Registry (ECR)。谷歌的等效产品是 Kubernetes Engine 和 Container Registry。Azure 也通过其 Azure Kubernetes Service (AKS) 支持 Docker,但目前它们没有提供私有 Docker 注册表的功能。
由于 Azure 是微软的产品,它还允许您使用其远程桌面客户端服务部署 Windows 客户端应用程序。
存储
除了计算之外,存储是云服务的关键支柱。在云中,您可以同样轻松地存储从少量 GB 到多个 PB(1 PB = 1,024 TB = 1,048,576 GB)的任何内容。但是请注意:实施这些解决方案并非易事,因为它不是常规托管,您只需要用户名和密码即可通过 FTP 上传文件。相反,您需要与 API 或第三方程序交互,并且可能需要一段时间才能准备好完全在云中操作您的存储。
为了存储对象(即几乎任何东西),亚马逊的简单存储服务 (S3) 是运行时间最长的服务,因此它拥有大量的文档,包括免费网络研讨会、文章和教程,以及非常活跃的讨论论坛,亚马逊开发人员定期在其中提供非常有用的反馈。当然,Google Cloud Storage 和 Microsoft Azure Storage 提供的服务同样可靠且强大,但您找到的资源甚至无法与亚马逊的资源相比。也就是说,谷歌和微软的价格可能更有优势,因此请阅读细则。
除了存储和存档之外,它们还提供更具体的选项,例如 Amazon CloudFront——针对构建内容交付网络 (CDN)——它与谷歌的 Cloud CDN 和 Azure 的内容交付网络相同。但如果您有更多特殊要求,请务必查看其网站。
分析
现在我们开始认真对待,因为我们进入了整合和充分利用计算、存储和交付能力的地方,所有这些都是一次完成的。事实是,除了云计算之外,有些事情您根本无法在其他任何地方执行(也就是说,除非您可以负担巨大的基础设施投资)。因此,让我们谈谈分析。
大数据的挑战在于处理极其庞大的数据集(大到无法放入内存中),理解它们,利用它们进行预测,甚至帮助建模全新情况,例如新产品、新服务、新疗法、城市规划方式等等。
这需要非常特定的技术和编程模型,其中之一是 MapReduce,它是由谷歌开发的,因此看到谷歌通过提供一系列产品(例如 BigQuery(用于大规模数据分析的托管数据仓库)、Dataflow(实时数据处理)、Dataproc(托管 Spark 和 Hadoop)、Datalab(大规模数据探索、分析和可视化)、Pub/Sub(消息传递和流数据)和 Cloud Life Sciences(用于处理高达 PB 级基因组学和生物医学数据))走在大型数据领域的前列也就不足为奇了。Elastic MapReduce (EMR) 和 HDInsight 分别是亚马逊和 Azure 对大数据的解读。有关更多信息,请查看它们都提供的大数据解决方案:GCP、AWS 和 Azure。
但是,您无需属于大数据类别即可理解数据。大量结构化甚至非结构化数据可以帮助您识别业务机会。这被称为商业智能 (BI),此处的策略可能非常多样化,并且会根据您的领域而有很大差异。因此,如果您的企业拥有数据集,那么可能会有有价值的见解等待挖掘。在这种情况下,只有亚马逊通过 QuickSight 承担了这一利基市场。
而且,对于所有这一切,您很可能需要使用机器学习 (ML),它是人工智能 (AI) 的一个分支。有趣的是,谷歌在这方面也占据了优势,其 AI 平台不仅用于通用 ML,还用于利用他们必须为自己的应用程序构建的产品并提供面向 ML 的非常具体用途的访问接口,包括用于视觉 AI、语音转文本、自然语言和翻译的 API。通用替代方案是 AWS 上的机器学习和 Azure 机器学习。
位置
部署服务时,您可能希望选择靠近主要目标受众的数据中心。例如,如果您在美国西海岸进行房地产或零售托管,您将希望在那里部署您的服务,以最大限度地减少延迟并提供更好的用户体验 (UX)。当然,您仍然可以从远处部署,但 UX 会受到影响。
亚马逊拥有广泛的覆盖范围:
AWS 位置。亚马逊图表
Azure 的覆盖范围也相当广泛:
Azure 位置。微软图表
谷歌在美国、欧洲和亚洲拥有稳固的覆盖范围,在南美洲也有一些覆盖范围,但在非洲没有覆盖范围。
Google Cloud 位置
但请注意,在不同位置部署的费用不同,美国和欧洲(按此顺序)通常最便宜。
更多详细信息:
其他产品和服务
如前所述,我们只介绍了一些主要的云服务,但在我们结束之前,让我们快速回顾一下您可能想要关注的一些产品。
网络
数据库
开发人员工具、管理、安全、身份、灾难恢复……
还有更多内容,但让我们今天就到此为止!
其他参与者
我们在这里只介绍了大公司,但云领域非常活跃,有几家提供商以极具竞争力的价格提供可靠的基础设施。他们中的许多人专注于开发人员的需求而不是公司的需求,他们可能非常值得尝试,尤其是在您的扩展需求介于小型和中等之间时。
一些替代方案:
下一步该做什么?
亚马逊、谷歌和微软以及几乎所有列出的替代方案都提供启动交易,甚至为新帐户提供免费积分,这意味着您可以在不使用信用卡且没有任何未来义务的情况下开始在云中进行实验。
不要被吓倒!选项可能很多,但您可以从关注您的需求开始。如果您需要非常具体的解决方案或特定位置,或者您只是一个可能更适合小型公司的谦逊开发人员,请从那里开始。
AWS、Google Cloud 和 Azure 比较的常见问题解答 (FAQ)
AWS、Google Cloud 和 Azure 的定价模型差异很大。AWS 按小时收费,而 Google Cloud 按分钟收费,这对于短期或不规则使用来说可能更具成本效益。另一方面,Azure 提供更灵活的定价选项,包括按分钟和按小时收费。此外,所有三个平台都提供各种折扣和奖励,例如 AWS 的预留实例、Google Cloud 的持续使用折扣以及 Azure 的混合优势和预留实例折扣。
所有三个平台都提供强大的数据存储选项。AWS 提供 Amazon S3(用于对象存储)、Amazon EBS(用于块存储)和 Amazon Glacier(用于长期存档存储)等服务。Google Cloud 提供 Google Cloud Storage(用于对象存储)、Persistent Disk(用于块存储)以及 Nearline 和 Coldline(用于存档存储)。Azure 提供 Azure Blob Storage(用于对象存储)、Azure Disk Storage(用于块存储)以及 Azure Archive Storage(用于长期存档存储)。
AWS、Google Cloud 和 Azure 都提供全面的机器学习功能。AWS 提供 Amazon SageMaker,这是一种完全托管的服务,使开发人员能够构建、训练和部署机器学习模型。Google Cloud 提供 Google Cloud AI 和机器学习平台,其中包括预训练模型和构建、训练和部署自定义模型的服务。Azure 提供 Azure 机器学习,这是一个基于云的环境,用于训练、部署、自动化、管理和跟踪 ML 模型。
AWS、Google Cloud 和 Azure 都提供强大的网络功能。AWS 提供 Amazon VPC(用于创建虚拟网络)、Amazon Route 53(用于 DNS 服务)和 AWS Direct Connect(用于专用网络连接)。Google Cloud 提供 Google Cloud VPC(用于创建虚拟网络)、Google Cloud DNS(用于 DNS 服务)和 Google Cloud Interconnect(用于专用网络连接)。Azure 提供 Azure Virtual Network(用于创建虚拟网络)、Azure DNS(用于 DNS 服务)和 Azure ExpressRoute(用于专用网络连接)。
所有三个平台都优先考虑安全性,并提供一系列功能来保护用户数据。AWS 提供 AWS Identity and Access Management (IAM)、AWS Shield(用于 DDoS 保护)和 AWS Macie(用于数据隐私)等服务。Google Cloud 提供 Google Cloud IAM、Google Cloud Armor(用于 DDoS 保护)和 Google Cloud Data Loss Prevention(用于数据隐私)。Azure 提供 Azure Active Directory、Azure DDoS Protection 和 Azure Information Protection(用于数据隐私)。
AWS、Google Cloud 和 Azure 都提供强大的计算能力。AWS 提供 Amazon EC2(用于虚拟服务器)、AWS Lambda(用于无服务器计算)和 Amazon ECS(用于容器编排)等服务。Google Cloud 提供 Google Compute Engine(用于虚拟服务器)、Google Cloud Functions(用于无服务器计算)和 Google Kubernetes Engine(用于容器编排)。Azure 提供 Azure Virtual Machines(用于虚拟服务器)、Azure Functions(用于无服务器计算)和 Azure Kubernetes Service(用于容器编排)。
AWS、Google Cloud 和 Azure 都提供各种数据库服务。AWS 提供 Amazon RDS(用于关系数据库)、Amazon DynamoDB(用于 NoSQL 数据库)和 Amazon Redshift(用于数据仓库)等服务。Google Cloud 提供 Google Cloud SQL(用于关系数据库)、Google Cloud Datastore(用于 NoSQL 数据库)和 Google BigQuery(用于数据仓库)。Azure 提供 Azure SQL Database(用于关系数据库)、Azure Cosmos DB(用于 NoSQL 数据库)和 Azure Synapse Analytics(用于数据仓库)。
AWS、Google Cloud 和 Azure 都提供强大的分析功能。AWS 提供 Amazon Athena(用于查询服务)、Amazon QuickSight(用于商业智能)和 AWS Glue(用于 ETL 服务)等服务。Google Cloud 提供 Google BigQuery(用于查询服务)、Google Data Studio(用于商业智能)和 Google Cloud Dataflow(用于 ETL 服务)。Azure 提供 Azure Data Lake Analytics(用于查询服务)、Power BI(用于商业智能)和 Azure Data Factory(用于 ETL 服务)。
AWS、Google Cloud 和 Azure 都提供各种开发人员工具。AWS 提供 AWS CodeStar(用于项目管理)、AWS CodeCommit(用于源代码控制)和 AWS CodeBuild(用于构建服务)等服务。Google Cloud 提供 Google Cloud Source Repositories(用于源代码控制)、Google Cloud Build(用于构建服务)和 Google Cloud Deployment Manager(用于部署服务)。Azure 提供 Azure DevOps(用于项目管理、源代码控制和构建服务)以及 Azure Resource Manager(用于部署服务)。
AWS、Google Cloud 和 Azure 都提供强大的物联网功能。AWS 提供 AWS IoT Core(用于设备连接)、AWS IoT Analytics(用于数据分析)和 AWS IoT Device Defender(用于安全)等服务。Google Cloud 提供 Google Cloud IoT Core(用于设备连接)、Google Cloud IoT Edge(用于边缘计算)和 Google Cloud IoT Security(用于安全)。Azure 提供 Azure IoT Hub(用于设备连接)、Azure IoT Edge(用于边缘计算)和 Azure Security Center for IoT(用于安全)。
希望以上信息对您有所帮助!
以上是AWS,Google Cloud和Azure的并排比较的详细内容。更多信息请关注PHP中文网其他相关文章!