云原生的定义史、技术线及应用面介绍

云原生的定义史、技术线及应用面介绍

最佳答案 匿名用户编辑于2023/11/22 13:43

如果你对该问题感兴趣的话,推荐你看看《云原生标准体系白皮书(2023)》这篇报告,下面是部分摘录的内容,具体请以原报告为准。

1.云原生的定义史:从概念化到标准化

2023 年 6 月,由全国信标委云计算标准工作组(SACTC28/WG20,以下简称工作组)组织,华为技术有限公司、中国电子技术标准化研究院等近三十家企事业单位,完成编制报批了我国首个云原生领域国家标准——《信息技术云计算 面向云原生的应用支撑平台功能要求》。该文件给出了基于云原生支撑应用生存周期过程的平台功能框架,规范了支撑能力的功能要求,明确了“云原生”的标准术语定义,即:基于云计算架构设计和构建应用程序的技术集合与方法。利用云原生构建的应用具备弹性、敏捷、松耦合、易交付、易观测等特征。标志着“云原生”概念定义的首次国家标准化落地。

回顾云原生概念和技术演进过程,产业界对其内涵定义不断更新丰富,云原生的概念演进史传承着云计算发展史。2010 年 5 月,Paul Fremantle 在博客中首次提出CloudNative 架构概念,意在描述应用程序和中间件在云环境中的良好运行状态,并初步定义云原生架构应具备分布式、松散、多租户、自服务、按需计量计费、持续部署与测试等主要特征。 2011 年,PaaS 提供商 Heroku 提出12 因素(12-factor),旨在引导促进更好地利用云计算PaaS 能力构建SaaS或云原生应用程序。该 12 因素为:一个代码库,一个应用程序;依赖管理;设计、构建、发布和运行;配置、证书和代码;日志;易处理;后端服务;环境等价;管理进程;端口绑定;无状态进程;并发性。而后,Kevin Hoffman 修订增加了三个额外因素,即:API 优先、遥测;认证和授权。上述15因素后发展为著名的云原生架构设计经典方法论。

2015 年,Pivotal 公司 Matt Stine 提出云原生应用具备的主要特征:符合 12 因素、微服务架构、自服务敏捷、基于 API 的协作以及抗脆弱性。后进一步将云原生凝练概括为:六大特质(模块化、可观察、可部署、可测试、可替换、可处理),及四大要点(DevOps、持续交付、微服务以及容器化)。

同年,Google 联合 Linux 基金会成立CNCF 组织,标志着云原生从概念理念加速步入开源产业化。CNCF 定义云原生为:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API。同时,CNCF 进一步建议云原生应用程序应采用6 大基础支柱:云及其基础服务模型;现代设计原则;微服务;容器化和容器业务流程;基于云的后备服务,例如数据库和消息代理;自动化,例如基础结构即代码和代码部署。总而言之,云原生的概念、定义、特性、理论和方法,随着产业发展与广泛应用而更加清晰。从概念定义看,云原生是一种更优利用云计算资源、服务和能力的架构理念,是一套更好构建和运行云上现代化应用程序的实践方法,是一个更加符合敏捷特征的先进技术体系。

2.云原生的技术线:从体系化到标准化

发展至今,在云原生概念定义的指引下,目前形成了以容器、微服务、Serverless、Devops 等为典型代表的技术体系。其中,各个云原生关键技术点成为产业化提质增效的最佳实践,这些以点串线的云原生典型技术,通过标准化更加有效促进了技术体系的建设应用。标准化的容器单元开创了云原生应用部署的事实标准。容器技术将应用及其所有依赖项打包,使应用不再受环境限制,在不同计算环境间快速、可靠地运行。Docker 容器引擎的开源,在很大程度上降低了容器技术的使用复杂性,加速了容器技术普及,极大提升了系统的应用部署密度和弹性。Docker 镜像的创新应用打包规范,解耦了应用与运行环境,使应用可以在不同计算环境间一致、可靠地运行。借助容器技术,让开发所需要的灵活性、开放性,以及运维所关注的标准化、自动化达成相对平衡。

微服务架构标准化开创了云原生应用模块化设计标准。微服务架构作为一种分解复杂应用的方法,被纳入到软件开发的体系中。通过应用内部的解耦和拆分,以实现更好的可扩展性和故障隔离性。容器技术的出现是使微服务架构走向标准化的关键因素之一,特别是Docker 的普及,为微服务提供了一种统一的、轻量级的部署和运行环境。这种环境隔离技术解决了微服务架构中的许多挑战,为微服务的开发、部署和管理提供了一种一致性的解决方案。面向服务模式的标准化设计帮助应用架构全面升级。服务化架构是符合企业发展需求和应用趋势的新型软件设计方法,通过微服务、服务器无感知(Serverless)、服务化网格等技术,帮助企业实现从单体应用到服务化架构的升级,让企业开发者更关注业务本身,无需关注基础设施,实现应用环境标准化,有效简化应用迁移与托管,提高编排和运维效率。此外,FaaS、BaaS 等为用户屏蔽云端复杂度,简化云应用开发,提高应用开发上线效率。更灵活的管理闲置资源,进一步提升了系统资源利用率。此外,组装式交付通过低代码、应用集成等技术,快速复用基础组件,通过简单的托拉拽实现快速交付新应用。

标准化的统一管控调度实现异构资源的高效协同。智能调度、微服务、动态编排等技术为应用提供了统一的资源池,让多种应用可以混合部署。通过这种面向应用的调度,可在同一集群内支持多种不同的应用类型,借助业务资源请求互补性大幅提升资源使用率、减少应用运维成本。同时,随着应用资源的急剧增加,多维资源调度统一计算节点技术将在调度方面实现资源分层、协同调度,通过屏蔽多元化算力资源差异,以精细化调度进一步实现资源利用率的有效提升。

可观测能力与应用交付管理能力的标准化进一步完善IT 成 本 优 化 。 随 着 云 原 生 技 术 社 区Prometheus、OpenTelemetry、OpenMetrics 等项目发展,应用可观测性领域在日志、监控、链路追踪等领域进一步标准化和融合,使得多指标、根因分析的数据集更加丰富。此外,Kubernetes声明式 API、面向终态的应用交付方式,提供了更加一致的管理运维体验。Service Mesh 非侵入的数据遥测能力以及服务流量管理能力,可以在不修改现有应用的前提下获取更加丰富的业务指标,提高 AIOPS 的AI 层面准确率和覆盖率,并实现以透明的方式对应用进行管理和自动化运维。分布式云原生技术帮助客户统一规划、调度、运维多个云提供商的容器云平台以及不同物理位置的集群资源。关键技术包括分布式云治理、全域应用调度、全域流量调度、流量跨云协同、数据跨云协同等,其中如分布式云治理技术支持多地域基础设施的统一注册、认证、访问、配置、分区管理以及合规治理,提供统一入口和管理工具,降低客户学习成本和操作复杂度。全域应用调度技术帮助用户掌控全域资源动态信息,包括接入位置、网络QoS、可用资源等,根据业务 QoS、亲和性、时长等要求提供不同的全域调度算法和推荐实例资源,协助客户优化成本。

多活高可用、全局负载均衡等韧性技术,实现多活应用部署、自动诊断、MTTR 恢复的分钟级效率。多活高可用可以保证应用在不同的地域或可用区同时运行,提高应用的可靠性和稳定性。全局负载均衡可以根据应用的流量和性能情况,动态地分配和调整请求到最优的服务节点,从而实现负载均衡和故障转移,提高应用的响应速度和用户体验。自动诊断、恢复(MTTR)可以利用智能的监控和分析技术,快速地发现和定位应用的故障和异常,从而实现自动化的修复和恢复,提高应用的恢复时间和效率。在未来支撑企业深度用云的趋势下,驱动计算、存储、网络等基础实施围绕应用将进一步优化,催生构建云原生2.0 技术体系,涵盖软硬协同、服务网格、云原生存储等。深度软硬协同能力为客户提供近裸机体验的性能,同时降低通过软件实现网络、存储等功能的CPU 开销。服务网格则以更加解耦的方式将服务治理能力变成独立进程,对应用访问进行非侵入管理,全面提升应用治理能力。基于独立存储网络通道、Operator 机制等技术,容器存储的共享存储网络吞吐受限,以及虚拟化性能折损、跨级全迁移等难点问题将有效解决。

3.云原生的应用面:从原生化到标准化

云原生“为云应用而生”,为完善云应用的生命周期管理保障,标准化的技术和管理理念,加速推动了以“应用原生化”为核心的持续开发交付、稳定性保障、运维自动化、系统可观测等管理模式变革。云原生应用开发与交付的标准化,有效革新了应用开发模式、提升了软件交付效率。传统开发方法存在过多重复性、烟囱式工作,技术和人力投入成本高,导致软件应用交付周期长、定制能力弱,进一步积压业务需求,难以敏捷响应快速变化的市场需求。DevOps 开发运维一体化通过标准化和自动化方法,显著加快应用开发、测试和部署。通过对DevOps全流程的标准化管理与实施,有效提高“开发->测试->发布->运维”各环节研发工具的支撑能力和一站式服务水平。实现随时随地在云端享受代码托管、代码扫描、流水线管理、代码编译、镜像构建、应用部署发布等功能和服务。此外,DevSecOps 主张将安全性嵌入DevOps 各环节,以便在开发过程早期识别安全问题,作为敏捷、DevOps 的延续和趋势,是打通管理与协同、设计与开发、CI/CD、应用管理、运维、安全可信等全链条各环节的一体化理念、技术和方法。

同时,低代码无代码相关产品标准化,进一步统一产品功能要求、应用范围和服务能力,满足企业对于数字化业务需求快速响应、快速开发的目标。低代码无代码技术降低应用开发准入门槛,使非开发人员利用图形化界面,以拖拉拽方式快速搭建软件应用,以搭积木方式组成满足各类需求的应用产品,减轻对专业工程师的依赖,降低人力和时间成本。此外,应用程序的构建和部署极易出错,在繁杂的代码中识别错误会拖慢开发进度。通过标准化的CI/CD 工具自动将新引入代码进行测试和集成,保证生成可部署的应用,并将其推送至生产环境,极大提升开发效率。

可观测性技术和工具的标准化,保障业务系统稳定运行。云原生体系下的应用由单体架构转换为微服务架构,同时给运维管理带来全新挑战。一方面,数量众多的微服务之间互相调用的关系极为复杂,使用传统运维方式难以掌握业务系统整体的运行状态;另一方面,微服务架构下系统环境动态性增强,每个服务实例存在周期极短,系统复杂度提升而导致日志数据大规模增加,给系统根因定位带来极大挑战。由此,云原生的运维管理也从传统的被动监控系统数据转向主动观测应用关联的各类数据。通过对可观测性相关管理和实施,使得业务系统发生故障时能够迅速进行根因定位,提高故障修复效率。 云原生应用运维标准化,有效保障信息系统的可靠性、安全性和业务连续性。随着企业核心业务系统由云化演变为云原生化,为客户提供更好的安全可靠容灾备份、流量治理等解决方案成为云原生标准体系考量的关键因素。由于云原生稳定性保障工具与传统方式不同,为了更主动的探测系统潜在故障,云原生技术体系衍生出以混沌工程为代表的新型管理工具,充分保障复杂的分布式系统稳定运行。通过标准化的监控、日志和指标收集,帮助开发和运维团队全面了解应用程序的运行状况,及时发现和解决问题,提高应用的稳定性和性能。

在未来,软件业务模块规模化、部署环境多样化、系统架构复杂化等程度进一步加剧,对于软件研发迭代、运维运营保障、企业组织管理等多方面提出了极大挑战。在云原生场景下,软件应用服务围绕需求诉求对应构建,云原生架构将非功能性特性从业务代码中剥离到云计算基础设施中,使得业务开发人员专注于业务逻辑开发,有效降低企业上云用云的门槛和心智负担。随着云原生技术的不断发展,全面云原生时代将为企业数字化和智能化转型,谱写体系化改革新篇章。

 

参考报告

云原生标准体系白皮书(2023).pdf

云原生标准体系白皮书(2023)云原生正成为推动数字化转型和云计算跨越式发展的关键路径。从时代发展看,云原生是顺应数字中国与数字经济建设的重要模式;从产业升级看,云原生加速了全局创新效率与云上生态应用;从技术演进看,云原生代表着先进系统理念和软件生产力。2022年,全国信标委云计算标准工作组(TC28/WG20)研判国内外云原生标准化重要趋势,在工作组下成立云原生专题组,系统性组织推进云原生标准化工作。2023年,工作组报批国内首个云原生国家标准计划,启动了一系列云原生标准预研,并进一步组织产业界开展云原生标准体系研究,编制形成本白皮书。本白皮书主要围绕云原生标准化,研究分析国内外标准化历程和...

查看详情
相关报告
我来回答