来自KubeSphere社区的声音——云原生方案只有开源,才有未来

2020年,云原生“刷屏”,企业该如何抓住云原生的发展趋势,快速搭上云原生的“车”呢?

纷繁复杂的云原生技术和云原生技术方案供应商让人眼花缭乱,但大体上,方案可以分为开源和闭源两种,KubeSphere认为开源的云原生方案才有未来。

开源的K8s发行版——KubeSphere

2020年,了解一点IT发展的人一定听说过云原生,云原生没有确切的概念,但与云原生相关的有许多关键技术,其中最重要的当属Kubernetes(以下简称K8s)。

对于大多数人来说,K8s具体是什么其实不重要,只需要知道,K8s能帮助企业在生产环境中大规模应用容器技术,能让企业快速开发、运行、迭代应用,让开发者和运维人员提升工作效率,让企业快速上线、下线、调整各种业务,对企业发展尤为重要。

K8s很强大,但它像一匹难以驯服的千里马,本身的复杂性,导致企业的运维和开发都很难驾驭,难以享受到K8s带来的种种优势。

为了让开发者和更多企业也能用上K8s,一些技术领先的企业做起了K8s发行版,就如用户更需要Linux发行版一样。

这件事本身很麻烦,所以,做这件事的企业非常少。目前常见的有Rancher(已被SUSE收购)、红帽(已被IBM收购)的OpenShift和青云QingCloud旗下的KubeSphere,仅此而已。

从实际发展来看,由于OpenShift布局较早,所以在企业落地的案例比较多,而KubeSphere作为最新的一个方案,其热度和影响力也在与日俱增。

KubeSphere社区快速成长

在2020年12月19日,KubeSphere云原生meetup上,包括贝壳、微众银行、Shopify、锐捷网络、遥望网络、红亚科技等众多企业的开发、运维负责人聚在一起,堪称大型技术网友线下见面会。见面会上,青云QingCloud应用及容器平台研发总监周小四介绍了KubeSphere的发展路径和社区现状。

2018年12月,KubeSphere 1.0版本上线。半年后,KubeSphere 2.0版本上线。2020年8月份,KubeSphere 3.0版本上线。预计将于2021年7月份上线4.0版本,功能越来越丰富和完善。

在社区运营层面,2020年与2019年相比,社区活跃度翻倍,Contributor(贡献者)数量增幅超150%,KubeSphere下载量翻了近三倍。让许多人颇感意外的是,KubeSphere的影响力不局限于国内,很多用户来自国外。在KubeSphere 3.0版本上线的时候,最早上线的是英文版文档,还一度让人误以为是国外的开源项目。

经过了大型企业生产环境验证

在2020年11月进行的一次调研中,有13%的用户表示在生产环境中上线了KubeSphere 2.0版本,有7.8%的用户使用了KubeSphere 3.0版本,有大约41%的用户在开发测试环境中根据自身需求使用了多个版本的KubeSphere,还有一部分人在学习KubeSphere。

虽然数据说不上特别华丽,但令社区备受鼓舞的是,KubeSphere有许多大型企业用户。有14.8%的用户是大型企业,员工人数超5000人以上,还有13.9%的企业有1000-5000员工。这说明KubeSphere绝不是只有中小企业才会用的开源方案,也是大型企业生产可用的方案。

合作生态壮大

2020年,KubeSphere社区生态已初具规模,目前有多家企业的技术人员参与其中。作为一个技术开源项目,KubeSphere社区与AWS、思科、英特尔、openEuler、云原生社区等服务商、开源社区建立了合作关系。这也是出于对KubeSphere开源社区本身和技术水平的认可。

在众多合作伙伴中,和公有云厂商AWS的合作关系最令人称奇。原来,AWS是看重KubeSphere本身的价值,以至于主动忽略了KubeSphere社区背后青云QingCloud作为公有云厂商存在的业务竞争,而KubeSphere社区也非常看重AWS的技术实力和行业影响力。

周小四更是坦言,KubeSphere on AWS的上架是KubeSphere 2020年生态拓展方面最大的成果之一。

AWS与第三方方案的合作有两种方式,一种是放在Marketplace里,供用户自行选择,自己部署。另外一种更高级的方式是“QuickStart”,后者需要AWS投入人力协作开发,将其与AWS自身服务进行更深层次的集成,KubeSphere on AWS正是后者。

与AWS的合作不仅对于KubeSphere社区是非常大的鼓舞,对于提升KubeSphere的影响力也很有帮助。而且,可以通过AWS遍布全球的服务网络让更多人用到KubeSphere。

可插拔的开放架构

值得注意的是,KubeSphere on AWS方案在实际使用中,KubeSphere可与AWS托管的K8s服务EKS配合使用,弥补EKS在产品功能上的不足,这得益于KubeSphere可插拔的开放架构,体现了KubeSphere本身的开放性和灵活性。

在周小四的介绍中,将KubeSphere描述为“一个以Kubernetes为基础,管理云原生应用的分布式操作系统,它提供一种可插拔的开放架构,使得第三方应用可以无缝对接进来,从而形成一个可持续发展的生态系统”。

KubeSphere作为一个基础系统,具备监控、告警、日志、资源管理等系统功能服务,在此基础上,它像一个插线板,用户需要的更多服务都可以集成进来,它将开源和开放作为根本,与更多产业机构建立合作关系。

KubeSphere是开源“产品”,而不是开源项目

KubeSphere是中国少数颇有影响力的开源项目之一,但在介绍的过程中,周小四将KubeShpere称之为一个“产品”, 希望KubeShpere能作为更能落地的“产品”,而不是需要额外做太多工作的、传统意义上的“开源项目”。

在他看来,应该用发展的眼光看待开源这件事。

从OpenStack开始,国内开始出现了基于一个开源项目做商用产品的创业公司,开源项目像是一个命题作文,各家基于同一个开源项目来做产品,做出来的产品却有很大差异。

由于这些商业产品本身不开源,在实际落地的时候通常是作为一个个项目来实施的,而不是作为标准化产品来交付,有的还会加入许多自己独有的方案,这导致各个产品相互间或多或少的存在一些差异,在用户端会造成一些混乱。

KubeSphere直接作为产品,也是为了避免此类问题。

KubeSphere的发展动力和发展前景

开源的好处有很多,能让很多优秀的人一起解决一个问题,让专业的人提出专业的优化建议,甚至来编写代码,参与的人多,用的人多,很容易获得影响力,但开源社区也不能全靠开源热情,不能全靠“爱”发电。

商用版和社区版是比较常见的方式。与想象中不同的是,KubeSphere开源社区不输出商业版本的KubeSphere,而是会输出完整的、功能齐全的开源方案,如此一来,那要如何长期运转下去一个工程量浩大的 KubeSphere呢?

原来,KubeSphere开源社区背后有青云QingCloud的支撑。同时,KubeSphere开源社区也在积极打造自身的商业模式,上线KubeSphere.Cloud商业网站,来为社区有商业支持与服务诉求的用户提供付费支持服务。除了专职的运营人员以外,社区还支持有余力的用户以众包的方式提供支持服务。

此外,包括青云QingCloud在内的企业则可以基于KubeSphere做商业化的产品,只要符合一定条件即可,如此开放性也将是KubeSphere持续演进和发展非常关键的一步。

KubeSphere开源社区发展的另外一个重要的内在动力是社区本身。周小四强调,KubeSphere非常贴近社区用户, KubeSphere开源社区和社区用户之间是“水和鱼”一样交融在一起的关系,社区为用户提供服务,用户也会提出反馈和意见,社区用户是开源社区的无价之宝。

周小四非常看好KubeSphere下一阶段的发展前景,他认为未来是属于开源方案的天下,闭源有其局限性。目前越来越多的用户正在从闭源解决方案向KubeSphere迁移,KubeSphere渐渐趋于成熟,再做一个类似KubeSphere的方案为时已晚。