行业资讯

返回
联系电话:028-86637122

为超过36个行业提供IT经营解决方案

行业资讯 小程序/App开发 资讯详情

为云而生的“云原生”,为什么越来越重要?

IT史上有一个经典故事。那就是在1943年,IBM的董事长老托马斯·沃森胸有成竹地告诉人们:未来5台计算机就可以满足全世界的市场。现在我们知道,老沃森的预言有一半正在实现。就是世界正在朝着“5台计算机”的方向演进,当然我们也知道,老沃森只是很认真地认为世界上用到计算机的地方并不太多,而不是预见到云计算的到来。 现在,云计算已经无处不在,数字世界成为我们的栖身之所。而近年来,一个名为“云原生”的概念成为云计算领域的热词。原本企业家们的对话可能是“你的公司业务上云了吗?”,而现在很多企业家要改口问下:“你的业务上了‘云原生’了吗?”

Gartner报告曾指出,到2020年,将有50%的传统老旧应用被以云原生化的方式改造,到2022年,将有75%的全球化企业将在生产中使用云原生的容器化应用。在企业上云的趋势下,我们正在看到越来越多的企业和开发者开始把业务与技术向云原生演进。 那么,什么是“云原生”?为什么“云原生”正在变得越来越重要?我们希望通过对“云原生”概念和其代表的整体技术思路做一次梳理,看下“云原生”能够释放怎样的技术红利。

“云原生”,来自于Cloud Native的直译(其实叫原生云更顺口),拆开来看,Cloud 就是指其应用软件是在云端而非传统的数据中心。Native代表应用软件从一开始就是基于云环境、专门为云端特性而设计,可充分利用和发挥云平台的弹性+分布式优势,最大化释放云计算生产力。 技术永远走在概念之前,在“云原生”概念正式提出以前,在企业中就已经有了云原生的实践。比如,谷歌在2004年就开始使用了容器技术,2006推出的进程容器(Process Container),就是一种具有“云原生”特征的技术实践。

业界公认的“云原生”(Cloud Native)概念是Pivotal公司的Matt Stine于2013年首次提出,然后被一直沿用至今并发扬光大。 在Matt那里,他把云原生理解为一系列云计算技术和开发管理方法的合集,包括DevOps、持续交付、微服务(MicroServices)、敏捷基础设施(Agile Infrastructure)和12要素(The Twelve-Factor App)等等。

小程序/App开发

在云原生概念提出的2013年,Docker也正式发布。Docker的PaaS提供商DotCloud开源的一个基于LXC的高级容器引擎,帮助开发者把应用打包到容器中并进行发布,Docker对于开发者来说,就如同用集装箱货轮来运输货物一样,效率又高、(容器如同集装箱)部署灵活性也比虚拟机更好,一经发布就成为极为流行的开源容器发布工具。

小程序/App开发

第二年,K8s(kubernetes)项目由google发布。在容器和Docker诞生之后,开发者自然而然需要工具来管理这些容器和容器化引擎。K8s正是用来管理云平台中多个主机上的容器化的应用,让部署容器化的应用简单和高效。因为K8s也是采用了开源形式,发布之后也大受欢迎。 2015 年,由Google、红帽、微软等大型云计算厂商以及一些开源公司,共同牵头成立了 CNCF云原生基金会。CNCF成立之初,就有22个创始会员,K8s成为CNCF托管的第一个开源项目。CNCF的目标就是致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。

在2018年,CNCF对“云原生”的定义中,给出其代表性技术,包括容器、服务网格、微服务、不可变基础设施和声明式API。在容器技术的普及中,Docker实现了容器的可移植、轻量化、虚拟化,语言无关,大大降低了容器技术的使用门槛,而K8s则相当于安排容器发布的管家,解决了容器编排的全周期管理,就如同集装箱货轮上的船长一样。正是这一特性,K8s也成为了应用上云的可移植性等问题,被成为云原生技术的基石。

小程序/App开发

微服务是什么呢?与微服务相对应的传统的以系统为单位进行部署的单体架构,与之相比,微服务架构就是以独立的组件为单位进行部署,是用户可以感知最小功能集。微服务具有小而专的特性,使得开发、测试、更新效率提高,从而实现敏捷。从功能上看,微服务可以成为Docker的配合搭档,使得业务流程可以按需编排,实时部署。 服务网格( Service Mesh )是指用以处理服务与服务之间通信的基础设施层,解决了K8s在微服务的连接、管理和监控方面的短板,为K8s提供更好的应用和服务管理,成为微服务的辅助技术。而不可变基础设施相比较于之前的可变基础设施,具有更高的一致性和可靠性,以及更简单,更可预测的部署过程,成为云原生应用的运维的可靠基础架构,而声明式API这可以理解为是k8s的编码方式。

而这就涉及到传统的IT架构方式,将开发、IT运营和质量保障分别设置,各自独立,开发与运营之间存在着信息“鸿沟”,开发人员希望基础设施更快响应,运营人员则要求系统的可靠性和安全性,而业务需求则是更快地将更多的特性发布给最终用户使用。这种被成为“瀑布式流程”的开发模式,一方面造成了开发上下游的信息不对称,一方面拉长了开发周期和调整难度。

小程序/App开发

但是随着用户需求的快速增加和产品迭代周期的不断压缩,原有的开发流程不再适合现实的需求,这时工程师们引入了一种新的开发模式——敏捷开发。但是,敏捷开发只是解决了软件开发的效率和版本更新的速度,还没有和运维打通。

小程序/App开发

出于协调开发和运维的“信息对称”问题,开发者又推出了一套新的方法——DevOps,DevOps可以看作是开发、技术运营和质量保障三者的交集,促进之间的沟通、协作与整合,从而提高开发周期和效率。

小程序/App开发

最终实现的就是“持续交付”,让软件产品的产出过程在一个短周期内完成,保证软件可以稳定、持续的保持在随时可以发布的状况。 而云原生的容器、微服务等技术正是为DevOps提供了很好的前提条件,保证IT软件开发实现DevOps开发和持续交付的关键应用。换句话说,能够实现DevOps和持续交付,已经成为云原生技术价值不可分割的内涵部分,这也是无论互联网巨头企业,还是众多中小应用开发公司和个人,越来越多选择云原生技术和工具的原因。

基于云原生技术带给企业的应用开发的技术价值,直接来说就可以大幅降低企业IT开发和运维的成本,从而又提升企业业务的创新效率和产业价值。 对于外界而言,我们最直观的感受就是节假日前在12306抢票再也没有遇到系统崩溃,一些行政网站的体验也不那么差了,在购物节的流量高峰时,我们的页面也很少出现延迟或者刷不出来的情况了,而那些大型的在线直播、游戏的体验也很流畅了。而这些有时高达数以亿计的高并发流量都得益于云原生技术的快速弹性扩容来实现。

而对于企业而言,选择云原生技术,也就不仅仅是降本增效的考虑,而且还能为企业创造过去难以想象的业务承载量,对于企业业务规模和业务创新来说,云原生技术都正在成为全新的生产力工具。 过去企业看重的办公楼、厂房、IT设施等有形资产,其重要性也逐渐被这些云端数字资产所超越,企业正通过云原生构建一个完整的数字孪生的新体系,而这才是云原生技术的真正价值所在。

小程序/App开发

对于整个云计算产业的发展本身来说,云原生区别于早先的虚拟机阶段,也完成了一次全新的技术生产力变革,就如同近代能源革命经历的水、煤、电的变革导致能量释放的密度和产业规模的数量级跃迁一样,云原生也是从云技术的应用特性和交付架构上进行了创新性的组合,能够极大地释放云计算的生产能力。 此外,云原生的变革从一开始自然而然地与开源生态走在了一起,也意味着云原生技术从一开始就选择了一条“飞轮进化”式的道路,通过技术的易用性和开放性实现快速增长的正向循环,又通过不断壮大的应用实例来推动了企业业务全面上云和自身技术版图的不断完善。

当然,企业业务的全面云原生化,并非一蹴而就的,企业业务的技术架构变革仍然要迎接很多的挑战,比如传统虚拟机模式下的运维习惯、原有的IT资产切换、人员的思维和管理方式变革等。不过,云原生所带来的种种好处,对于企业的未来业务发展的优势,已经成为众多企业的新共识。 可以预见,更多企业在经历了这一轮云原生的变革之痛后,能够穿越企业的原有成长周期,跨越到数字经济的新赛道,更好地活在即将到来的全面云化的数字时代。

为云而生的“云原生”,为什么越来越重要?

IT史上有一个经典故事。那就是在1943年,IBM的董事长老托马斯·沃森胸有成竹地告诉人们:未来5台计算机就可以满足全世界的市场。现在我们知道,老沃森的预言有一半正在实现。就是世界正在朝着“5台计算机”的方向演进,当然我们也知道,老沃森只是很认真地认为世界上用到计算机的地方并不太多,而不是预见到云计算的到来。 现在,云计算已经无处不在,数字世界成为我们的栖身之所。而近年来,一个名为“云原生”的概念成为云计算领域的热词。原本企业家们的对话可能是“你的公司业务上云了吗?”,而现在很多企业家要改口问下:“你的业务上了‘云原生’了吗?”

Gartner报告曾指出,到2020年,将有50%的传统老旧应用被以云原生化的方式改造,到2022年,将有75%的全球化企业将在生产中使用云原生的容器化应用。在企业上云的趋势下,我们正在看到越来越多的企业和开发者开始把业务与技术向云原生演进。 那么,什么是“云原生”?为什么“云原生”正在变得越来越重要?我们希望通过对“云原生”概念和其代表的整体技术思路做一次梳理,看下“云原生”能够释放怎样的技术红利。

“云原生”,来自于Cloud Native的直译(其实叫原生云更顺口),拆开来看,Cloud 就是指其应用软件是在云端而非传统的数据中心。Native代表应用软件从一开始就是基于云环境、专门为云端特性而设计,可充分利用和发挥云平台的弹性+分布式优势,最大化释放云计算生产力。 技术永远走在概念之前,在“云原生”概念正式提出以前,在企业中就已经有了云原生的实践。比如,谷歌在2004年就开始使用了容器技术,2006推出的进程容器(Process Container),就是一种具有“云原生”特征的技术实践。

业界公认的“云原生”(Cloud Native)概念是Pivotal公司的Matt Stine于2013年首次提出,然后被一直沿用至今并发扬光大。 在Matt那里,他把云原生理解为一系列云计算技术和开发管理方法的合集,包括DevOps、持续交付、微服务(MicroServices)、敏捷基础设施(Agile Infrastructure)和12要素(The Twelve-Factor App)等等。

小程序/App开发

在云原生概念提出的2013年,Docker也正式发布。Docker的PaaS提供商DotCloud开源的一个基于LXC的高级容器引擎,帮助开发者把应用打包到容器中并进行发布,Docker对于开发者来说,就如同用集装箱货轮来运输货物一样,效率又高、(容器如同集装箱)部署灵活性也比虚拟机更好,一经发布就成为极为流行的开源容器发布工具。

小程序/App开发

第二年,K8s(kubernetes)项目由google发布。在容器和Docker诞生之后,开发者自然而然需要工具来管理这些容器和容器化引擎。K8s正是用来管理云平台中多个主机上的容器化的应用,让部署容器化的应用简单和高效。因为K8s也是采用了开源形式,发布之后也大受欢迎。 2015 年,由Google、红帽、微软等大型云计算厂商以及一些开源公司,共同牵头成立了 CNCF云原生基金会。CNCF成立之初,就有22个创始会员,K8s成为CNCF托管的第一个开源项目。CNCF的目标就是致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。

在2018年,CNCF对“云原生”的定义中,给出其代表性技术,包括容器、服务网格、微服务、不可变基础设施和声明式API。在容器技术的普及中,Docker实现了容器的可移植、轻量化、虚拟化,语言无关,大大降低了容器技术的使用门槛,而K8s则相当于安排容器发布的管家,解决了容器编排的全周期管理,就如同集装箱货轮上的船长一样。正是这一特性,K8s也成为了应用上云的可移植性等问题,被成为云原生技术的基石。

小程序/App开发

微服务是什么呢?与微服务相对应的传统的以系统为单位进行部署的单体架构,与之相比,微服务架构就是以独立的组件为单位进行部署,是用户可以感知最小功能集。微服务具有小而专的特性,使得开发、测试、更新效率提高,从而实现敏捷。从功能上看,微服务可以成为Docker的配合搭档,使得业务流程可以按需编排,实时部署。 服务网格( Service Mesh )是指用以处理服务与服务之间通信的基础设施层,解决了K8s在微服务的连接、管理和监控方面的短板,为K8s提供更好的应用和服务管理,成为微服务的辅助技术。而不可变基础设施相比较于之前的可变基础设施,具有更高的一致性和可靠性,以及更简单,更可预测的部署过程,成为云原生应用的运维的可靠基础架构,而声明式API这可以理解为是k8s的编码方式。

而这就涉及到传统的IT架构方式,将开发、IT运营和质量保障分别设置,各自独立,开发与运营之间存在着信息“鸿沟”,开发人员希望基础设施更快响应,运营人员则要求系统的可靠性和安全性,而业务需求则是更快地将更多的特性发布给最终用户使用。这种被成为“瀑布式流程”的开发模式,一方面造成了开发上下游的信息不对称,一方面拉长了开发周期和调整难度。

小程序/App开发

但是随着用户需求的快速增加和产品迭代周期的不断压缩,原有的开发流程不再适合现实的需求,这时工程师们引入了一种新的开发模式——敏捷开发。但是,敏捷开发只是解决了软件开发的效率和版本更新的速度,还没有和运维打通。

小程序/App开发

出于协调开发和运维的“信息对称”问题,开发者又推出了一套新的方法——DevOps,DevOps可以看作是开发、技术运营和质量保障三者的交集,促进之间的沟通、协作与整合,从而提高开发周期和效率。

小程序/App开发

最终实现的就是“持续交付”,让软件产品的产出过程在一个短周期内完成,保证软件可以稳定、持续的保持在随时可以发布的状况。 而云原生的容器、微服务等技术正是为DevOps提供了很好的前提条件,保证IT软件开发实现DevOps开发和持续交付的关键应用。换句话说,能够实现DevOps和持续交付,已经成为云原生技术价值不可分割的内涵部分,这也是无论互联网巨头企业,还是众多中小应用开发公司和个人,越来越多选择云原生技术和工具的原因。

基于云原生技术带给企业的应用开发的技术价值,直接来说就可以大幅降低企业IT开发和运维的成本,从而又提升企业业务的创新效率和产业价值。 对于外界而言,我们最直观的感受就是节假日前在12306抢票再也没有遇到系统崩溃,一些行政网站的体验也不那么差了,在购物节的流量高峰时,我们的页面也很少出现延迟或者刷不出来的情况了,而那些大型的在线直播、游戏的体验也很流畅了。而这些有时高达数以亿计的高并发流量都得益于云原生技术的快速弹性扩容来实现。

而对于企业而言,选择云原生技术,也就不仅仅是降本增效的考虑,而且还能为企业创造过去难以想象的业务承载量,对于企业业务规模和业务创新来说,云原生技术都正在成为全新的生产力工具。 过去企业看重的办公楼、厂房、IT设施等有形资产,其重要性也逐渐被这些云端数字资产所超越,企业正通过云原生构建一个完整的数字孪生的新体系,而这才是云原生技术的真正价值所在。

小程序/App开发

对于整个云计算产业的发展本身来说,云原生区别于早先的虚拟机阶段,也完成了一次全新的技术生产力变革,就如同近代能源革命经历的水、煤、电的变革导致能量释放的密度和产业规模的数量级跃迁一样,云原生也是从云技术的应用特性和交付架构上进行了创新性的组合,能够极大地释放云计算的生产能力。 此外,云原生的变革从一开始自然而然地与开源生态走在了一起,也意味着云原生技术从一开始就选择了一条“飞轮进化”式的道路,通过技术的易用性和开放性实现快速增长的正向循环,又通过不断壮大的应用实例来推动了企业业务全面上云和自身技术版图的不断完善。

当然,企业业务的全面云原生化,并非一蹴而就的,企业业务的技术架构变革仍然要迎接很多的挑战,比如传统虚拟机模式下的运维习惯、原有的IT资产切换、人员的思维和管理方式变革等。不过,云原生所带来的种种好处,对于企业的未来业务发展的优势,已经成为众多企业的新共识。 可以预见,更多企业在经历了这一轮云原生的变革之痛后,能够穿越企业的原有成长周期,跨越到数字经济的新赛道,更好地活在即将到来的全面云化的数字时代。