在多云和天空计算之间进行抉择时,企业管理者必须首先理解抉择的老本和收益。
如何应用云计算将是企业的应用程序策略架构和布局中的一个重大决定,而多云正日益成为云架构师构建高端、以云为核心的企业应用程序的风行抉择。如果曾经决定了多云策略,则必须确定哪种类型的多云策略最适宜本人的应用程序。这个决定可能不像设想中那么明确。
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、繁多云是真正的最佳答案吗?
本文是假如企业曾经决定迁徙到多云环境。如果企业管理者还没有做出这个决定,那么倡议管理人员思考其抉择。是否真的须要多云环境,还是抉择繁多云提供商对企业来说是更好的抉择?
无论采纳何种多云策略,在多云环境中运行应用程序都比在繁多云环境中运行更简单,因而危险也更大。此外,还有与多云环境相干的额定老本,例如跨云数据传输费用。
企业应首先考虑一下为什么对多云环境感兴趣。
是因为不信赖单个云提供商的可靠性吗?多云仿佛能够通过增加冗余来进步其整体耐用性,但企业能够增加适当的冗余而无需增加云提供商。
是出于经济起因吗?在大多数状况下,多云部署比单云部署老本更高。
是因为领有多种抉择对企业而言很有价值吗?如果是这样,请意识到这种灵活性的确是有代价的,并且应该理解该老本对于企业而言是否负担过重。
最初,无论企业应用单云策略还是多云策略,无论应用多云还是天空计算,甚至是应用云原生、混合云或其余任何云策略,请确保企业管理者理解老本和这样抉择的益处,并确保它最适宜企业的倒退。