云原生技术的内涵之讨论

发布时间: 2024-10-21 03:59:47  来源:天博app 

  当前云计算正迈入以容器和微服务为基本特征的云原生(Cloud Native)时代。如何保证超低延时的应用需求得到充分的满足,丰富的软硬件资源得到高效的利用,是当前云原生系统管理面临的重大挑战。在云原生系统中,应用普遍以松耦合和轻量化的形式运行在容器中,呈现复杂关联和动态交互的特征。对云原生系统的应用做多元化的分析建模和智能管理,对于保障云原生应用服务的品质和维护系统高效运行等都具备极其重大意义。云原生即原生为云设计,意味着应用原生被设计为以最佳的方式在云上运行,从而充分的发挥云的优势。云原生的提出是未解决传统云架构中应用升级缓慢、架构臃肿、不能快速迭代、故障不能快速定位、问题无法快速解决等问题,它的出现标志着云计算进入了一个全新的发展阶段。云原生是一系列云计算技术和管理方法的集合,既包含技术(如微服务、敏捷基础设施等),也包含管理(如DevOps、持续交付等)。

  云原生的概念,最早是2015年由 Pivotal公司的马特·斯廷(Matt Stine)在其所著的《迁移到云原生应用架构指南》(Migrating to Cloud Native Application Architectures)一书中首次提出。同年,谷歌发起并成立了云原生计算基金会(Cloud Native Computing Foundation,CNCF。到2018年,大量公司开始接受云原生的概念,并纷纷加入到云原生的大家庭,阿里巴巴也提出“全面上云且上云原生”战略,因此这一年被认为是云原生元年。云原生不仅能很好地支持互联网应用,也在深刻影响着新的计算架构的变革。首先,云原生支持互联网规模应用,能更加快速地创新和低成本试错;其次,云原生屏蔽了底层基础架构的差异和复杂性;再次,服务网格(service mesh)、无服务器计算(serverless computing)等新的计算范式不断涌现,给整体架构能力带来了极致弹性,从而更好地服务于业务。2019年,国际知名调查研究机构Gartner发布报告称,云原生时代已来,在接下来的三的年中将有75%的全球化企业在生产中使用容器化应用。根据CNCF的定义,云原生包括三个主要特征:1. 容器封装:以容器为基础,提升整体开发水平,形成代码和组件重用,简化云原生应用程序的维护。在容器中运行应用程序和进程,并作为应用程序部署的独立单元,实现高水平资源隔离。2. 微服务化:云原生将应用程序代码解耦成独立模块化单元,降低微服务的部署时间与互依性,提高应用的扩展性等。3. 动态管理:通过集中的编排调度系统来进行动态管理和调度,从根本上提高云原生系统的资源利用率,同时降低运维成本。阿里巴巴是国内最早布局云原生技术的公司之一。早在2011年,阿里巴巴就率先开始了容器化进程,开启了中国公司将云原生技术体系在电商、金融、制造等领域中大规模应用的先河。阿里云也成为国内唯一进入Gartner《公有云容器服务竞争格局》报告的企业。中国科学院深圳先进技术研究院(以下简称深圳先进院)与中国科学院计算技术研究所(以下简称计算所)分别在阿里巴巴创新研究(AIR)计划的支持下参与到阿里巴巴云原生应用平台的联合研究中。尽管云原生技术近两年来受到慢慢的变多的关注但仍处于发展的早期阶段,面临如下挑战亟需解决。1. 云原生底层基础设施异构多核且平台虚拟共享,平均利用率不高以及资源利用不均衡的问题突出。当前云原生基础设施的资源种类非常之多,功能差别也大,不仅软硬件配置上差异很大,访问接口、管理规则等也不完全一样,节点利用率普遍较低,资源浪费严重。2. 云原生上层应用对资源的请求动态多变,且任务间复杂关联,微服务混部且相互干扰,性能存在不可预测性,云原生应用混部运行在容器上,会不可避免地发生资源竞争和干扰,进而导致应用性能不可预测。同时,微服务上下游之间的复杂关联进一步加剧了这样的一个问题。