是不是应该写一个抽象层,IaC 里把各个云厂商 provider 接到抽象层下面,如果 AWS 不想用了,改一下 provider 类型,就随时能切换到其他云?
1 yinmin 8 小时 34 分钟前 via iPhone ![]() 只用云服务器,所有服务都在云服务器上自建 |
2 kapr1k0rn 8 小时 32 分钟前 不要使用云厂商专有的产品 |
![]() | 3 opengps 8 小时 26 分钟前 你这个想法,是建立在单机背景下的,单机用途其实本身就不需要什么云。 真正需要用云来发挥价值的都是集群用户,数量大客随时增减,组件多可以减少配置难度,这种客户下云非常困难,甚至为此都会主动去设计多云架构 |
4 renmu 8 小时 23 分钟前 via Android 想得很美好,实际每个云厂商提供的功能千奇百怪 |
![]() | 6 Ketteiron 7 小时 59 分钟前 ![]() 多云架构,抽象与实现有很多种,多活/双活/热备/温备/冷备等。 双活/多活就是多个云上都准备好了服务,方便某个厂商拉跨时迅速撑起流量。 冷备份是以单个云作为主力,出现灾害时通过自动化流程临时去其他云买/租机器然后迁移服务。 热备/温备介于二者之间。 但想法是理想的,现实是。。。 99.999%服务并不会因提高可用性而提高实际可用性,反而引入了更多的复杂度。 |
![]() | 7 COW OP @Ketteiron 你提到的这个单云主力 + 冷备,出现灾害时通过自动化流程临时去其他云买/租机器然后迁移服务,跟我的想法是一致的。至于跨云多活,我就没想过,感觉是不可能完成的任务。 |
8 Zarc9609 7 小时 38 分钟前 我觉得企业在决策是不是上多云的主要问题是成本问题 |
9 salmon5 7 小时 32 分钟前 这个说说很动听,实际绝大部分公司,执行不好 云上的每一个产品,都搞一个抽象层,那开展业务就像带上了脚镣 |
![]() | 10 wanniwa 7 小时 30 分钟前 我们公司就是的,我实现的跟你思路是一样的,都抽象出来,可以随时来回切换云厂商流量,我云函数和云主机都是这么实现的,支持云函数动态切流,云主机使用完动态关机…… 领导今天要接个京东云明天要接个腾讯云,后天华为云又过来说更便宜,确实会来回换。 |
11 julyclyde 7 小时 29 分钟前 听起来很 java |
12 salmon5 7 小时 28 分钟前 还有多云,说说简单; 就像房子,你会为了某 1 套房子偶尔停水 1 天,搞 2 套房子热备、冷备?那成本是巨大的 你说你有多套房子?那行,你有私人飞机?你会为了偶尔某 1 架私人飞机可能的故障维修,搞 2 架热备、冷备? 你有 2 架私人飞机?那行,你有 2 个地球吗?地球曾经发生过恐龙灭绝?你有能力再备 1 个地球? |
14 salmon5 7 小时 15 分钟前 A 供应商对象存储 10 万 QPS 、100Gbps 带宽、DB 10 万 QPS 抽象层 怎么保证: B 供应商对象存储 10 万 QPS 、100Gbps 带宽、DB 10 万 QPS ,业务基本上无感知? |
15 zhengfan2016 7 小时 13 分钟前 ![]() |
16 salmon5 7 小时 12 分钟前 这个抽象层有点像皮包公司( 2-3 个员工)( 2-3 QPS 的业务),随时可以换办公室; 如果是很大的业务量呢?( 20000-30000 个员工)( 20000-30000 QPS 的业务),随时可以换办公室?公司停业 30 天? |
17 salmon5 7 小时 11 分钟前 所以这个抽象层,终究是个鸡肋,很难通用,小业务玩玩可以 |
20 salmon5 7 小时 6 分钟前 比如 OSS 和 S3 ,如果担心 S3 炸了,但是 S3 又有 N PB ,甚至 EB 级别的数据?怎么快速迁移呢?这部分往往是最难的 |
![]() | 21 crysislinux 7 小时 6 分钟前 这样搞就只能用多个厂商 features 的子集了。我是无法接受的。 |
22 gam2046 7 小时 4 分钟前 理论是这么个理论,但实践很难落实。 一方面云上组件,在不同厂家里提供的能力不完全一致,你的抽象层很难写,理想情况下,抽象层提供一个不同厂家能力的交集,但是一开始你也不知道后续要对接什么厂家,所以你也不知道交集到底有多大。 |
23 salmon5 7 小时 3 分钟前 @crysislinux #21 是的,肯定没法接受的;原厂至少都是国际大厂,bug 、性能、功能、SLA 上都基本能保证的 |
![]() | 24 SenLief 6 小时 59 分钟前 via iPhone 主要是保证数据一致就好吧,迁移的时候无非就是迁移数据 |
25 Alliot 6 小时 57 分钟前 IaC 能实现低成本的基础设施跨云重建, 但是业务不是简单的基础设施重建就能 OK 。 |
![]() | 26 sslyxhz 6 小时 54 分钟前 多云、混合云.. 状态、同步、网络各方面都一堆隐性麻烦,只能说看着很美好,实际成本挺高 个人项目玩玩倒是挺好的 |
![]() | 27 jsq2627 6 小时 37 分钟前 via iPhone 过度 vender lock-in 和过度 vender indenpendent 都会提高成本,权衡折中吧 |
30 adgfr32 6 小时 0 分钟前 via Android 数据库,对象存储呢,这种有状态的东西不是说切就切的。 正式环境切换都得找个流量低谷,提前发公告,切完专人盯着。 |
31 adgfr32 5 小时 59 分钟前 via Android 切完指不定哪个犄角旮旯有一个路由没配,dns 有问题,白名单没开,你就排查吧 |
![]() | 32 ajunno 5 小时 58 分钟前 ![]() 事实上各家参数都没有对齐,甚至对于 IaC 产品的设计理念也有差异。2022 年左右做 IaC ,用 terraform ,从 A 云切换到 T 云,可不止是改了个 provider 就可以的,踩了很多坑,也提了不少工单。感受到了理想和现实的差距。 |
33 kenvix 5 小时 49 分钟前 ![]() 数据库和对象存储这种有标准协议的很好说,但是 FaaS 这种就难办了,考虑灵活性最好是别用 |
![]() | 35 Ketteiron 5 小时 17 分钟前 ![]() @COW #34 不同厂家的 FaaS/Serverless 的 触发器、API 、SDK 、Runtime 都不一样,上多云约等于全部重写多次。函数是无状态的不代表没有平台依赖性。 https://github.com/serverless/serverless/issues/9583 |
36 leeg810312 4 小时 20 分钟前 没那么多钱的,你想多了,多个云切换就是假命题,2 个全套就 2 倍成本,不说基础设施,就说开发成本,你总得 2 个云上都开发测试过才行,50w 变成 100w ,时间 3 个月变 6 个月,哪个老板能给你这样批项目预算和计划。这个适配层你还得保持维护,各个云任何一个接口更新你都得测试,有什么好处值得这么维护一个庞大的适配层呢?出了云存储这种变化相对少的 SaaS ,我还真没见过几个做跨云的 API 适配。新闻看到过吧,好多公司因为 AWS 或 Azure 云关键性故障就停摆几小时,你多大的项目还要搞成多云切换?大公司都没有想过这样做。 |
37 tabliu 4 小时 18 分钟前 看体量,单 region 体量年消耗几百万的话完全可以实现多云多活,体量到了一定级别就很难切量了,你想切,其他云未必能接的了。 |
![]() | 38 dko 3 小时 38 分钟前 这个你不用操心,当你体量上来了,新厂商会派工程师上门给你评估和迁移的,出了事儿也都是他们赔 经历过线下到腾讯云上云,腾讯云迁移阿里云等等。。 |
![]() | 39 NewYear 3 小时 19 分钟前 在这里你很容易得到反对的答案。 但我必须要和你说,早就有人在做这样的尝试了,我印象中有一个开源项目就是干这个的,抹平每个云厂商的差异。 当然前提是你使用云厂商的各种服务,也是要差不多规格的才行,否则逻辑不通。 这个最好你一开始就至少同时用 2 个服务商,这样要迁移都不是问题。 上面大家和你说的都是“风险点”,你只要提前考虑进去就行。 像阿里云之类的,也不是出事一次两次,你真的愿意每次都停下来等他们恢复吗?甚至在有可能丢失数据的情况下。 像很多公司,业务是不准停下来的,停下来公司的运作就出问题了,马上要安排放假,否则就是巨大的经济损失。 |
![]() | 40 wanniwa 3 小时 15 分钟前 @COW #29 主要看你们用主机做什么,我们公司是拿主机和云函数执行任务。执行完任务就抛弃,或者没有任务就抛弃,云函数直接省的钱不是一点半点,太便宜了。如果你们公司对主机需求量非常大,且业务场景符合的话,切换到云函数,公司要降本的 kpi 能超额完成非常多。 |