您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 云计算 > 正文

如何在多云环境中实现峰值编排

发表于:2020-04-07 作者:Steven Puddephatt 来源:企业网D1Net

如果企业管理者要求IT主管实施一个多云解决方案,他虽然当时答应下来,但在内心深处知道这并不容易。

企业的业务最近迁移到云端了吗?也许正在思考已迁移到敏捷的DevOps文化的成就。或者也许已转入基于SaaS的服务,例如云计算数据库、负载平衡器和容器集群?一切都在顺利进行,但随后需要考虑多云解决方案。现在可能面临面对更大的困难。

多云

为什么需要采用多云?

如果资金是答案,那还有什么问题?对于大多数企业而言,将业务向云平台的迁移非常简单,实际上只有两个选择(Azure和AWS),大多数选择AWS云平台。当他们开始迁移时,他们意识到云计算成本并不像最初看起来的那么低,然后立即开始寻找降低成本的方法。考虑使用多云的其他原因包括:

  • 灵活使用来自不同云计算提供商的最佳同类服务。
  • 地理性能和法规要求。
  • 避免供应商锁定。

有五个领域可能使多云应用难以实现:

(1)供应商原生语言:大多数人对于采用云计算技术没有意识到的是,完全相同的服务通常实际上并不具有可比性。例如,编排工具集:

  • AWS-CloudFormation
  • Google- Cloud Deployment Manager
  • Azure-DevOps

企业可以采用这三种不同的语言构建其服务。假设要运行Kubernetes集群来托管网站。在使用多云之前,企业需要一个代码库,一个部署管道和一系列需要监视的服务器。如果企业想在另一个Kubernetes集群上运行该网站,则无法将该配置复制/粘贴到另一个云平台中,企业必须从头开始编写它。Terraform自称为是可与所有三种主要云平台对话的语言之一,但是即使企业使用Terraform编写所有内容,也无法仅将其从AWS云平台指向Azure云平台。企业必须为每个云计算环境重新编写代码。Spinnaker等其他工具也在宣传可以降低多云部署的复杂性,但会带来大量开销。

(2)特定于云计算的功能:采用多云时,另一个要认真考虑的因素是将多个云平台结合在一起的粘合剂。想象一下IT部门使用Lambda功能将工作流合并在一起,以弥合代码中某处的空白。那么IT部门可能不会知道这一点,直到在其他地方运行该服务而中断。AWS公司擅长提供数百种这种微型SaaS产品,这使得将平台整合在一起非常容易,但是很难将该平台移动到其他地方。

(3)第三方服务(例如监视):如果企业使用DataDog之类的工具监视平台,则设置和定价基于每个云平台环境。为了获得可靠的报告和警报,企业将需要修改警报和日志等。需要从多个地方收集多组指标,并在多个地方查找问题。

(4)人为因素:如果企业将自己的业务分散在多个云平台中,则不能指望现有员工是经验丰富的管理员。AWS、Azure、谷歌云等云平台之间的差异不像宝马和奔驰汽车之间的差异,而是卡车和火车之间的差异。企业并不会让卡车司机驾驶火车,一切都会顺利进行;为了适应多云环境,需要对员工进行再培训和提高技能。

(5)审核和复杂性问题:任何必须通过GDPR法规或ISO-27001审核的企业都知道为审核员记录和展示系统的痛苦。此外,如果企业拥有完全冗余的系统,这些系统可以在发生故障时进行故障转移,那么现在需要在所有云平台环境中进行测试。

采用多云值得吗?

真正的负载平衡多云可能还需要多年的时间。尽管一些供应商(例如Waze公司)确实具有多云设置,但对于大多数企业来说,它仍然是一个概念。Dropbox公司将其存储数据从AWS迁移到私有云,GitLab公司从Azure迁移到谷歌云平台,美国五角大楼最近将其数据从AWS迁移到Azure。

不过,最初将一小部分业务迁移另一云平台可能具有一些优势。也许企业有一个巨大的数据仓库,根据隐私法律要求需要保存7年,无需将其保存在主要云平台。或者,企业可能正在构建与物联网设备集成的新平台。如果微软公司有一个物联网数据库,那么企业可以立即使用它,然后使用它将数据输送到企业的主要生产平台。企业都应该采取这样明智而快速的措施。不要指望在两个云平台运行相同的服务,而是从多个云平台为现有的服务提供补充。