2020年,受疫情影响,谁家企业的日子都不好过。但是,如果把互联网企业和传统企业放在一起进行对比,就会发现,后者已被无形碾压。为什么传统企业或者是行业压力更大?受疫情的冲击更多?如果非要求根寻源,答案其实非常简单,归根结底是企业信息技术跟不上, IT基础设施及架构支撑能力不足,导致企业在数字化洪流中失去核心竞争力。所以,疫情过后,数字化转型会成为企业的必修课,而云原生应用则会成为企业解开数字化转型的通关密码。那么, 问题来了,什么是云原生应用?
最早,很多人认为云原生应用要满足几个重要特征,比如:面向微服务架构,具有自服务敏捷特性,能实现基于API的协作等等。
到了2015年,Google主导成立了云原生计算基金会(CNCF),认为云原生(Cloud Native)的定义应该包含三个方面,即应用容器化、面向微服务架构和应用支持容器的编排调度。
2018年,云原生生态的不断壮大,几乎所有主流云计算供应商都加入了CNCF基金会。这时,人们对云原生又进行了重新定义,那就是真正的云原生技术应该有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。
云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统,结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。
从这个角度来看,云原生概念一直处于不断变化和发展的状态,未来如何演变,谁都无法准确定义。所以,不如我们跳出云原生概念本身,多去想想云原生能解决哪些问题。
我们可以看到,传统行业之前在业务创新时,总提新制造、新零售、新物流、新技术,现在是新基建,其实本质是相同的,都是企业数字化转型带来的生产模式的变革,未来的企业将更强调个性化发展。而这种应用需求的改变,带来的最直接结果就是IT基础设施的调整,你的IT系统支撑能力是否足够敏捷,这就是云原生存在的重要价值,也是最需要解决的问题。
“互联网企业在云原生方面的实践,已先行一步,有很多落地应用。但是随着云原生技术的成熟,传统行业企业,也开始尝试使用云原生应用技术,包括银行、电信、能源、制造类企业,开始做相关部署,通过云原生搭建核心平台。”
英特尔数据中心产品架构师许渊认为,云原生之所以走向高速发展期,是因为几个最重要的变化。第一,技术创新带来的变化,包括AI技术、5G技术等等;第二,消费者的习惯和消费方式发生一些变化;第三,产业结构在变化。其实,互联网行业应用云原生最早,当初也是为了应对快速变化的市场。对于传统行业来说,要想在快速变化的市场竞争中立于不败之地,一定要在重大变革发生之前就要做足技术准备。
然而,如何跳出云原生复杂的技术旋涡,找到更满足企业应用场景的解决方案?
“首先,企业的技术架构和整个IT平台,要适应云原生技术;其次,要改变之前的组织架构,包括开发流程、运维流程以及组织构成和人才的培养、知识的积累等等,要满足现代业务环境需求。”许渊强调,在云原生时代,现代化IT架构和传统IT平台,有着天壤之别,要做大量细粒度的部署,包括会使用微服务架构。
至于,云原生和微服务架构、DevOps、容器以及K8S技术之间到底是怎样一种关系?相应的基础架构到底如何调整?戴尔科技集团售前系统工程部解决方案架构师林小引以及戴尔科技集团企业技术战略架构师张利俊,从戴尔科技的角度分析了云原生发展现状以及相关的应对措施。
第一,在云原生环境下,稳态IT和敏态IT呈现相互融合的趋势。在很多人的过去认知里,认为Oracle、微软SQLServer、SAP ERP套件都属于传统的稳态IT范畴;但是现在,Oracle以及SAP等其实也在拥抱云原生。Oracel数据库已经跑在容器里;SQLServer也不止跑在Windows下面,还能跑在基于Linux的容器里;SAP 也在把ERP套件进行容器化的改造。
第二,IaaS和PaaS相互融合。在传统IT架构下,虚拟机和容器属于两个独立体,但是现在二者之间的界限正在被打破。VMware现代化解决解决方案可以让Iaas和PaaS融合在一起,通过虚拟机承载相对稳态应用,通过容器应对更多敏态应用,让两个世界的业务相互打通。
第三,公有云和私有云的界限正变得模糊。在原来私有云模式下,涉及非常多的软件、硬件、服务,建设周期相对比较长;但是现在,越来越多的厂商在推一体化解决方案,极大地加快了私有云的部署速度。从某些层面来看,更偏向混合云解决方案。比如:AWS推出了 Autotools,微软推出了AzureStack,国内的腾讯、阿里也有类似的解决方案。
第四,之前的云原生更多的是用在一些边缘的外围、非核心应用,用于非生产环境,但是现在,越来越多的行业用户把云原生的应用部署在生产环境,而且把自己的核心应用慢慢迁移到云原生方向。
第五,混合云、多云逐渐成为一个主流趋势。没有一朵云能够主宰全世界,已成为大多数人的共识,有些工作负载可以放在公有云,但是有的工作负载更适合放在私有云,所以我们需要创建一个可以互联互通的多云环境。
云原生和传统应用的最大区别是,主要用于企业的非内部系统,是一种B2C模式的对外应用。所以,在接下来的一段时间里,依然会有一些业务跑在虚拟机或者裸机上,这是一个融合共生的时代。
那么,落地到具体的业务场景,应该如何去选择?企业要想切入云原生赛道,应该从何处入手?其实并没有统一路径!有公司是从开发部门开始,有公司是从运维开始,而有公司则从整个平台的架构设计端导入,不同企业要结合自己的业务状况,根据企业的发展阶段以及业务特点来选择。
针对云原生的落地问题,许渊举了几个例子。比如:金融行业客户,有自己的开发团队,一般开启云原生的方式会从开发部门开始,从微服务、容器化和Serverless开始导入,然后逐渐推广。再比如制造业企业,一般没有自己的开发团队,更多是从第三方软件采购商那里获得云原生应用。并且,除了应用外,还有大数据、人工智能等很多数据处理平台,这些平台本身已经云原生化。就像在工业领域应用比较广泛的深度学习框架tensorflow,就有和kubernetes相结合的项目,叫做Kubeflow,很多客户通过这种方式来落地。另外,还有一些政府类的客户,在构建新的平台的时候,直接按照云原生的方式来实施和部署。
总体来看,在传统应用架构下,网络流量大多是南北走向,但是到了云原生平台时代,会变成东西走向,这对整个数据的传输、存储和计算产生非常大的压力。为了让数据移动得更快,存储得更多,适应更广泛,帮助企业快速走向云原生时代,英特尔、戴尔科技集团、浪潮集团等都推出了一系列的解决方案以及相关产品。
可以预测,在未来企业加快数字化转型过程中,云原生一定会变成现代业务的基础应用,其广度和深度会远远超过当年的虚拟化,最终变成企业应用现代化之旅的坚实底座。
本文作者:李代丽