kubernetes-handbook/appendix/kubernetes-and-cloud-native...

15 KiB
Raw Blame History

Kubernetes与云原生2018年年终总结及2019年展望

去年我写了Kubernetes与云原生2017年年终总结及2018年展望按照惯例也应该推出2018年的总结和2019年的展望了写这篇文章的时候已经是2019年的1月末了如果不写点什么回顾下2018年总觉得这一年过的不完整。

本文将回顾 Kubernetes 与云原生在2018年的进展可以说2018年是 Kubernetes 大规模落地Service Mesh 蓄势待发的一年。

2017年时对2018年的预测

首先我先带大家回顾下2017年时我对2018年的预测。2017年底我预测2018年的Kubernetes和云原生将向以下方向发展

  • 服务网格Service Mesh在Kubernetes上践行微服务架构进行服务治理所必须的组件
  • 无服务器架构Serverless以FaaS为代表的无服务器架构将会流行开来
  • 加强数据服务承载能力例如在Kubernetes上运行大数据应用
  • 简化应用部署与运维包括云应用的监控与日志收集分析等;

下面我来分别总结下以上四点预测:

  • 其中服务网格Service Mesh是我2018年一直在大力主张和推广的并创立了ServiceMesher社区业界已经对服务网格有了广泛的认知其在微服务和分布式架构领域将有广阔的前景2018年7月31日Istio发布1.0,预示着服务网格即将走向成熟;
  • 无服务器架构的理念提出已久但仍需找到合适的应用场景来大面积铺开2018年Google、Pivotal等公司新开源的knative更加弱化了底层平台的差异,开发者直接定义服务,应用自动打包和部署;
  • 关于Kubernetes承载大数据计算已经有很多公司应用它来运行大数据应用还有一些创业公司提供基于Kubernetes的异构计算平台在大企业内部也有使用Kubernetes来统一大数据、机器学习、人工智能等平台的需求大数据行业领先的两家公司Cloudera与Hortonworks的合并势必也会在云原生领域发力
  • 随着越来越多的公司选择Kubernetes作为底层的基础设施平台Kubernetes周边的生态越来越完善围绕发布部署、监控和APM相关的SaaS类应用层出不穷

CNCF 的毕业项目

2018年至今按照时间顺序CNCF中毕业的项目有

  • 2018年3月Kubernetes 毕业
  • 2018年8月Prometheus 毕业
  • 2018年11月Envoy 毕业
  • 2019年1月CoreDNS 毕业

截至本文发稿已有4个项目毕业2019将会有更多的项目走向成熟。CNCF 托管的全部项目状态请见:https://www.cncf.io/projects-graduated/

Kubernetes在2018年的发展

2018年3月Kubernetes经过CNCF基金会的投票正式毕业这意味着它拥有足够多的提交者和贡献人员并被业界广泛的采纳已经可以依靠社区的维护健康的发展。关于CNCF项目的毕业标准的详情请参考CNCF Graduation Criteria v1.1

一年里按计划发布了4个版本详见以下更新日志

早在2017年的北美 KubeCon 上就有一种论调说 Kubernetes 正变得 boring因为它已经越来越成熟在未来不会出现大的变动从以上更新日志中也可以看到大多是一些功能进入 beta 或者 stable 状态,很少有新的功能出现。

下图是 Google trend 中过去一年来全球搜索 Kubernetes 的趋势图。

Kubernetes 搜索趋势(来自 Google trends)

从图中可以看出 Kubernetes 在全球搜索趋势在2018年底已经达到了最巅峰2019年可能会开始走下降趋势。

下图是最近5年来 Kubernetes 关键词的百度指数。

Kubernetes 的百度指数

上图来自百度指数,可以大体概括 Kubernetes 关键字在中国的搜索情况,同 Kubernetes 在全球的搜索情况一样,可能已经过了巅峰期。

Kubernetes Operator

以 Kubernetes 为核心来运维上层应用诞生了一种名为”Kubernetes Native“的新型运维方式真正践行 DevOps 理念的产物,开发者将于软件的运维逻辑写成代码,利用 Kubernetes 的**控制器模式Controller Pattern**和 CRD 来扩展 Kubernetes 的 API各种 Operator 层出不穷,awesome-operators 列举了目前所有的 Operator。例如我们熟悉的 Istio 中就有50个 CRD。

Istio 中的 CRD

CNCF 生态中的诸多应用都已支持 Kubernetes Operator可以说 Operator 将成为云原生中默认的软件动态运行时管理工具,参考 CoreOS已被 RedHat 收购RedHat 已被 IBM 收购) CTO Brandon Philips 的这篇文章 Introducing the Operator Framework: Building Apps on Kubernetes

ServiceMesher社区

下图展示的是 2019 Q1 的软件架构趋势,(图片来自 Architecture and Design InfoQ Trends Report - January 2019)我们可以看到 Service Mesh 还处于创新者阶段,如果从软件生命周期的全阶段来看,它还只是刚刚进入很多人的眼帘,对于这张的新兴技术,在蚂蚁金服的支持的下创办了 ServiceMesher 社区

2019 Q1 软件架构趋势 - 来自 InfoQ

ServiceMesher 社区 Logo

既然 Kubernetes 已经开始变得无聊2018年落地 Kubernetes 已经不是初创公司的事情了,很多大公司甚至传统企业都开始试水或者大规模落地,在 Kubernetes 进一步成熟之时,以 Kubernetes 为基础向上发展,开辟新的战场就能收获更多的业务场景和需求。

Kubernetes 并不直接对外提供业务能力,而是作为应用运行的底层平台,在应用和平台间还有一个 Gap这需要中间件的能力来补充。

ServiceMesher社区2018年活动一览

Service Mesh Meetup

这一年 ServiceMesher 社区为大家带来5次 Meetup 共 20 次 Topic 分享:

  • 敖小剑(蚂蚁金服):大规模微服务架构下的 Service Mesh 探索之路
  • 刘超(网易):网易云的 Service Mesh 产品架构和实现
  • 唐鹏程(才云科技):在 Kubernetes 上搭建高可用 Service Mesh 监控
  • 徐运元谐云科技Service Mesh 结合容器云平台的思考与实践
  • 张亮京东金融数据研发负责人Service Mesh的延伸 —— 论道Database Mesh
  • 吴晟Apache SkyWalking创始人Observability on Service Mesh —— Apache SkyWalking 6.0
  • 朵晓东蚂蚁金服高级技术专家蚂蚁金服开源的Service Mesh数据平面SOFA MOSN深层揭秘
  • 丁振凯新浪微博微博搜索架构师微博Service Mesh实践 - WeiboMesh
  • 张超盟华为Kubernetes容器应用基于Istio的灰度发布实践
  • 朱经惠 联邦车网Istio控制平面组件原理解析
  • 邵俊雄蚂蚁金服SOFAMesh 的通用协议扩展
  • 杨文JEXKubernetes、Service Mesh、CI/CD 实践
  • 吴晟Apache SkyWalking 创始人Observability and Istio telemetry
  • 敖小剑&张瑜标(蚂蚁金服):蚂蚁金服 Service Mesh 渐进式迁移方案
  • 徐运元谐云科技探讨和实践基于Isito的微服务治理事件监控
  • 冯玮七牛容器云平台产品架构师Envoy、Contour与Kubernetes实践
  • 郑德惠唯品会Java资深开发工程师唯品会的Service Mesh 实践与分享
  • 陈逸凡蚂蚁金服SOFAMosn 持续演进路径及实践案例
  • 崔秀龙HPE 软件分析师):在网格的边缘试探——企业 Istio 试水指南
  • 宋净超蚂蚁金服Service Mesh 圆桌讨论

Serverless

我们再看 CNCF 的 Landscape,其中右下部分有一个单列的 Serverless 单元,详见 https://landscape.cncf.io/

CNCF Landscape 中的 Serverless 单元

我们再看下 Kubernetes、Service Mesh、Serviceless 三者之间的关系:

  • Kubernetes 负责应用的生命周期管理,最小的治理单元是 Pod
  • Service Mesh 解决服务间的流量治理,最小的治理单元是 Service可以类比为 Kubernetes 中 Service 资源);
  • 而 Serviceless 是更高一层的抽象,最小的治理单元是 APP

越向上层就越不关心应用的底层实现,到了 Serverless 开发者只需要关心代码逻辑,其他的一切都是配置,因此 Google 联合 Pivotal 等其他公司于2018年7月创建了 knative 这个基于 Kubernetes 和 Istio 的 Serverless 的开源项目。

出版物

一个繁荣的生态将有大量的开发者支持有开发者的地方就会有出版物。2018年至本文发稿关于 Kubernetes 和云原生的中文出版物(译作或原著),根据出版时间排序如下:

以上仅列举了2018年至本文发稿时已上市发售的书籍并不代表本人立场推荐以上书籍。

预告2019年2月《未来架构——从服务化到云原生》张亮 吴晟 敖小剑 宋净超 著即将上市。

另外还有很多线上、线下的 Kubernetes 实训课程、电子出版物不胜枚举,例如极客时间出品的深入剖析 Kubernetes

2019年展望

2019年才开始学 Kubernetes 依然不晚这可能是影响云计算未来10年的技术甚至有人预测未来的开发者可能一上手就是在云上开发从提交代码、测试到发布一气呵成直接基于 Git 操作即可完成,完全感受不到 Kubernetes 的存在。展望2019年我在2017年的预测的趋势依然不变2019年将更加深化。如果以 Kubernetes 的发展阶段类比就像2017年时的 Kubernetes 一样,在一部分企业中 Service Mesh 已经开始快速落地,而 Knative 更像 2015 年时的 Kubernetes一起才刚刚开始毕竟也是 2018 年中才开源。

2018年11月 CNCF 在上海举办了第一届中国 KubeCon + CloudNativeCon2019年6月大会将升级为 KubeCon + CloudNativeCon + Open Source Summit将进一步推送中国的开源发展与云原生的应用查看大会详情