刘炎火
摘 要:云计算技术推动了信息技术架构深层次变革,虚拟化、IaaS、PaaS、SaaS、容器、微服务等模式与技术推陈出新,云原生技术不断向前发展,形成软件工程新业态。文章论述了云原生的概念和内涵、云计算发展现状,总结了云原生推动软件工程的一些变革,最后,提出云原生有益于构建终身学习的发展模式。
关键词:云计算;云原生;微服务;容器
中图分类号:TP393.0 文献标识码:A 文章编号:1003-5168(2021)36-0006-04
Application and Research the Technology of Cloudnative
LIU Yanhuo
( Jimei Industrial college , Xiamen Fujian 361022)
Abstract: Cloud computing technology has promoted the deep-seated reform of information technology architecture. Virtualization, IAAs, PAAS, SaaS, container, microservice and other models and technologies have pushed through the old and brought forth the new. Cloudnative technology continues to develop and form a new business form of software engineering. This paper discusses the concept and connotation of Cloudnative and the development status of cloud computing, summarizes some changes that Cloudnative promote software engineering, and finally puts forward a development model that Cloudnative are beneficial to building lifelong learning.
Keywords: cloud computing; cloudnative; microservice; container
过去40多年里,软件产业经历了多次重大变革,从大型机向小型机迁移、从C/S架构到SOA、从互联网兴起到移动互联网的广泛应用、从软件的本地化部署到云上开发时代,每一次的信息技术产业架构的变革,都带来了巨大的商业机遇和行业的洗牌。以容器、微服务、开发运维一体化为代表的云原生技术,重构了软件开发和运维模式,用户可以构建容错性好、易于管理和具有可观测性的应用[1]。
1 什么是云原生
云原生是一套技术体系和方法论,是一种构建和运行应用程序的方法。云原生(Cloudnative)是一个组合词,Cloud表示应用程序位于云中,Native表示应用程序运行在云上,突破了数据中心的束缚,充分发挥和利用云平台的弹性与分布式优势,以最佳姿势运行。云原生包含微服务、容器化、DevOps和持续交互四要素。
1.1 微服务
微服务(Microservice)是一种架构方案,用于构建应用服务[2]。微服务可以将应用服务拆分为多个核心功能,每项服务对应一个功能,改变了单体式方案,单体式方案与微服务架构体系结构模型如图1所示。每项服务对应一个功能,可以单独部署和构建,在工作或故障时不同服务不会相互影响。面向服务的架构,对于微服务的部署,只需稍加调整即可。微服务架构的好处是服务解耦、内聚更强、变更更易,划分服务依据领域驱动设计来完成。
1.2 容器化
虚拟化技术为系统管理员提供了极大的灵活性,但存在性能不佳、资源利用率不高等问题。容器(Container)是一种新型虚拟化技术,突破了传统虚拟化技术的瓶颈。Docker是应用最为广泛的容器引擎,在思科、谷歌等公司的基础设施中大量使用,基于LXC技术,容器化为微服务提供实施保障,起到应用隔离作用。Kubernetes(K8S)是容器编排系统,用于容器管理、容器间的负载均衡。
1.3 DevOps
DevOps是开发运维一体化的方法论。在系统应用和服务的生命周期中,系统开发者开发运维工具,如Google SRE很大一部分开发工具就是为运维服务,使得运维流程高度自动化和智能化,提高了运维效率[3]。DevOps促进工作思维方式的改变,DevOps重视业务和人员的多样性,为业务价值快速提升提供支持。DevOps强调共同目标,以用户价值为唯一评价标准,有利于技术开发、技术运维、质量保障等部门之间的沟通协作整合,保证产品功能及时实现,确保成功部署和稳定使用。
1.4 持续交付
持续交付(Continuous Delivery,CD)是指软件开发过程,从原始需求到最终产品开发过程中,在较短周期内以需求的小颗粒度频繁提交的过程,实际指的是集成后在类生产环境中测试并及时反馈的过程[4]。持续交付可以保证软件稳定、持续保持在随时发布的状况,可以让软件的构建、测试与发布变得更快更频繁,可以缩短开发时间、降低开发成本、减少风险。
为了适应快速变化的信息技术(Information Technology,IT)业务需求,IT界正在进行一场变革。用户通过云原生技术体系和方法论,在应用程序开发、测试、部署各个环节进行改进和提升,企业应用能更快地上线,想法能更快地實现,更容易提升企业效益。基于微服务架构,采用开源堆栈进行容器化设计的云原生架构,借助敏捷开发管理模式,DevOps支持持续迭代和智能化运维,利用云平台弹性伸缩和动态调度功能,优化资源利用率,如图2所示[5]。
2 云计算发展现状
2020年是数字化爆发元年,企业数字化转型势不可挡。从2000年非虚拟化硬件技术的提出,到2015年云原生技术的提出,云计算已经融入我们生活的各个方面。
2.1 市场方面
Gartner统计数据显示,以IaaS、PaaS和SaaS为代表的云计算的市场规模,2020年达到2 083亿美元,并且保持稳定增长态势,特别是我国市场,无论是公有云,还是私有云,都呈现出高速增长状态。
2.2 技术方面
云原生持续落地,互联网和信息服务业应用的占比不断下降,垂直行业快速崛起,金融、制造、服务、政务、电信等行业的应用在不断攀升,资源利用率、弹性效率、交付效率、智能运维、功能扩充都有所提升,云原生技术价值进一步得到用户认可,云原生架构的生产集群规模显著提升,加速行业应用[6]。
2.3 架构方面
云网融合的需求不断增大,边缘侧的计算需求潜力巨大,随着5G、工业互联网等领域快速崛起,边缘计算市场需求将快速增长。
2.4 安全方面
随着云进程不断深化,安全态势日益严峻,传统安全架构无法满足企业需求。《Internet Defense for Cloud Environments in 2020》统计显示,超过65%的企业将重新部署专门面向云计算环境的抗DDoS攻击解决方案和应用防火墙,以信任机制为突破口的安全体系开始兴起[7]。
2.5 管理方面
由于企业用云加深导致云上支出浪费、业务性能下降、安全问题凸显等问题的产生,因此,云优化能力成为选择云服务管理商的重要因素。
2.6 软件方面
云计算的发展促进了软件开发流程的改革,微服务、DevOps理念促使软件新格局逐步形成。
2.7 赋能方面
云计算已经成为企业数字化转型的充分必要条件。《中国企业数字化转型研究报告》显示,中国有近40%的企业还未提出明确的数字化转型战略,仅20%的企业制定了数字化文化建设方案并落地推进,成熟度有待提高。
随着企业数字化转型的不断深入,IT架构向以云计算为承载,融合大数据、人工智能、区块链等新一代技术的数字基础设施转变。多云、混合云成为主要形态,以数据中心内部和外部进行划分的安全边界被打破,IT架构面临更多的安全信任危机。
3 云原生推动软件工程革新
云原生底层核心技术趋于成熟,根据国际主要基金会的公开数据统计,云原生技术的热点开源项目已经超过300个,包括云原生底层技术、云原生编排及管理、云原生应用、云原生安全技术以及云原生监测分析五大模块,涵盖技术能力的各个方面,用户从单点服务尝试向体系化服务演变,云原生技术进入了黄金发展期[8]。
3.1 云原生推动融合应用时代的到来
云原生理念贯穿系统的开发、测试、发布、运维等全链路,引导传统业务逐步过渡到全新的模式,搭建基于云技术架构、云业务应用和云架构安全三个维度的云原生体系化架构,实现了云原生技术的叠加效应[9]。
云原生降低了技术门槛,成为云上数据产品的技术底座,推动云数智深层次融合。云智技术交叉集成,解决了智能化落地困难,促使人工智能发挥更大的社会经济价值,呈现了云原生虹吸效应。
3.2 云网边一体化不断加深
随着物联网、工业互联网、5G等行业应用的核心模块完成云计算平台的部署,实现云网融合、云边协同,完成算力服务的优化。分布式部署是云计算从单一数据中心向多数据中心部署[10]。为了实现算力服务最优化,一方面利用多种计算架构解决了多样性数据处理的问题,另一方面边缘计算处理模式逐步取代集中式算力处理模式。前者如计算密集型应用,需要中心计算平台执行复杂的逻辑调度,完成多样性数据接入及海量数据处理;后者如CPU、DSP、GPU、FPGA等算力服务,开始从云端向边缘侧扩展,通过提高边缘侧算力处理能力和云边协同能力,达到分布式发展的目标。云网边算力服务的协同管理如图3所示。
3.3 建立零信任体系,构建新安全体系
融合大数据、人工智能、区块链等新一代信息技术逐步取代以传统数据中心为核心的IT架构是发展趋势,新的IT架构以多云、混合云为主要形态。新的IT架构导致资源暴露面增大,工作负载可信程度难以保障。分布式应用架构导致东西流量激增,对安全防护能力提出了更高要求。工作负载分散、难以确保所有资源处于可信任状态、数字化工作空间扩展、网络接入位置和时间多变、用户可控性降低、设备差异等都将导致风险要素增多[11-12]。
为了应对传统数据中心安全体系存在的过度信任,以及与IT架构相对割裂等问题,基于云计算的安全理念逐渐兴起,这个安全理念就是零信任理念。零信任理念默认一切不可信任,网络边界不再是安全边界。零信任安全理念从三个维度构建新的安全体系,首先默认不可信阻断东西向风险的快速传播,任何访问主体对资源的访问都需要进行认证和授权,将有效阻断异常的东西向流量;其次身份认证与授权机制可以屏蔽终端和身份的潜在威胁,通过多源数据对访问主体进行信任评估,覆盖用户身份、终端信息、行为信息等方面,防止未知信息和不可信信息获得访问权限;再次是持续的安全防护尽可能确保所有资源处于安全状态,通过漏洞扫描、病毒管理、态势感知、数据防泄露等手段,保证企业内基础设施、应用、数据、终端等资源的安全性。云原生零信任技术已经从概念走向实施应用阶段,腾讯云、阿里云、华为云都有各自的零信任产品。零信任安全架构如图4所示。
3.4 云原生打造新格局,形成软件工程新业态
云技术应用持续加深,云管理服务商的服务范围延伸到云優化,利益驱动使得非云管理服务商也进入云优化领域,促进云优化工具的能力提升。云原生技术和云优化管理推动了云软件架构的全新升级,云软件的重构开发和运维模式变革,助力软件工程高质量发展,形成新的软件工程业态。
云上分布式系统架构、多元的业务场景,系统调用链复杂,故障后果更加难以预见,尤其是微服务架构下,级联依赖和持续的增量变更,使得任务的调用、数据流转更加复杂,超出设计初衷的故障场景不可预见。为了解决故障的不可预见性,云原生引入了混沌工程,混沌工程本质是一种适应大规模分布式系统的测试手段,其通过主动制造故障,验证系统面对不同压力的反应,识别并修复故障,建立对系统承受生产环境中湍流条件能力的信心,以更复杂、更有预见性的手段提高技术架构弹性能力。混沌工程平台技术架构如图5所示。
4 云原生对职业教育的影响
“1+X”书证融通是《国家职业教育改革实施方案》启动职业技能证书试点制度之一,云计算平台运维与开发职业技能等级证书是深入贯彻落实职教二十条,加快推进“学历证书+若干职业技能等级证书”制度试点工作和人才培养方案制订与实施工作的重要尝试。
云计算是信息网络体系架构的一次革新,云原生技术的广泛应用,“1+X”云计算平台运维与开发的知识结构将不断更新,需要学习者不断学习新的边界知识。傳统的学习理论很难指导学习者顺利开展跨界学习与研修,利用关联主义学习理论可以非正规、跨领域、持续终身的学习。关联主义克服了行为主义、认知主义及建构主义的局限性,提供了一种新的理论视角与方法管理个人知识,通过“节点、连接、网络、知识流及工具”,重构个人知识管理要素,建构新的有效个人知识管理的方法和步骤。以关联主义理论统领课程资源建设,改变学习方法,建构终身学习的发展模式。
参考文献:
[1] CAICT中国信息通信研究院.云计算机白皮书[EB/OL].(2021-07-29)[2021-09-23].https://mp.weixin.qq.com/s/qf9QmqxZUZCPALWLZiSQPA.
[2] 刁兴玲.2017年ICT产业十大创新技术[J].通信世界,2017(34):22-24.
[3] 科普知识[J].山东交通科技,2016(6):118.
[4] 夏芸.ATS软件持续交付系统的设计与实现[J].电子技术与软件工程,2020(11):67-69.
[5] 蔡高扬,马化军,李挥.ASIT:面向接口的分布式自动化测试系统[J].广东通信技术,2020(4):38-43.
[6] 杜洋.智慧城市信息基础设施平台应用研究[J].甘肃科技,2021(3):16-18.
[7] 杨思誉,刘海霞,童基均,等.Spring Cloud云原生应用开发与实现[J].软件导刊,2021(6):183-187.
[8] 吴争荣,包新晔,尹立彬,等.基于敏捷开发理念的软件系统持续交付研究[J].电子世界,2020(7):80-81.
[9] 葛娇娇.什么是云计算?[J].英语世界,2020(8):4-10.
[10] 马晓春,马玉慧.测试分公司信息系统整合研究[J].电脑知识与技术(学术版),2020(7):241-243.
[11] 袁逸涛,李小军.跨平台高速公路入口治超系统的设计与应用[J].上海船舶运输科学研究所学报,2020(4):54-59,87.
[12] 王军,宋尧,于全喜,等.基于监控PaaS的大数据治理研究[J].电力大数据,2020(9):50-57.