架构师们,请收好这份多云架构指南

在过去的十五年里,云技术改变了 IT 部门的运作方式。IDG 2020 年的一项调查发现,81% 的组织至少有一个应用程序或一部分计算基础设施在云上(高于 2011 年的 51%),并且有 55% 的组织目前在多云策略中使用了多个云供应商。

部署多云的方式并不复杂——“多云”仅仅意味着使用两个或多个不同的云供应商,并利用它们的优势来满足我们的需求。这种方式提供了一种替代方案,可以替代仅依赖单个云供应商或本地基础设施的方式来处理所有的一切。

如果你的组织是那 45% 的没有使用多云部署方式的组织之一,或者如果你想从多云策略中获得更多的收益,那么请阅读本文,本文将会解释什么是多云,它是如何工作的,它能提供什么好处,以及在推出多云策略时需要注意哪些事项。

多云背景介绍

在过去的十五年中,向多云基础设施的转变可以追溯到云计算领域的两个趋势。首先,AWS、谷歌和微软(也被称为“三巨头”)不再是 IT 部门寻求迁移到云计算的唯一选择。自 AWS 于 2006 年推出以来,专业的基础设施即服务(IaaS)供应商不断涌现,已经开始挑战三巨头了,他们为公司提供了更多的云部署选择。

其次,在 AWS 推出后的十年里,许多公司都在从本地部署向云计算转型。现在,新推出的公司都是基于云原生的,现有的公司也已经准备好优化他们的云部署了。他们已经跨越了将本地基础设施迁移到云上的障碍,可以专注于如何构建他们的云环境,以最大限度地发挥多云的优势。

什么是多云?

几乎所有的软件即服务(SaaS)平台都托管在云上。因此,如果你的公司使用了像 OneDrive 或 Google Workspace 之类的工具以及任何其他的云服务或平台,那么从技术上讲,你就是在一个“多云”的环境中运行。但使用多个 SaaS 平台并不能构成真正的多云策略。

狭义地说,当我们在云服务行业说“多云”时,我们指的是用于构建公司基础设施(包括存储、网络和计算)的公有云平台。

根据这个定义,多云意味着使用两个不同的公有 IaaS 供应商,而不是将所有数据保存在一个多元化的云供应商(如 AWS 或谷歌)中,或者仅使用本地基础设施。

多云与混合云:有什么区别?

多云是指使用多个公有云平台。混合云是指私有云与公有云的组合。私有云通常托管在本地基础架构上,但也可以由第三方托管。私有云和公有云之间的主要区别在于私有云的基础架构、硬件和软件都在我们自己企业或组织的专用私有网络上维护的。

更复杂的是,如果一家公司将私有云与多个公有云结合在一起,实际上是利用混合多云策略就是在云游戏中玩自杀。这一切都会变得非常混乱,所以请继续关注后续文章,对应的文章将会单独介绍这个话题。

如何实施多云:用例

公司运维多云环境的原因是多种多样的。对于一些公司来说,采用多云最初可能是影子 IT 的无意结果(影子 IT 是指独立的部门采用了云服务,而没有让 IT 团队提供帮助)。随着这些部署成为运维不可或缺的一部分,IT 团队可能会将它们纳入到整体企业的云策略中。对于其他人来说,多云策略是有意部署的,因为它们适用于特定的业务需求。

那么,你实际上是如何使用多云策略的呢?多云策略有什么好处?多云有许多引人注目的用例和基本原理,其中包括:

  • 灾难恢复(Disaster recovery)
  • 故障转移(Failover)
  • 成本优化(Cost optimization)
  • 避免供应商锁定(Avoiding vendor lock-in)
  • 数据主权(Data sovereignty)
  • 特定服务访问(Access to specialized services)
灾难恢复

运行多云环境的最大优势之一是在云原生部署中实现了冗余并规划了灾难恢复。使用多个云有助于 IT 部门实施现代化的 3-2-1 备份策略,将其数据的三个副本存储在两种不同类型的媒介上,其中一份存储在异地。当 3-2-1 演化时,这意味着另外两个副本被保留在本地以便进行快速恢复。

随着云服务的改进,对本地备份的需求也发生了变化。现在,从云上恢复数据的速度几乎与从本地基础设施中恢复数据的速度一样快,而且许多公司根本不再使用物理基础设施。对于希望或已经是云原生的公司,将数据保存在多个公有云中可以降低将生产副本和备份副本保存在一个供应商处的风险。在发生灾难或勒索软件攻击的情况下,多云用户可以恢复存储在另一个独立云环境中的数据,理想情况下,该环境可以提供像 Object Lock 这样的工具,以保护具有不变性的数据。

故障转移

类似地,一些云原生公司利用多个云供应商来托管其活动生产数据的镜像副本。如果他们的一个公有云发生了故障,他们有相应的机制来将其应用程序的故障转移到另一个公有云上。

电子商务公司 Big Cartel,过去几年在 AWS 上在经历了多次宕机,这让 Big Cartel 很是担忧,之后他们采取了这一策略。他们代表他们的客户托管了超过 100 万的网站,一旦宕机,这些网站就会全部瘫痪。

Big Cartel 的技术总监 Lee Jensen 承认:“随着时间的推移,我们越来越不能忍受单一存储供应商的单点故障了”。现在,他们的数据存储在两个公有云上——Amazon S3 和 Backblaze B2 Cloud Storage。他们的内容交付网络(CDN)很快,是优先从 Backblaze B2 提取数据,并使用 Amazon S3 作为故障转移。

重要事项:一个 Big Cartel 的客户网站

成本优化

挑战者公司可以提供与三巨头有竞争性的激励措施,以及适用于特定数据用例的定价结构。例如,一些云服务供应商提供免费的出口,但限制了可下载的数据量,而另一些云服务供应商则收取名义上的出口费,但不限制下载量。精明的公司会根据他们拥有的数据量和需要访问的频率对不同类型的数据使用多个云。

SIMMER.io 是一个社区网站,它为独立游戏开发者提供了共享 Unity WebGL 游戏的便利,只要他们托管的某款游戏出现了病毒式传播,它就会受到来自 Amazon S3 的出口尖峰冲击。这些费用将他们的成功变成了增长抑制剂。由于 Backblaze 和 Cloudflare 之间具有带宽联盟合作伙伴关系,SIMMER.io 将他们的数据镜像到 Backblaze B2 Cloud Storage 中,并将出口费用减少到 0 美元。他们可以发展他们的网站,而不必担心随着时间的推移会增加出口成本,或担心当游戏病毒式传播时会出现使用高峰,而且在这个过程中,他们还将冗余翻倍了。

龙之魂(Dragon Spirit):一个由 SIMMER.io 托管的游戏

避免供应商锁定

许多公司最初采用的是三巨头中的其中一家,因为它们是镇上唯一的游戏玩家,但后来他们觉得自己受到了封闭系统的限制。像亚马逊和谷歌这样的公司之间并不友好,它们都试图用特定的服务来锁定客户。采用具有可互操作供应商的多云基础设施,可以让这些公司在云部署方面拥有更多的谈判权和控制权。

例如,联网电视应用平台 Gideo 最初使用的是一家集计算、存储和内容交付于一体的云供应商,但他们觉得自己没有办法减少账单或改善他们收到的服务。他们采用了多云的方式,与多个互不冲突的合作伙伴共同构建了一个技术栈,让他们自己不再受制于任何一个供应商。

数据主权

许多国家以及欧盟都通过了法律,对数据存储的位置和方式进行了监管。受这些数据驻留标准约束的公司可能会采用多云的方式来确保其数据符合监管要求。他们在必须存储数据的位置使用多个具有不同地理足迹的公有云供应商。

特定服务访问

组织可以使用不同的云供应商来访问特定的或免费的服务。例如,一家公司可能使用 Vultr 等公有云访问计算资源或裸金属服务器,但将其数据存储在另一个专门用于存储的不同且可互操作的公有云中。或者,公司可以将云存储供应商与云 CDN 结合使用,以更快地向最终用户分发内容。

多云基础设施的优势

无论是用例还是基本原理,公司都可以通过部署多云基础设施来获得许多优势,其中包括:

  1. 更高的可靠性和更低的延迟:在故障转移场景中,如果一个云上发生了故障,采用多云策略的公司还可以依靠其他云。如果一家公司使用了多个云来实现数据主权或与 CDN 结合使用,他们可以看到延迟会降低,因为他们的云更靠近终端用户。
  2. 冗余:由于数据存储在多个相互隔离的云上,公司可以更好地抵御威胁。如果网络犯罪分子能够访问一组数据,但公司能够从运行在另一个单独网络上的云环境中恢复数据,那么公司恢复数据的可能性就更大了。
  3. 更大的自由度和灵活性:在多云系统中,如果出现问题或者成本开始变得难以管理,公司有更多的杠杆来影响这些变化,如果另一家供应商提供了更好的功能或更实惠的价格,公司也有能力离开现有供应商。企业还可以利用行业合作伙伴关系,利用最优秀的供应商来构建灵活且与云无关的技术栈。
  4. 可承受性:使用多云可能会降低成本,这似乎有悖常理,但这是真的。像 AWS 这样的多元化云服务供应商可以让人们很难放弃他们的服务是有原因的——当你不能离开时,他们可以向你收取任何他们想要的费用。多云系统使你能够利用平台间的竞争性定价优势。
  5. 同类最佳服务:采用多云战略意味着你可以与专注于真正做好一件事而不是做所有事情的供应商合作。云平台专门为客户提供一流的服务、功能和支持,而不是提供一刀切的解决方案。

多云基础设施的挑战

多云系统的优势吸引了越来越多的公司,但它也并非没有挑战。在 IDG 的研究中,成本控制、数据安全和治理被列为五大挑战。这就是为什么尽早考虑云基础设施、遵循最佳实践并规划管理意外事件的方法会变得更为重要的原因。

多云最佳实践

在规划多云策略时,请记住以下的注意事项:

  • 部署策略
  • 成本管理
  • 数据安全
  • 治理
多云部署策略

部署多云策略的方法可能与使用多云策略的公司一样多。但是,它们通常可以分为两大类:冗余或分布式。

在冗余部署中,数据被镜像到多个云环境中,比如用于故障转移或灾难恢复。使用多云方式而不是混合方式来存储备份数据的公司正在使用冗余多云部署策略。大多数希望使用多云方式备份公司数据或环境的 IT 团队都属于这一类。

分布式部署模型通常适用于软件开发团队。在分布式部署中,同一应用程序的不同工作负载或不同组件将基于最佳匹配分布到多个云计算环境中。例如,DevOps 团队可能会将他们的计算基础设施托管在一个公有云中,而将存储托管在另一个公有云中。

你的业务需求将决定你应该使用哪种部署类型。从一开始就了解你的部署方式可以帮助你为自己的多云策略选择正确组合了服务和计费结构的供应商。

多云成本管理

云环境的成本管理是每家公司都会面临的一个挑战,即使你选择与一家供应商保持紧密关系,以至于公司将云优化作为他们的整个业务模型。建立一个流程来跟踪你的云利用率和支出,并寻找能提供直接、透明定价规则的云供应商以削减预算。

多云数据安全

随着云环境变得越来越复杂,安全风险也会相应地增加了。有更多的攻击面,需要你规划相应的安全措施。要在降低风险的同时利用多云优势,请遵循多云安全最佳实践:

  • 确保对跨平台的身份验证有适当的控制。不同的云供应商可能有不同的身份验证协议,你需要有一个跨供应商也能工作的框架和安全协议。
  • 适当培训你的团队以识别网络安全风险。
  • 保持最新的安全补丁。每个云供应商都会发布自己的升级和补丁。确保尽可能实现自动升级。
  • 考虑使用像 Object Lock 这样的工具来保护数据的不变性。Object Lock 允许你使用一次写入多次读取 (Write Once, Read Many,WORM)模型来存储对象,这意味着在写入后,数据在定义的时间段内无法修改或删除。在此期间,任何操作、复制、加密、更改或删除文件的尝试都将失败。文件可以被访问,但没有人可以更改它们,包括文件所有者或设置 Object Lock 的人。
多云治理

随着云应用在公司的普及,你需要有明确的协议来管理你的基础设施。考虑为云平台的管理和配置创建标准化的操作过程,以避免影子 IT 扩散。并设置中心化的安全监控策略。

准备好使用多云了吗?迁移策略

如果你已经准备好了使用多云,你可能想知道如何将数据从本地基础设施中迁移到云上,或者从一个云迁移到另一个云上。在选择了适合你需求的供应商之后,你可以开始规划数据迁移了。有很多工具可以迁移数据,但当涉及到在云服务之间迁移时,像我们的 Cloud to Cloud Migration 这样的工具可以让事情变得更容易、更快捷。

原文链接:

https://www.backblaze.com/blog/multi-cloud-strategy-architecture-guide/

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/GFMMdoBqjflF887sxjAm
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券