技术圈里从来都不缺少热门的解决方案,而作为开发者,我们也总是被酷炫的新技术所吸引,期望这些新思路能够帮助我们应对技术挑战和业务问题。
然而问题在于,新技术成熟并获得广泛应用之前,我们很难判断该技术是否真的是我们用例的最佳选择。
因此一项技术成为主流,进而成为未来标准,本身不是一件坏事——虽然失去了一丝探索各类可能(和“坑”)的兴奋感,但我们获得了可靠性和便捷度。
随着技术的成熟,更简单的 APIs、更丰富的 libraries、更广泛的社区支持,乃至培训、认证等技术相关事物也随之而生。成熟的技术让我们可以有更多时间,专注于解决高级问题,而不是跟复杂的技术概念和底层设施较劲,换句话说,我们没必要再去重复尝试获取最佳实践的种种细节了。
一个典型的例子是 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 应用构建与交付、多数据中心资源管理等技术,为用户提供云原生应用全生命周期解决方案,构建应用与基础设施、应用与应用、基础设施与基础设施之间互联互通的生态体系,满足支撑业务高速发展所需的敏捷开发、高效运维和精益管理需求。