使用CloudOS帮企业落地云原生PaaS平台
时间:  2023-10-09 03:45:10 | 作者: 火狐体育在线网站

  IaaS、SaaS的定义很清楚,而PaaS的定义就比较宽泛。所以,很多人把PaaS当作一个万能的“框”,什么都往里装,特别像一排垃圾桶中的那个“其他垃圾”桶,当你拎了一袋垃圾,不知道往哪个垃圾桶丢时,其他垃圾总是那个不错的选择。

  从以上两个定义能够准确的看出,PaaS是用于开发者构建、运行、管理应用程序的平台,而不单单是底层的IaaS资源。但Google的定义有个侧重点:IaaS的资源一定要通过PaaS来获取。

  所以,从这个方面上讲,容器云平台当然是PaaS,一些著名的国外容器产品,比如Rancher、OpenShifit等。这也是怎么回事国内很多企业干脆就把PaaS当成容器云,而容器又是云原生的重要组成,所以,云原生PaaS更加是容器云了。

  但是,这样理解——云原生PaaS是容器云——并不全面。PaaS定义中包含重要的一点,PaaS应该全面,应该提供开发者构建、运行管理应用所需的一切。K8s显然不是,容器云产品也不是。K8s的核心能力是对底层资源的抽象与封装,向应用层提供了弹性与韧性的能力。更多的容器云产品只是为K8s提供了一个UI界面,然后提供了一些开发者工具。

  从IaaS的严格定义来讲,容器是属于PaaS的,但个人觉得,容器核心能力是对底层资源的抽象与封装,是偏向于IaaS的。

  。比如,你使用的云虚拟机,下面物理机、机房的购买、建设、维护的费用你就省了,使用公有云无非是第三方厂商来提供下面两层的服务,使用私有云就是企业有专门的团队来提供下面两层的服务。

  这里要重点说明一下,若使用容器服务,除了能免掉下面三层的成本,还会有其他的重大价值:

  弹性。使用K8S能做到资源弹性伸缩,当业务负载高时,能自动扩副本数,业务负载低时,自动回收副本。减轻应用运维的压力,又能省资源。企业部署应用时,不用像之前一样先预留好大资源以应急,造成大量的资源闲置和浪费

  可靠性。弹性本身能提升可靠性,当负载量提升时还能让应用应付自如。其次,当容器的节点故障时能重新调度到其他节点。或者,当一个容器故障时,重建容器,甚至当一个机房故障时,重新调度到另一个机房

  屏蔽底层差异。这点是弹性和可靠性的支撑条件之一,能够屏蔽底层差异,才能丝滑地弹性扩容和重调度

  凡事都具有两面性,弄清楚了使用不相同层次云服务的价值之后,也需要弄清楚使用它的成本,显性成本显而易见,需要看见的是隐性成本,主要有如下隐性成本:

  以使用容器(K8S)服务这一层为例,上云上到容器是非常好,但是有两块巨大隐性成本:

  本层的运维。那么你需要有专业的人来运维K8S,监控告警、集群升级、备份恢复、集群配置、集群调优、外部对接、容量规划等等。懂K8S运维的人,市场上不多,这里付出的成本会比较高

  上一层的改造和适配。容器的上一层是应用,为了让应用能在容器中很好运行,那么应用有必要进行改造,应用的生产方式、部署方式和运维方式。这一点的成本也比较高

  毫无疑问,第1种方式已经落伍了,那是传统PaaS的做法。当前的普遍做法是第2种,但第2种就是最好的做法了吗?答案是否定的。

  容器当然是更好的选择,问题就在于如何提供容器能力。提供开发者相关工具也是好的,同样,如何提供是更好的?

  进入一个平台,首页就应该是一个个的应用,然后围绕应用,能够对应用进行开发、构建、运行、测试、运维等。在操作应用的时候,资源自动匹配,工具就在操作应用的时候提供,比如,当我部署应用时,自动匹配资源。当我构建应用时,自动调用CI工具的能力。

  打个比方,如果我们把底层资源当成自来水,水的使用方式是拧开水龙头,就可使用,但这仍然不是自来水的高级用法,更高级的用法是——自来水的使用绑定使用场景,比如洗衣机,洗衣机对接好自来水,对我们而言,不需要再去关注水了,我们只用打开洗衣机洗衣服就够了,洗衣机会根据真实的情况自动控制水量。未来家里对水的使用,越来越多绑定在使用场景中,洗衣机、冰箱、智能电饭煲、洗碗机、马桶、刷牙机等等。未来出生的孩子,也许他们再也见不到水龙头,也不知道水龙头是何物。这一些孩子就是电器原生的,跟云原生的概念类似。

  以应用为中心的云原生PaaS平台是啥样子?我想会是如下这样子,最上层是应用云。

  企业都是在应用云上进行应用的全生命周期管理,不用再看到阿里云、腾讯云、AWS、企业私有云的细节,也不用运维云资源,这些云服务厂商只是提供了在世界各地不同的服务规格的云资源。企业只需要在应用云上把应用交付到不同云服务。这样,就彻底做到了以应用为中心。个人觉得,这是云原生的终态。我们的核心产品CloudOS,就是这么一朵应用云,这是云原生PaaS平台的更好选择。