多云VS天空计算,企业应如何选择云计算战略?

79 阅读8分钟

在多云和天空计算之间进行选择时,企业管理者必须首先了解选择的成本和收益。

如何使用云计算将是企业的应用程序战略架构和规划中的一个重大决定,而多云正日益成为云架构师构建高端、以云为中心的企业应用程序的流行选择。如果已经决定了多云策略,则必须确定哪种类型的多云策略最适合自己的应用程序。这个决定可能不像想象中那么明确。

1、多云策略的类型

一般来说,多云是一种使用多个云提供商部署单个应用程序的策略。例如,如图所示,一个应用程序可以同时部署到 Amazon Web Services (AWS) 和 Google Cloud Platform (GCP),并利用这两组云服务。

图片

图1 部署到多个云提供商的应用程序

但是使用每个云提供商的应用程序是为了什么?这取决于使用多个提供商的决定是如何做出的。为什么要跨多个云提供商部署应用程序?

通常,没有做出正式决定,使用多云的选择是偶然发生的。这在刚接触云或缺乏云技术的公司中尤其常见。例如,一组工程师决定使用 AWS 服务,例如 Amazon S3。另一组在另一天决定使用 GCP 服务。服务团队可能会决定他们需要在另一个云提供商的服务中部署服务能力,不同的团队可能会做出不同的决定。

虽然使用多个云提供商确实有优势,但很少像这样随机或随意使用它们。然而,这却是一种常见的模式。

2、使用 polycloud 进行云专业化

幸运的是,企业通常是有计划地使用多云。

随着云的成熟,云提供商正在创建更复杂的服务。这些服务是专门的,旨在与其他云提供商提供的同等服务竞争。

每个云提供商都有自己的专长,而且他们在这些领域提供的服务通常比其他云提供商的同等服务更好。根据要使用的服务,该服务的最佳版本可能因云提供商而异:

  • Microsoft Azure 专门提供 Windows Server 操作系统。
  • Microsoft、Google 和 AWS 都拥有出色的人工智能 (AI) 和机器学习 (ML) 服务。
  • AWS 拥有同类最佳的对象存储服务,价格低廉且支持超大型数据集 (S3)。
  • Azure 提供了高质量和高度集成的开发工具。
  • GCP 专门从事 Kubernetes 服务部署。
  • AWS 专注于无服务器功能。

最终结果是为了使用最好的云服务——一个应用程序可以跨越多个云环境。应用程序可能使用 Amazon S3 进行对象存储,使用 Amazon DynamoDB 进行数据库,使用 GCP 进行 Kubernetes 集群管理,使用 Azure 管理 Microsoft Windows Server 实例,最后依赖 Google 的 AI 功能。

当单个应用程序使用多个云提供商时,每个云提供商都有专门的服务需求,我们称之为polycloud。使用每个云提供商是因为其具有与应用程序的特定需求相匹配的特定优势。上述多云场景如图 2 所示。 

图片

 图 2 Polycloud 部署

3、具有天空计算的通用云

使用多个云提供商的另一个常见原因是冗余。在这种情况下,使用多个云的决定不是随意做出的,而是战略性的。我们的想法是,如果一个云提供商出现故障,拥有第二个可用的云提供商将使我们的服务继续运行。

这种方法的一个问题是,企业需要确保其应用程序无需修改即可在其使用的每个云上运行。应用程序的所有部分都必须能够在每个云提供商上运行。这是因为既定目标——使用一个云提供商作为另一个云提供商故障的备份——只有在应用程序可以相对容易地从一个提供商转移到另一个提供商的情况下才有效。

这可能会产生问题,因为每个云提供商对其应用程序都有不同的接口。企业需要在应用程序的每个部分支持这些不同的接口中的每一个,并且企业技术团队必须进行测试以确保这些不同的接口在所有组合中都能正常工作。

在这种情况下,一种解决方案是一种越来越流行的新云模型:天空计算。天空计算试图将通用 API 层置于多个云提供商之上。然后企业构建其应用程序以使用此通用 API。因为通用 API 对所有云提供商都是等效的,所以理论上将应用程序从提供商转移到提供商要容易得多,尤其是在紧急情况下,例如在提供商故障期间。

图片

 图 3 使用天空计算的应用程序

上图显示了工作原理。此图类似于图 1 中的多云,但包括应用程序和每个云提供商提供的特定云服务之间的通用 API。通用天空 API为应用程序提供一组通用功能,这些功能在每个云提供商上单独实现。天空 API 本身是特定于云的,但应用程序的其余部分仍然与云无关。

4、多云VS天空计算

多云和天空计算都是管理多云部署复杂性的策略。哪个方案更好?

Polycloud 最擅长利用每个单独的云提供商的优势。由于每个云提供商都是根据其在特定云专业领域的实力来选择的,因此企业可以在应用程序中充分利用每个提供商的优势。这也鼓励与每个提供商提供的云工具和功能进行更深入的集成。更深入的集成意味着更好的云利用率和更高效的应用程序。

然而,Polycloud 是有代价的。整个企业以及企业内的每个开发和运营人员都需要更深入地了解每个正在使用的云提供商。由于应用程序使用来自多个提供商的专业服务,因此应用程序开发人员需要了解所有云提供商的工具和功能。

天空计算减轻了应用程序开发人员的这种知识负担。企业中的大多数开发人员只需要了解和理解天空 API 以及相关的工具和流程。他们可以避免对每个云提供商的细节进行深入的了解。需要了解每个云提供商如何运作的专业知识的员工数量将大幅减少。

缺点是天空计算不鼓励与给定的云提供商深度集成。天空 API 最终成为“最小公分母”云解决方案,因为只有所有云提供商提供的功能在界面中可见。这意味着无法获得更深层次的集成所带来的优势。云最终变得更像是一种商品,而不是一种创新工具。

在实践中,天空 API 并不能完全消除个别开发人员所需的特定于云的理解。毫无疑问,当深入诊断和调试周期,试图解决基于云的应用程序的问题时,缺乏底层云平台知识的开发人员将处于劣势。实际上,开发人员会发现他们需要多个云提供商的详细知识。

5、单一云是真正的最佳答案吗?

本文是假设企业已经决定迁移到多云环境。如果企业管理者还没有做出这个决定,那么建议管理人员考虑其选择。是否真的需要多云环境,还是选择单一云提供商对企业来说是更好的选择?

无论采用何种多云策略,在多云环境中运行应用程序都比在单一云环境中运行更复杂,因此风险也更大。此外,还有与多云环境相关的额外成本,例如跨云数据传输费用。

企业应首先考虑一下为什么对多云环境感兴趣。

是因为不信任单个云提供商的可靠性吗?多云似乎可以通过添加冗余来提高其整体耐用性,但企业可以添加适当的冗余而无需添加云提供商。

是出于经济原因吗?在大多数情况下,多云部署比单云部署成本更高。

是因为拥有多种选择对企业而言很有价值吗?如果是这样,请意识到这种灵活性确实是有代价的,并且应该了解该成本对于企业而言是否负担过重。

最后,无论企业使用单云策略还是多云策略,无论使用多云还是天空计算,甚至是使用云原生、混合云或其他任何云策略,请确保企业管理者了解成本和这样选择的好处,并确保它最适合企业的发展。

GitHub: github.com/yunionio/cl…

官网地址:www.yunion.cn/