个人不太成熟的观点,不对的地方,欢迎指正。
1 | 1. IaaS 是对硬件资源的抽象 |
云计算
首先,云原生的前一个阶段,是云计算。
IaaS 层的云计算,是对计算硬件资源的抽象,使得计算的硬件资源,可以像 “水电煤” 一样,随时可以获取。
具体来说,我们可以非常方便的,在阿里云购买虚拟机,而不用自己去采购硬件,担心网络等问题。
就像,我们用电,只需要接入电网,不需要去直面发电厂,是一样的道理。
这是抽象的价值,平台的价值。不过,相对而言,IaaS 还是比较浅层的抽象。
云原生
以我个人的理解,目前以 k8s 为代表的云原生这一套,则是 PaaS 层的抽象。
有了硬件计算资源之后,要把企业的线上生产系统,部署运行起来,则需要一套部署运维平台。
在微服务的时代,企业的生产系统,是由一连串的微服务应用组成的。自然的,运维部署平台,服务的对象就是这些微服务。
k8s 就是这么一个平台,为平台的用户,微服务应用的 owner,提供了一套抽象能力,来部署运维自己的应用。
具体来说,微服务应用的 owner,只需要通过一套标准的申明,比如,需要多少 CPU,内存,对外提供什么服务,流量怎么进来,就能让自己服务运行起来。同时,还能享受平台提供的管控能力。
这就有点像,我们去商场开一个小店,商场除了提供基础的物理店铺环境,还会提供更多配套的平台服务,小店主可以像商场提需求,商场可以来安排准备好。
抽象模型
云原生之所以能火,我认为有很重要的两点,第一个就是抽象模型。
本质上而言,云原生就是一套面向应用 owner 的抽象模型,这一套模型,能够比较好的满足应用 owner 的需求,发布,管控,可视化报表,等等,一条龙服务。
能解决问题,能为应用 owner 提供好的服务,才有需求,以 k8s 为代表的云原生基础设施,才有了生存的基础。
开放标准
没有云原生概念之前,其实大家也在往这个平台方向努力,做类似这样的事情。毕竟抽象,做平台,才能发挥更大的价值,一直都是大家的梦想。
这一波云原生,则是以相对开放的方式,来共建一套标准。也就是,大家别各玩各的了,一起玩,搞一套标准,这样才更有生命力。
虽然,参与方也不是活雷锋,是为了自己厂商的利益,但是这样权衡出来的标准,确实是更符合大众利益的,尤其是上层用户,应用 owner 的利益。
协作关系
云原生带来了更深层次的,协作关系的变化,新的协作关系可以更好的解放生产力。
以往,应用方,通常也是企业的核心业务,营收部门,要上线一个应用,需要自己去对接不同的,IT 基础设施团队。
协作关系是,应用方将业务系统,跑的这些基础设施之上,比如,对于网关团队而言,常见的操作,就是接入一个新应用的流量。
云原生这一波后,这些 IT 基础设施被打包为 PaaS 平台,转为向应用方提供服务。
这一转变,意味着,应用方在 PaaS 上,可以使用底层的基础服务,从接入方变用户,以前可能需要去求人解决问题,现在有了甲方大爷的底气了。
而底层基础服务团队,则从底层服务的运营方,变成了服务的提供方,得做好服务甲方大爷的心里准备了。
不过,既然是提供服务了,价值也更好说了,不会被简单粗暴的,当做纯粹的成本部门来对待了。
这里面,我觉得很重要的一点是,做平台收租可以,但是需要把服务做好,不能像以往一样,让应用方来各种配合自己的不合理设计了。
最后
随着生产力的提升,社会分工细致化之后,需要更合适的抽象模型,更好的平台,更合适的协作关系。
虽然,这只是 IT 团队的一个协作关系的升级,但是,对于整个社会而言,又何尝不需要有这种升级呢?
平台方,天然就具备垄断性,至少得有服务意识,别把自己当大爷,随意的强奸用户,不是么?
至于,怎么才能让平台有服务意识呢?我觉得,得让用户有得选,服务不好,还可以换