作者 | 侯淼淼
出品 | CSDN(ID:CSDNnews)
云原生这个词对于业内大多数人来说都不陌生,伴随着云计算的蓬勃发展,大有愈演愈烈之势,已经赫然成为企业数字化转型的重要基石。与此同时,无数的新兴词汇如雨后春笋般冒了出来,“拐点”、“产业井喷”、“数字变革”、“技术红利”等关键词不断刺激着传统厂商拥抱云原生。然而,现在的云原生是真正的云原生吗?它能为企业带来什么?到底值不值得投入?如何才能实现技术平稳落地?在未来是否会成为主流?近日,KubeSphere容器平台产品负责人于爽基于此向我们深度分享了云原生发展现状与落地实践。
云原生从何处来,到何处去?
很多人认为,云原生是一个新概念。其实早在2010年,就有人首次提出了Cloud Native,这个词指的是应用程序和中间件能够在云环境中有良好运行状态的架构,具有早期云原生的原型。2013年,Pivotal的技术产品经理Matt Stine在推特上对云原生的概念进行推广,并在2015年出版的《迁移到云原生架构》一书中率先定义了云原生架构的几大特征。同年,Linux基金会成立CNCF(云原生计算基金会),标志着云原生正式进入了发展加速期,各路大厂纷纷入局,逐渐构建出Cloud Native的完整面貌,云原生的概念日渐清晰。与此同时,云计算和微服务的发展,为云原生铺平了道路。正是因为这些技术的积累,才有了今天的云原生。
“未来的软件一定是长在云上的”。在未来更多的是依托于云的架构,虽然不一定是公有云,也不一定是私有云,但一定是依托于云的弹性可伸缩、成本无限降低的架构去构建。对于很多用户而言,大家普遍关心的问题不是选择什么样的平台,目前国内的技术公司都已经有了各自成熟的方法论和技术团队,而是如何把自己的产品放到云平台上。基于此,云原生为用户提供了一套将业务往新一代基础架构方向上迁移的解决方案,定义了一条能让业务最大程度利用现有基础设施实现更大效能的方法论。
然而,云原生技术虽然已经出现了很多年,国内更多的还是停留在运维人员层面,因为业务部门极少会关注这个问题,大部分开发者都认为“我的代码已经写好了,后面的事情就不需要负责了”,这个就是云原生的“深水区”。并且在整个云原生生态里,CNCF全景图中工具链无限丰富,企业却并不关注里面的工具,他们需要的是一个完整的、能把这些复杂度都屏蔽掉的平台。于爽认为,“我们能做的就是帮助用户屏蔽掉那些不需要关心的事情,另外还能节省人力成本,之前公司可能要雇几个云原生的高手解决这些问题,现在通过一个产品就能把事情解决了,而那些高手就可以腾出时间和精力去帮助企业解决更关键的业务问题了”。
云原生值得投入吗?
现有业务能够在物理机及虚拟机上平稳运行,还有进行云原生投入的必要吗?
于爽举了一个生动的例子:假如是一个只有2个人的团队,其中一个人负责技术,一个人负责业务,其实并不需要云原生技术,技术人员搞懂原生Kubernetes的内核,把自己的业务跑上去就行了。但如果是一个1000人的团队,运维部门有100人,业务开发部门也有100人。CTO不可能把自己掌握的底层内核、Kubernetes的技术,包括围绕Kubernetes构建的辅助性功能,如监控、日志、告警等业务的框架,全都告诉给这200人,让这200人都变得像自己一样厉害。所以企业需要一个媒介,能够帮助自身节约成本、提高效率,最大限度把一个技术平滑地传递到企业里的各个部门,屏蔽了Kubernetes碎片化。
所以,我们不应该为了云原生而云原生,为了容器化而容器化,而要站在未来的角度上去思考与规划。对于企业来说,第一个阶段应该把基础设施以“Infrastructure as Code”的方式进行管理,其次再利用云原生技术提高投入产出比,在未来更高级的阶段是围绕着微服务、应用容器化来做混合云跨云管理等。云原生工具链很复杂 ,整个生态也很庞杂 ,这个时候就迫切地需要一个抓手 ,目前来看容器和Kubernetes就是最好、最简单、最便捷的抓手之一。
回到一开始的问题,答案是肯定的,因为云原生能够为个人和企业带来了足够多的价值。对于客户来说,云原生能为他降本增效,带来切实的利益回报;对于业务部门来说,能够通过容器标准化的打包方式加速业务上线;对于开发部门来说,能够通过云原生达到更高质量的交付。
毋庸置疑,云原生整个生态可以说是基础设施里最吸引人的技术领域之一。
云原生技术如何平稳落地?
对于企业而言,将业务迁移上云并不是一朝一夕就能完成的事情。除了需要大量的时间以外,在迁移过程中也有可能面临各种各样的技术问题,比如:如何处理新系统与旧系统的关系?如何处理旧系统的遗留问题?如何保证数据迁移过程中的安全性问题?这些都对开发人员提出了更高的挑战。
为了让云原生技术平稳落地,基于Kubernetes构建的面向云原生应用的容器混合云KubeSphere已经衍生出了一个庞大的家族。从独立交付、单节点部署的虚拟机管理,到负载均衡的组件,再到跨云的应用分发管理、集群巡检、交付引擎等已经形成了完整的生态。在面对特定场景的时候,比如自动驾驶、远程医疗等场景的业务实现,于爽表示“无论是硬件还是操作系统,容器平台在落地前一定会根据产品进行调整,比如内核的调参,产品的配置调整等,这是一个必须要经历的过程。最后的结果一定是以技术为基础,通过改造升级使企业提高生产力、从而增加利润降低成本”。
云原生平台的一云多芯架构在与芯片适配的时候,Kubernetes容器平台层面的标准是一样的。于爽在此基础上举了一个生动的例子,“以笔记本电脑为例,CPU有AMD、有英特尔,虽然硬件是不一样的,但是中间的过渡层,也就是Linux Kernel(Linux内核),肯定是一样的。因此不管对方是红帽操作系统还是Ubuntu操作系统,都可以装在AMD或者英特尔上面。类似的概念套在KubeSphere里也是一样的,不管用户是飞腾还是鲲鹏的芯片,因为KubeSphere是长在Kubernetes之上的,所以它能做到跨不同硬件的操作系统实现一云多芯。”
在云原生进入“深水区”的关键阶段,于爽认为“从计算机出现以来的所有应用,都有必要用云原生架构全部从零开始再做一遍”,相信在不久的未来,云原生技术将全面覆盖互联网、银行、保险等众多行业,到那个时候,云原生时代将全面而至。