是否把鸡蛋放在一个篮子里——多云or单云的思考

目录

 

前言:

主题:多云不是银弹

优劣分析:

高可用方面:

成本方面:

易用性方面:

功能方面:

企业战略方面:

总结:


前言:

  本人一直专注于多云架构的研究,经常与云原厂人员进行沟通,对单云和多云有一些感触,在这里与大家分享下。

主题:多云不是银弹

  多云在很多方面有单云不具备的优点,所以大约1年前我还一直以为自己坚持的多云持续交付才是最先进最正确的,但是随着云厂商功能的迭代和公司云架构的不断演化,渐渐发现了多云平台的不足。现在不得不重新审视多云与单云孰优孰劣。

优劣分析:

高可用方面:

    单云的高可用靠多AZ,当某一区出现故障时仍然保证系统的可用性;而多云是更高形态的高可用,当云平台整个挂掉时,通过切换流量到另一个云平台的方式仍可以保持系统的可用性。
    我们都知道云平台中弹性部分是通过弹性伸缩组来实现的,但当你真正需要扩容的时候不见得一定会申请的到实例,不排除售罄等可能,所以此时如果另一家云厂商有存货就可以果断在另一家去扩容。
    你也许会问,弹性伸缩的多AZ多实例类型可以解决这一问题,但是实测效果并不好。首先,我们服务基本都走内网VPC,多AZ就需要我去划分更多的subnet;其次,按量收费的价格太高了,所以一般都会提前买预留实例,如果多实例类型开出来的机器不在预留实例的类型里,相当于花了两份的钱。
    所以在高可用方面多云完胜单云。

成本方面:

    我是公有云服务的铁粉,我的观点是能在云上花钱搞定的事情坚决不要自建!
    招聘几个研发,或者弄个外包团队,捣鼓个一年半载可以做出一个系统,看似自己搭建的Paas或者Saas服务要比公有云的便宜,其实从性价比上来讲一点都不划算。
    首先,调头很难。自己搭建那就是华山一条路走到黑,无论是人员还是技术那都是重资产了,即便做出来坨屎也得含泪吃完;而公有云基本都是按量收费,用一下不爽就分道扬镳。
    其次,就算你做出来的正好是你想要的功能,但是你想要的就是大家想要的,公有云早晚会有这部分功能,一个人再牛也干不赢一个团队,一个团队再牛也干不赢一个厂。
    以上只是为了说明优先选择用SaaS服务的多云平台,而天下没有免费的午餐,多云SaaS服务需要交付额外的费用,那么多云一定会带来成本增加么?未必!
    多云意味着你可以有更多的选择,你可以选择更廉价的云厂商,或者相同的钱你可以选择性能更好的云厂商,这个就有点像“长木桶原理”,在购买实例上有更多的选择权。
    所以在搭建成本方面,多云与单云不好说哪个更好。

易用性方面:

    以spinnaker多云平台为例,它将所有单云的核心资源封装成了cluster、servergroup、LB、firewall这四个概念,统一的管理理念,统一的UI,可以大大降低一线运维人员对云平台的学习成本。
    相信我,这个很有用,你有3年阿里云配置经验你照样不会配腾讯云的LB和监听,因为每家云厂商虽然对云的理解大方向上都是一样的(红着脸说也可以理解为基本都是抄的AWS),但是细节上真心差别非常大。
    如果用多云平台,运维对云平台差异性几乎无感知,这点上多云完胜单云,但随之也会带来一些问题。
    多云平台都是通过SDK或者API与单云平台交互的,所以多云的稳定性严重依赖云厂商API的稳定性。我们在对接AWS时就遇到过,AWS对某些API的调用在单位时间内是有调用次数限制的,所以类似的限制就会搞得十分蛋疼,严重影响spinnaker的稳定性。
    所以在易用性方面多云略优于单云。

功能方面:

    注意,这一点将会成为放弃多云的核心原因。
    公有云不仅仅是卖实例和LB这么简单,公有云更具核心竞争力的是其配套的衍生产品,像监控、服务网格、API网关、安全包、混沌工程等,这些虽然收费不会便宜,但贵有贵的道理,企业若想自建成本会更高,效果还不见得有多好。
    像我们现在遇到的窘境,虽然在享受着多云的红利,也被迫在弥补一些缺陷,像我现在正在给予Netflix Zuul2改造开发的统一接入层也是这种背景下产物。因为我们云服务器落到不同的云厂商上,所以不能通过直接购买云服务的方式来解决接入层的问题,即便是所有云厂商都买一遍也很难兼容。同理,我们在进行的混沌工程也遇到了相同的境遇。
    多云平台更多的关注云平台共性的部分,这样会放弃掉某些云厂商特性的优秀的部分,是一个短木桶原理。
    所以在功能扩展方面多云完败。

企业战略方面:

    多云可以解除与云厂商的绑定,因为你的运维人员和交付系统在技术和技能上具备了这个能力,用谁家的云资源都OK,企业在与云厂商的谈判中会有更多的筹码。
    企业级用户都会有云厂商的大客户经理跟着,而且用量越大折扣也会更大,把用量分摊到多家云上就拿不到这么大的折扣了。(价格战除外)
    所以在企业战略方面多云略优于单云。
  以上分析汇总到一张表:
  

对比项 多云 单云
高可用 完胜 完败
成本 不好说 不好说
易用性 小胜 略败
功能 完败 完胜
企业战略 小胜 略败

总结:

    多云思路很好,可以催生更高意识形态的产品,老板们更喜欢,但是落地太难,功能上存在短木桶效应,严重依靠研发投入和云厂商API质量。

你可能感兴趣的:(Spinnaker)