Kubernetes成为主流,对开发者而言是好是坏?
技术圈里从来都不缺少热门的解决方案,而作为开发者,我们也总是被酷炫的新技术所吸引,期望这些新思路能够帮助我们应对技术挑战和业务问题。
然而问题在于,新技术成熟并获得广泛应用之前,我们很难判断该技术是否真的是我们用例的最佳选择。
因此一项技术成为主流,进而成为未来标准,本身不是一件坏事——虽然失去了一丝探索各类可能(和“坑”)的兴奋感,但我们获得了可靠性和便捷度。
随着技术的成熟,更简单的APIs、更丰富的libraries、更广泛的社区支持,乃至培训、认证等技术相关事物也随之而生。成熟的技术让我们可以有更多时间,专注于解决高级问题,而不是跟复杂的技术概念和底层设施较劲,换句话说,我们没必要再去重复尝试获取最佳实践的种种细节了。
一个典型的例子是Kubernetes,这项从诞生之日起便备受瞩目的技术,近来似乎已经越过了主流与否的临界点。
Kubernetes的“飞跃”
今年早些时候,Kubernetes成为了第一个从CNCF孵化器毕业的项目。专家们普遍认为,K8s的”飞跃“得益于以下三点——
首先,Docker在2017年初将其容器技术捐献给CNCF,Docker容器平台核心runtime变成了一个社区所有项目,有助于建立容器化的行业标准。
其次,世界上主要的云服务商和IT供应商不约而同选择了Kubernetes作为默认的容器编排工具,他们中很多已经推出了自己的Kubernetes解决方案、平台和云计算托管服务。
第三,CNCF推出了Kubernetes一致性认证计划,帮助供应商证明他们的解决方案符合Kubernetes标准——让客户相信他们可以采用Kubernetes而不会被单一供应商锁定。
“无聊”即生意
如果说Kubernetes已经进入了“认证”和“最佳实践”的世界,是否意味着它已经不再是一个热门的新兴技术了?或者换句话说:Kubernetes会变得很“无聊”吗?
很多专家认为,所谓的“无聊”不是坏事。Kubernetes已经赢得了容器编排爱好者的心,但为了在更广阔的世界中生存下去,它需要吸引那些不会花太多时间来学习Kubernetes复杂技术概念的人,而这些人恰恰是会在未来几年中利用K8s来解决实际业务问题的人——对于这些用户来说,能够快速落地技术并使技术正常工作至关重要。
这就是为什么CNCF正在着手建立的一系列培训和教育体系,不仅仅是针对Kubernetes专家,还面向广泛的开发人员。如果我们只是想要利用Kubernetes来编排容器,会使用便已足够。
“无聊”即简单
除了认证和培训之外,各云计算服务商所提供的,越来越多的托管服务以及简单易懂不需要特殊学习的Kubernetes解决方案,也让Kubernetes的应用变得越来越广泛。
作为开发者,我们的第一要务是构建应用并让应用跑起来。我们可能最终会成为精通K8s的专家,但这恐怕不是我们第一天就要着手做的事情。云计算服务商所提供的方案、工具和平台作用正在于此,我们不必从一开就担心如何配置kubernetes、如何维护、如何优化等等问题。
不仅仅是云原生应用
Kubernetes不仅仅适用于新的云原生项目,它还可以应用在对传统应用的现代化改造上。通过对遗留应用的容器化改造以及Kubernetes的编排,我们可以打破原有应用架构的局限性,转变为架构适应应用需求的全新模式。
经改造过的应用程序,能够充分利用诸如弹性、可扩展性等云原生优势,以及强大的路由、日志、监控和安全工具,同时我们可以在其之上添加新的微服务来实现扩展功能。
探索新的“兴奋”
如果Kubernetes已经变得很成熟,已经是一种非常优秀的解决方案,喜欢“鼓捣”的开发者应该去哪寻找新的“兴奋点”?
想想Docker容器化解决方案的普及为Kubernetes铺平了发展的道路,Kubernetes的发展解锁了Service Mesh微服务架构……也许随着越来越多组织将Kubernetes投入生产,连接、管理、保护微服务的能力将成为下一个需要解决的挑战。
好雨Rainbond(云帮)是一款以应用为中心的开源PaaS,深度整合基于Kubernetes的容器管理、Service Mesh微服务架构最佳实践、多类型CI/CD应用构建与交付、多数据中心资源管理等技术,为用户提供云原生应用全生命周期解决方案,构建应用与基础设施、应用与应用、基础设施与基础设施之间互联互通的生态体系,满足支撑业务高速发展所需的敏捷开发、高效运维和精益管理需求。