写点什么

如何正确选择多云架构?

  • 2022-04-02
  • 本文字数:2597 字

    阅读完需:约 9 分钟

如何正确选择多云架构?

文/董晓聪


多云是指企业使用两个或更多的公有云 IaaS 供应商。广义来看,混合云也在其范畴。多云架构有如下优势:


  • 灾难恢复,当一家云供应商出现故障时,数据存储可以从另一家云供应商进行恢复。虽然云厂商有多地域,单地域也有多可用区,但还是存在中心化的依赖。这种依赖的故障就会导致整个云的故障。后面提到的故障主要指这种类型的故障。

  • 故障转移,当一家云供应商出现故障时,使用另一家云供应商承接服务,实现服务平稳不中断。

  • 成本优化,任意的采购只要有了两家及以上供应商,采购方就有了充分选择和议价的能力。

  • 避免供应商锁定,单一供应商,除了没有议价能力外,各种依赖也会使得变更极为困难。

  • 数据主权,企业提供服务,但产生的数据产权也是归属于服务对象。服务对象既有普通的用户(行权由国家主体代为进行),也有机构。他们对产权的需求,连带的导致企业的云基础设施选择也受其限制。

  • 特定服务访问,不同云有自己优势的服务,一般出现在 PaaS 层,如各式各样的数据库、大数据实时方案等。使用多云可以集各家之长。


多云架构有如此多的优势,那么选择怎样的架构才能达成,下面具体展开描述下。

主备多云



企业的应用服务还是在一家云厂商上,用户通过 DNS 解析过来,数据沿着网关、应用、数据存储这条链路流转。企业出于数据灾备的考虑,将数据存储同步到另一家云供应商上。亦或者企业有海量对象存储归档的需求,而另一家云在存储架构上有优势,如提供更具性价比的深度归档存储能力,或直接提供更具竞争力的价格。基于这些存储,企业还可能在备份云上开一些衍生的离线的计算,用来进行二次加工等。


在主备架构下,上述优势的表现如下,使用 3 分制进行评定。


  • 灾难备份,3 分,核心数据已经冗余存储在两家云上,任一家的故障都不会对数据造成不可恢复的影响。

  • 故障转移,0 分,主备模式更多考虑的是存储,应用服务较之前单云没有什么变化。

  • 成本优化、避免供应商锁定,1 分。企业已经在尝试第二家云供应商了,虽然只是存储方面的一小步,但在成本、避免锁定等方面逐渐有了一定的进步。

  • 数据主权,0 分,冗余的数据是用来做灾备的,本质上是一份,所以也没有数据主权一说。

  • 特定访问,1 分,企业逐步开始使用另一家云供应商差异化的对象存储服务,如更深度的归档能力、更丰富的图片处理能力等等。

弹性多云


随着合作的更进一步,第二家云供应商抛出更优厚的条件,能提供更多的弹性计算能力。企业对这家云的使用变得更多,不再仅仅满足存储备份需求,开始把一些重要的应用服务进行部署,以应对一些突增流量的弹性需求。为了确保有突发流量时第二家云可以稳定承接,所以常态下就要承接一定流量,保证服务是双活的。当流量增加时,弹性云进行快速扩容,通过 DNS 或者网关将主云上无法承载的流量转移到弹性云上。


这种模式下各维度的打分如下:


  • 灾难备份,3 分。数据灾备是基础项。

  • 故障转移、成本优化、避免锁定,2 分。较主备模式又更进一步了。故障转移的瑕疵在于弹性云仅部署了部分核心服务,对主云还是有千丝万缕的服务依赖。如果是主云出现故障,这些依赖不可访问,会不会导致弹性云不可提供服务,这个犹未可知。

  • 数据主权,0 分,同主备多云。

  • 特定访问,1 分,同主备多云。

业务切分多云


业务切分多云,这个也很好理解。公司有多个部门,或者直接是多个子公司,各自部署到钟意的云厂商上,就形成了这样切分的局面。这种多云模式往往也是最普遍的。用户访问不同业务使用不同的域名,不同域名根据 DNS 路由到不同云的不同服务上。两家云加起来才是公司完整的服务。因为业务线强势,中台无统一规划往往会出现这种情况。当然还有就是在线业务用一家云,离线业务用一家云等等。


这种模式下各维度的打分如下:


  • 灾难备份、故障转移,0 分。两家云上的服务和存储加起来才是完整的,所以灾难恢复、故障转移都无法实现。

  • 成本优化、避免供应商绑定,2 分。对企业而言,毕竟有两家云供应商可选择,两者价格、服务差距过大时,迁移也是可以操作的。

  • 数据主权,0 分,同主备多云。

  • 特定访问,3 分,该多云模式下最亮点的就是企业可以选择云上最优势的服务使用。

数据主权多云


不同用户群体,通过 DNS 路由到不同云上,在各自内部完成网关、应用、存储的数据链路,不同云之间不进行数据互通。每个云上都是完整的应用,但数据只有各自的用户数据。主要的场景有:


  • 业务出海,很多国家都限定了数据不准离境,甚至规定了专属的云供应商。企业不得不一套代码,部署在多家云上。

  • 有些私有化交付项目也是类似,企业需要按照雇主的要求部署在指定的公有云或者私有云上。这种模式下各维度的打分如下:

  • 灾难备份、故障转移、成本优化、避免供应商绑定、特定访问,0 分。

  • 数据主权,3 分。这种模式的多云仅为数据主权服务,其他维度都无能为力。

多活多云


这种也是最复杂的一种,企业将服务等量部署在两家云供应商上,通过 DNS 进行流量分配。数据存储一般采用主从模式,随着分布式数据库的逐渐兴起,也有较多的选型,这里先简单按照主从来讲。多活多云是对稳定性和成本极致要求的产物。


各维度打分如下:


  • 灾难恢复、故障转移,3 分。应用服务、存储每家云上都有完整的一份,所以灾难恢复、故障转移都是很容易的。单家云出现故障时,只需要将 DNS 路由到另一家云即可,又可以正常提供服务了。

  • 成本优化、避免供应商绑定,3 分。不同云有完整的服务,只是流量占比不同,所以迁移成本很低。

  • 数据主权,0 分,同主备多云。

  • 特定访问,0 分。多活的方案屏蔽了各家云厂商的差异,自然也不会去使用特定的服务。看上去在多数场景下多活多云是最优的选择,但这个收益也是伴随着较大代价的。从稳定性、成本、效率几方面来推演下。

  • 多活多云是用来解决稳定性问题的,但是如果做不到各自完整的闭环,彼此之间还存在千丝万缕的依赖,整体故障率不会减少,反而被增加。

  • 多云本质上也是要解决成本问题的,但两边云稳定性做的不好,业务不得不加大冗余,这样会带来巨大的浪费。

  • 多活多云对效率的影响主要体现在几个方面,一是抹平各家云厂商的差异,就需要一层胶水层。虽然 K8S 屏蔽掉了部分,但细节的差异还是广泛存在。再有,不能使用云厂商的优势功能,不得不去寻找其他替代方案。另外,商务沟通等事情也被放大了多倍。没有最好的架构,只有最适合企业的架构。


相信从上述的多云架构选择指南中,你也有了自己的选择。


作者介绍:


董晓聪,作业帮基础架构负责人,主要负责架构研发、运维、DBA、安全等工作。曾在百度、滴滴等公司负责架构和技术管理工作,擅长业务中台、技术中台、研发中台的搭建和迭代。

2022-04-02 14:482855

评论

发布
暂无评论
发现更多内容

互联网工程师Java面试八股文及答案整理(2023最新版)

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

浅析 Redis 数据结构 List 及其底层编码方式

Java你猿哥

Java redis List ssm

数字化转型应该如何去做?(4A架构篇)

数字随行

数字化转型

一种适用于大量租户大量角色的权限系统设计

Java你猿哥

Java ssm 权限管理

DiskCatalogMaker for mac(磁盘文件管理工具) v8.6.5中文注册版

理理

Mac磁盘管理 DiskCatalogMaker 注册版 DiskCatalogMaker 中文 DiskCatalogMaker 破解

pd虚拟机专用windows系统镜像(m1/intel)一键安装版

理理

虚拟机 win 11镜像 win镜像 arallels Desktop

阿里人都在死磕的全彩版"并发编程笔记",面试大厂必备!

做梦都在改BUG

Java 并发编程 高并发

eMail Address Extractor for Mac(邮件地址提取软件)

Rose

苹果软件下载 eMail Address Extractor Mac邮件地址提取

mac文件比较对比工具-Beyond Compare mac最新中文破解版

理理

Beyond Compare 4 Beyond Compare安装教程 Beyond Compare破解 mac文件对比工具

kafka消费者那些事儿

做梦都在改BUG

Java kafka 消费者

熬了一个月肝完这份阿里架构师的Java面试手册,我从20K变成了30K

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

最新出炉!2023年Java初中高级面试1000问

采菊东篱下

Java 程序员 面试

程序员的私人助理:Amazon CodeWhisperer

申屠鹏会

AI Codec

硬核!靠这套MySQL笔记轻松过了阿里二面,基础架构调优齐全了

做梦都在改BUG

Java MySQL 数据库

Nautilus Chain:独特且纯粹的创新型 Layer3

股市老人

模块七作业 - 王者荣耀商城异地多活架构设计

🐢先生

架构实战营

面试必备,阿里巴巴最新版《Java进阶学习+面试宝典》全新上线

架构师之道

Java 面试

阿里大佬带你一周刷完Java面试八股文,比刷视频效果好多了!

Java你猿哥

Java 分布式 微服务 JVM ssm

流批一体数据交换 etl-engine 融合查询语法

weigeonlyyou

数据迁移 ETL 云数据迁移 Kafka ETL 流批一体化

Nautilus Chain:独特且纯粹的创新型 Layer3

西柚子

2023年互联网Java工程师高级面试八股文汇总(1260道题目附解析)

Java你猿哥

Java MySQL zookeeper JVM java面试

绝了!阿里大佬的"Redis深度核心笔记",从基础到源码,全是精华

做梦都在改BUG

Java 数据库 redis 缓存

【1对1咨询】前端和后端,哪个更简单?转行程序员的捷径

程序员晚枫

前端 后端 转行

Nautilus Chain上首个DEX PoseiSwap即将开启IDO,潜力几何?

BlockChain先知

raw图像处理-RAW Power中文-mac破解软件

理理

mac软件下载 raw图像处理 RAW Power Mac破解版

面试官问:kafka为什么如此之快?

做梦都在改BUG

Java kafka 面试

Java 容器详解:使用与案例

小万哥

Java 程序员 容器 面试 后端

阿里资深架构师总结的春招Java岗核心笔记,GitHub标星20k

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

炸了!力扣官方首发了这套1568页LeetCode算法刷题笔记(彩页版)

Java你猿哥

面试 算法 LeetCode 力扣 左程云

开源字节 考研集训营小程序

源字节1号

开源 软件开发 前端开发 后端开发 小程序开发

如何正确选择多云架构?_AI&大模型_作业帮技术团队_InfoQ精选文章