如今,越来越多的企业将业务迁移到云平台,但并不是简单地将其新的应用程序,微服务或机器学习模型部署到公共云,并且没有那么快。
如果询问那些在IT运营中花费大部分时间管理数据中心的工作人员,就会听到私有云比公共云具有优势的很多原因,例如可靠性、可扩展性和安全性,并认为他们可以通过控制基础设施的选择、部署和管理来达到更高的标准。
如果询问首席信息官,他们会有其他理由考虑采用私有云和混合多云架构。他们将围绕公共云成本的可变性、长期支持原有系统的需要,以及数据中心长期合同的现实提供理论依据。与公共云架构相比,许多企业首席信息官在管理数据中心方面有着更强的实践,并希望避免陷入公共云供应商锁定的困境。
大公司在业务转型时并不像中小企业那样快,首席信息官必须考虑根据业务影响和实现价值的时间确定优先级,以实现应用程序现代化。正如CTO Advisor公司联合创始人Keith Townsend在推特上所说:“企业将其所有的Oracle应用程序转移到Amazon RDS上,还是利用这些人才为不同的业务计划创建新的应用程序?现在的问题是,这些都是相同的资源。”
如果询问软件开发人员,就会发现许多人更喜欢构建部署公共云,并利用无服务器架构的应用程序。他们可以使用持续集成(CI) /持续交付(CD)自动化应用程序部署,使用IaC配置基础设施,并将底层基础设施支持留给公共云供应商和其他云原生托管服务提供商。
企业能否可以在单个公共云平台实现标准化?可能不会。如果采用可能带来与企业的标准不同的公共云,并且许多商业应用程序只在特定的公共云上运行。即使企业尽力避免这种情况,仍可能是一个采用多云的组织。
在以下的讨论中将研究一系列场景,在这些场景中,混合云架构与只采用私有云或多个公共云相比具有一些技术优势。
定义混合多云架构和策略
综上所述,开发人员通常倾向于将基础设施和相关托管服务外包给公共云,而IT运营部门则利用他们的专业知识和现有的数据中心基础设施构建私有云。企业首席信息官必须通过支持混合多云架构和运行实践来管理实际情况。
简单地说,多云意味着企业利用多个云平台,例如AWS和Azure。混合多云意味着企业混合使用私有云和公共云,并且必须协调它们之间的连接性和安全性。私有云可以在企业的数据中心中运行,也可以由服务提供商托管。
但这就带来了一些问题:在哪里部署新的应用程序,在哪里对传统应用程序进行现代化改造。回答这些问题需要IT决策者、架构师、开发人员和工程师之间的协作来考虑最佳实践和架构模式。正如云计算顾问Sarbjeet Johal所说的那样,“混合多云策略的目标是在确保稳定性的同时获得灵活性,或者换句话说,将正确的工作负载定位到正确的位置。”
Sarbjeet的云计算消费理论具有三个原则,尽管有很多例外:
- 不要自己构建记录系统和购买SaaS。
- 为参与/差异化系统采购可扩展的SaaS。
- 将公共云用于创新系统。
这些准则为企业何时购买和配置SaaS解决方案以及内部构建应用程序提供了一些背景信息。许多原有系统必须保留在数据中心中,直到有机会和业务依据对其进行现代化。还有一些情况是,由于成本、合规性、安全性和其他运营方面的考虑,企业有时会在私有云中运行应用程序。最后,Sarbjeet建议将公共云用于提供创新的应用程序。开发人员可以从小型POC和实验开始,使用云计算服务快速开发功能,并根据使用量扩展基础设施。
惠普企业公司的杰出技术专家Ed Featherston对定义混合云战略提出了一些敏锐的建议。他说:“一切都是权衡。企业需要推动可以实现目标的优先事项和折衷方案。仍然需要设计和规划。如果不考虑这一点,最终会导致实施失败。”
但是一些开发者需要更加深入。而这是企业选择公共云用于新的应用程序和微服务的原因。那么,在私有云中构建和部署新应用程序或服务的最佳时间是什么?在这些用例中,私有云可提供超出运营考虑范围的技术和竞争优势。
通过邻近度逃避数据引力
如果企业准备部署在TensorFlow上运行的大规模机器学习模型,则可能会认为最好的选择是将其部署到公共云。数据科学家可以使用Amazon SageMaker,Azure的Machine Learning和谷歌云的TensorFlow Enterprise进行实验、开发、测试和部署生产深度学习模型。这些公共云选项中的其中一个是最优的吗?
如果该模型需要每隔30天针对企业数据中心中多个数据仓库和数据湖的数PB数据集进行一次重新训练,那么会怎么样?如果将所有这些数据移动到公共云以便机器学习模型可以在那里训练,是否更高效、更具成本效益?或者,在靠近所有数据所在的私有云中培训机器学习模型会更好?
如果要基于事件驱动的架构配置控制系统怎么办?如果是一家大型广告公司,该公司从数十个SaaS平台收集行为数据,那么可能会将系统部署到公共云。但是如果是一家制造商,并且事件来自数以千计的物联网传感器,并且工厂位于南美洲的偏远地区,该怎么办?是否应该在边缘部署私有云来执行此数据处理?
这些示例说明了在考虑公共云部署与私有云部署时的两个重要概念。第一个是数据引力,这个术语表明大型数据集在其消耗的应用程序和服务上具有引力。将这些应用程序和服务部署到最大的数据集附近,可以使它们运行得更快、更便宜、更可靠。第二个是延迟,这可能是在远程位置进行操作时的一个因素,并且无法确保高带宽和可靠的连接性或可能成本昂贵。在这些情况下,企业在边缘部署私有云时在性能和成本方面具有优势。
设计需要考虑人身安全的应用程序
由于大多数架构良好的电子商务应用程序都可以在公共云或私有云中可靠地运行,因此决策通常归结为成本、合规性和其他运营因素。许多支持业务工作流、分析、事务和协作的应用程序也是如此。
但是将人员的安全性作为设计考虑因素,可能会有所不同。医院要求医疗系统必须在本地运行,因为没有人希望由于公共云中断而中途停止机器人辅助手术。构建智能建筑和智能城市的建筑师必须考虑在私有云和公共云之间战略性地分配服务,并且希望在混合模型中部署至关重要的服务。
为数字和物理世界体验的交集而设计
在接下来的十年里,人们将看到越来越多的应用程序连接物理世界和数字世界。企业架构师必须考虑为这个交叉点上不断增加的参数(包括用户体验、性能、可靠性、可扩展性和可维护性)而进行优化的混合架构。
罗克韦尔自动化公司企业架构副总裁Todd Mazza分享了他对权衡的看法。他在推特上说:“我们的生产车间中的某些元素在未来五年的时间内可能不会用于混合云或公共云。但是,如果能够证明能够以更低的成本更可靠地交付更多产品,我们也许能够更快地采用混合多云。”
随着越来越多的企业开发大规模利用物联网、5G和人工智能的应用程序,风险也在不断增加。
这意味着,越来越多的应用程序将架构、云计算和基础设施决策作为重要的设计考虑因素。虽然在公共云上实现概念验证或轻量级移动应用程序可能是一个简单的决定,但任务关键型、支持生命和数据密集型的应用程序可能需要部署混合多云。
【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/live
本文作者:Isaac Sacolick