云原生逐步落地,核心基础 Kubernetes 采纳度持续增长
这一年,“云原生”(Cloud Native)理念落地的核心,Kubernetes 这一项目逐步成为了各家企业构建容器化平台体系的默认选择。Kubernetes 项目最大的价值,在于其从创建时提出的声明式 API 和以此为基础“控制器”模式,这一点,是它与那些只能生产资源的集群管理工具最大的不同。
在此模式(声明式 API 和 “控制器”模式)下, Kubernetes 在自身突飞猛进的发展过程中,同时保证了 API 层的相对稳定和向后兼容能力,这是一个平台级项目的基础,也是其之所以被广泛接受和认可的前提。
更重要的是,Kubernetes 为使用者提供了可贵的 API 可扩展能力和编程范式,催生出了一个完全基于 Kubernetes API 构建出来的上层应用服务生态。生态逐步完善与日趋成熟,又同时反哺项目,让后来者有丰富完备、直接可用的现成服务,这确立了 Kubernetes 如今在云平台领域的领导地位,也对比出了其它竞品方案的落后。
十分的友好的应用部署与运维,让 kubernetes 的一些理念成为了事实上的标准,使得“正确和合理的使用了 Kubernetes 的能力”,在某种意义上成为了评判上层应用服务框架(比如 PaaS 和 Serverless )的一个重要依据:这不仅包括了对框架本身复杂性和易用性的考量,也包括了对框架可扩展性和演进趋势的预期与判断。同时,不具备“kubernetes能力”的竞品方案,逐渐被替代,慢慢边缘化。
目前,国外公有云上以 Kubernetes 为基础的容器化作业的占比持续攀高,但国内公有云市场对容器的采纳程度目前仍然处于比较初步的水平,目前国内云服务巨头阿里云也能直接提供 kubernetes 集群服务。但直接出售虚拟机及其关联 IaaS 层能力依然是国内绝大多数公有云提供商的主要业务形态。所以,目前的态势是,国外市场容器技术增长逐步趋于稳定、Kubernetes 公有云服务已经开始支撑头部互联网客户,国内 Kubernetes 以及容器技术在云计算市场里的依然具有巨大的增长空间和强劲的发展势头。
Kubernetes 项目在国内公有云上使用度的提高,会成为接下来几年国内公有云市场上的一个重要趋势。这一点,无论是国内外,大量 Kubernetes 项目相关岗位的涌现,都验证了此趋势的不可阻挡。
Serverless 成为关键词
当平台层被 Kubernetes 项目逐步统一天下后,过去在应用编排、调度与资源管理上踟蹰不前的 PaaS 项目得到了生产力的释放,这种释放在云平台层上催生出了一个日趋多样化、轻量化的应用服务生态。
这个生态的本质虽然与 2014 年之前的 PaaS 生态没有太多的不同。但当原本 PaaS 项目的平台层功能(编排、调度、资源管理等)被 kubernetes 接管后,PaaS 终于可以专注于应用服务和发布流程管理这两个最核心的功能上,开始向更轻量、更以应用为中心的方向进行演进。在这个演进过程中, Serverless 自然而然成为了云原生的主流话题。
在 2014年,Serverless 这个词专门用来指代函数计算,即 AWS 发布的 Lambda(或者说 FaaS),但随着云服务发展到今天,这个词已经被扩展成了包括大多数 PaaS 功能在内的一个泛指术语,即:Serverless = FaaS + BaaS。从它的三大特征
- 高可伸缩性
- 工作流驱动
- 按使用计费
我们可以看出,这其实是经典 PaaS 发展到今天的一种“极端”形态。
随着 Serverless 概念本身的继续发展,不难预料,2019 年之后云端的应用服务生态,一定是多样化的、可覆盖到更多场景下的应用服务管理需求。
并且,传统应用,容器,存储服务,网络服务,都会开始尝试以不同的方式和形态嵌入到上述三个特征当中。这三个特征背后所体现的,乃是云端应用开发过程向“用户友好”和“低心智负担”方向演进的最直接途径。
目前,各个云服务平台都推出了自己的 Serverless 解决方案,来满足用户对 “简单、经济、可信赖” 的不断追求。这种追求是云计算诞生的初心,也是云计算永远的发展方向。在这种上层应用服务能力向 Serverless 迁移的演进过程中,不断被优化的 Auto-scaling 能力和细粒度的资源隔离技术,将会成为确保 Serverless 能为用户带来价值的最有力保障。