有没有公司的产品是基于多家公有云的。一家云出了问题,可以平滑切换到其他云计算厂商?感觉现在一家云厂商出故障,都只能干着急。那我如果不差钱,同时买多家的云产品,a 有问题,我可以切到 b 啊。是不是可用性会提高不少呢?

等一个回复,看哪家公司这么有钱会这么干

主要是数据,如果数据能同步无丢失的话,应用切换方案还是蛮多的

混合云很正常

自建 pve 集群

这个想法很奇特,一般要做都是云为主,本地为辅,如果云挂了,就直接用本地替掉,但是本地之后云 20%-30%的性能,所以限流会很大。

我有项目是这么干的 不过项目比较少
而且不是切换,是两家同时在线一样的程序,cdn 各自访问
所有写操作会同时写两家 并且保留应用层数据操作 binlog
是大后台程序,写操作少,读操作多

一个有点规模的公司,都会有几十 T 的数据,怎么可能平稳切换。

出口带宽花钱又有限速,不仅平稳切换很难,想把这些数据拿出来,都要花很大的功夫和时间。

混合多云么?头部云厂商都没有动力去做。都是在写一些从其他云厂商打包迁移到自家云一键迁移工具。京东在做,估计短时间也出不来。

混合云呗,做一个多云平台的管理系统,挺折腾的...
最近在给我自己的一个项目写这样一套自动切换 CDN 的方案,不过目的是为了省钱(
如果是更加深入地使用公有云,会很复杂...

你这是理想主义,成本会高很多

自己做就行了.
oss 多存一份,cdn 出问题直接服务器上把 url 前缀换了.
服务器一直热备着,出问题时如果负载均衡服务还在就由负载均衡服务转移流量,负载均衡也挂了就由 DNS 转移

#11 ,这么做绝对工龄撑不过 1 年,就被老板 KO

几千 PB 的数据,说笑呢

要看具体需求,我们公司有一套系统是可以做到的,同时有三家的云服务器,可以随意切换,在 cdn 和请求地址上做文章,但是适用性不广,有局限性,也是因为之前被其他公司牵连导致整个公司服务被腾讯 ban 掉了才做的。

星汉未来,他们家的产品好像可以,以前微博的胡伯伯出来创业的公司

CDN 可以做到这样,还有就是前端的那些机器,做负载均衡的什么的。核心服务要找有赔付的,AWS 和 Google Cloud 都宕机过,都有赔钱,而且还是赔好几倍

问题是你都在业务层做到跨区域同步和容错了, 为什么还要用公有云, 是找 IDC 托管部署私有云不便宜么........

我司只有 PX 链路有多云冷备,出问题切 CDN 。

混合云,emm ,红帽多集群管理 acm+红帽 openshift ? aws 起一个 openshift 集群,阿里云起一个 openshift 集群?

大公司还真是这么做的,使用多家云以确保稳定和数据安全(每家云都没有完整数据)。

我记得有个美国的公司是专门做这个的,让小公司也能享受混合云,去年还看过他们的报道,好像是上市了还是怎么着。不过名字忘了

字节就是这样啊

我看到这样的组合:

两个城市,两个数据中心,里面部署着 Red Hat OpenShift + IBM Cloud Foundry ,再加上两个公有云 AWS + Azure 。

Bilibili
好像是买了华为云、金山云、阿里云、腾讯云的边缘计算,作为 CDN 的功能或补充功能支撑业务运转。但核心业务可能并不在公有云上

terraform 貌似就是为了解决这个问题的

说得对。

迁移代码容易,数据咋办?

自己搞的话可以实现,有没有拿出来卖的混合云产品就不知道了。混合云的好处是减少单个云厂商故障影响和资源制约,但底层架构怎么拆,得看具体业务了。

有,VMware Cloud 。

云厂商,貌似没有。
软件厂商,有,一般都是 Self-Hosted 有对应的技术文档,具体实施还是要依靠客户或供应商的系统集成能力。
软件 /平台服务商,达到一定规模后,应该都会考虑在多个不同的云厂商或 IDC 中部署服务设施,但终端用户一般都不会有感知。

有个例子
docs.pexip.com/admin/infinity_architecture.htm

这就是为啥云服务也有区域和数据中心的概念。

一家云厂商所有的区域和数据中心全部挂掉的概率是非常小的。很多公司上云之后基本容灾做的都不是很好。
例如 AWS 去年 12 月美东区域挂掉之后,很多公司的服务也马上挂掉了; AWS 恢复之后,不少公司的服务迟迟回复不过来,这就是架构设计上面没有做好容灾降级和拉起的设计。
与之对比的是 netflix ,AWS 挂掉之后 Netflix 的服务中断了十几分钟之后,流量就切换到了其他的区域和数据中心,AWS 服务回复之后,Netflix 也很快就回复了正常的服务。

所以其实在考虑多云的策略之前,可以先把基本的容灾设计做好。

有点规模的公司,数据备份应该有吧,多加一个策略备份到另一个云咯。虽然会因为备份的滞后带来数据回滚和用户补偿但也比离线不可用好吧。而且只要原始数据没有丢失,还是有很大机会能够恢复回来的吧。

能不能用多云厂商 提供的云主机 /裸金属 自己实现 高可用软集群,变相实现部分功能?

上点规模或者对数据敏感的企业,“两地三中心”是基本配置,无论是公有云还是私有云

云原生,云原生, 肯定可以的啊, 这都做不到就不用玩云原生了啊.

我听过一个案例,用 aws 和 阿里云,在客户端写死几个 IP ,挂了一个也能访问到其他的。

uber ,可以看看他们的架构设计。一开始大家都觉得不会成功,但是最后就是成功了。

还是数据吧,如果数据量太大 迁移太慢了, 看过一篇文章, 忘记哪家公司了, 迁移数据用的汽车拉硬盘 /doge

重要的业务很多都是这样的

自建云原生数据库,GRE 隧道同步。
DNS 负载均衡,健康检查,SDWAN-VIP

是这样的啊,上面的回复咋差这么多

听闻某站某书都是混合云方案, 不把鸡蛋放在一个篮子里

阿里云的金融 db 之类本省不就提供了多数据中心方案吗?

据我所知没有,但是目前有混合云多云的解决方案产品。Karmada 华为云开源贡献给 CNCF 基金会的首个多云容器编排项目,目前华为云有基于此提供的多云混合云管理编排解决方案 MCP 。
support.huaweicloud.com/productdesc-mcp/mcp_productdesc_0001.html

公有云+私有云很正常,但是多家公有云……额,只能用 1 楼的话说了,“哪家这么有钱啊”

我们的一些关键业务就是“多云+多地”的,目前是 Azure 为主,AWS 、Rackspace 、GCE 等都有使用。
另外如 #32 所说,多地多点是一些关键业务必须的,以深航来说吧,深圳有 3 个数据中心 + 1 个中心数据中心,同时在云南还有个备份数据中心,有一条 50M 的专线日夜不停地做数据传输。所以 #7 说的是不对的,多云多点的一般都是 hot standby ,数据随时在同步,不存在一次性传输几十 T 数据的情况。

另外,不针对某个人啊,我在本站看到太多的 V 友根本不知道什么叫“企业解决方案”,总是拿自己的架构和方案、自己家的架构和方案和某些文章、视频里瞎扯的东西当成很高大上的方案套给企业。

两份数据不一致带来的麻烦,比停机一段时间还痛苦

+1 宁可挂掉,甩锅给服务商,也不能要数据不一致带来的修复痛苦

我印象里,比较大的互联网公司 CDN 上用的都是融合 CDN 方案。

你这个问题,我司的云到云容灾 /备份可以解决

可以一个云搞两地三中心,混合云有点过了,不切实际

Multi Cloud 啊,早就不是啥新概念了

可以 但没必要…

先搞一个仿效 Google 那套原子钟同步系统

现在项目,教培管理系统,这么干的,前面是智能 cdn 能判断后端挂了没有的
在阿里云内蒙,阿里云杭州,腾讯云深圳,腾讯云成都部署了四套并行的
这个项目是典型的写少读多,CRUD 只有大后台写数据,而且写的数据不是实时的
后台维护一个课程,添加课程视频,课程上线一般都是次日下周之类的,用户才能看
用户界面端,基本只有读数据库操作了
视频课程同时上传两家 OSS 和 CDN 的不同 zone

所有 INSERT UPDATE DELETE 写数据会到 MYSQL PROXY ,实时写本地库,然后进 MQ 一个写远程库的操作,因为没有太严格的实时性要求,在课程上线之前能同步就好。
在操作员端进行一个培训,就是,维护基础数据结构,比如修改课程分类,修改用户分类这类被别的数据外键关联的项目,操作后 30 分钟子再进行被关联的操作。

比如操作手册明确了,添加课程分类后,30 分钟才能添加课程,在 JS 前台也做了软约束。

访问上,智能 CDN 按省分配给四个程序节点和两个 OSS CDN ,智能 CDN 检测到后端挂了就会绕过省份限制给其他的源

混合云解决方案。公司自己 IT 运维牛逼可以这么玩。
记得有段时间新浪就是部分阿里云服务部分自己内部集群混着来的

这种事就是说起来容易,干起来可能处处有坑

你的这个系统不错,方便私聊下么!

混合云,其实那些大公司你表面看起来只提供自己的云服务,其实内部的一些东西也会通过混合云的方式去做存储的

大公司一般是买 idc ,应用多机房部署的,持久化工具多机房主从分布。
多接几个公有云也是有它不多没它不少。

小公司就没这么豪橫了

数据库什么的一个厂商内网快吧,切换为另一厂商,走公网肯定慢了

这种典型的就是用的起的大公司不如自建了

你可以同一厂商多机房多区域部署

跨域部署多套一样的 数据同步 某个机房、云出问题直接切换 DNS 解析就行了

关键词:

  • 多云管控
  • 跨 IDC 切流
  • 跨 IDC 热备
  • 约束数据中间件选择项
  • 去单点故障

你这个是伪需求,既然某个节点的云能挂掉,你要平滑切换到其他厂商,你现在需求做的事情,为什么云厂商不能自己做呢?节点不就是干这个的么?忽略掉品牌把一个节点看作一个品牌,那么一家厂商内部就有不同的品牌云,挂掉相对容易平滑切换,这样是不是可以更通顺呢?

上规模的提供互联网服务的,都有个双活三活到多活的方案,既可以平衡负载也可以起到灾备的作用.
几个公有云+自建 DC
数据是在一直同步的,只是重要的数据先同步,不那么重要的数据同步的慢些.

Google Cloud Distribute 可以在容器集群上解决这个问题

多云业务切换有 2 个重要的点:一是自有的技术团队有实力,二是要解决数据库层面的问题。CDN+多云可以解决前端访问的问题,但是后端数据库的问题需要技术团队评估解决。

云原生环境其实没有解决数据库的问题,云原生数据库解决的是 OLAP 的场景(偏数据库分析),OLTP 的场景仍然依赖传统的数据库,某些场景还需要依靠硬件性能。

如果是 OLTP 的业务场景+数据量大的情况需要评估数据同步、数据一致性问题(存在主备、评估脑裂)已经故障发生时校验数据的实际和切换时间。理论上如果需要实时自动切换只能通过数据库底层存储设备级别的同步功能才能实现(考虑 IDC 间的距离+光信号延时,不同云厂商的通讯即使是转型时延也无法满足)

不可能平滑。

对于那种唯一性数据 + 下一次读写取决于上一条读写结果的,如果要做到完美,进行跨机房事务,单机房每秒上万次的性能,跨机房后可能会因为网络延迟,降低到每秒几十次。这在业务上几乎不可容忍。

这事谷歌都没办法处理好,各种唯一性数据,会有很大延迟。

云主机 A 实时传输数据到主控服务端,主控服务端再实时传输到备用主机 B ,B 和 A 数据实时同步,A 出了问题,直接切换到 B