以下介绍的是云原生应用引擎技术发展展望。
当前的云原生应用引擎技术路线普遍采用代理技术,性能还有很大的优化空间。与此同时,随着业务的复 杂程度飙升,在创新发展需求的不断驱动下,用户的关注点逐渐上移,敏捷成为破局高频竞争的利器。为了提 高开发部署的效率,以应用为中心、屏蔽底层复杂逻辑,灵活扩展、按需取用的无服务器架构 ( Serverless ) 技术成为云时代的迫切需求。Serverless 技术通过将业务功能解耦,逐步把业务应用和基础设施分离,从而使 得开发人员无需关心基础设施的运维工作,只需专注于应用逻辑的开发,简化了开发难度。因此,Serverless 已然成为一种具有广阔应用前景的云原生应用引擎技术新路线。
Serverless 是一种弹性伸缩、按需付费、简化运维的应用引擎技术。Serverless 将应用与基础设施彻底分 离,其核心思想是将提供服务资源的基础设施抽象成各种服务,以 API 接口的方式供给用户按需调用。由于应 用架构堆栈中的各类资源的管理将全部委托给平台,免去了基础设施的运维,使得开发人员更聚焦高价值的业 务领域,专注于应用逻辑的开发,仅在事件触发时才调用计算资源,真正做到了弹性伸缩与按需付费。这种架 构体系结构消除了对传统的海量持续在线服务器组件的需求,降低了开发和运维的复杂性,同时降低运营成本 并缩短了业务系统的交付周期,使得用户能够专注在价值密度更高的业务逻辑的开发上。当前国内 Serverless 的技术生态良好,相关产品层出不穷。例如,在平台层,华为、阿里、腾讯、百度等均推出了云函数计算服务 产品,与此同时, Knative、 Apache OpenWhisk 等开源无服务器架构框架也发展较为成熟;在工具链方面, 蚂蚁金服、腾讯云、华为云、阿里云等国内公司相继开发出了用于应用框架、可视化、测试调试、安装部署的 相应工具。
云原生技术栈已经发展较为成熟,其核心领域已经形成了统一的事实标准。例如,容器编排领域的 K8s、 服务网格领域的 Istio。这些领域的核心技术主要由国外公司主导,我国起步相对较晚,技术创新难度大。相 对于这些云原生核心技术领域,应用引擎领域的技术路线尚未统一、产品形态多样化。因此,云原生应用引擎 领域是我国在云原生产业实现加速追赶、弯道超车的重要机遇,针对该领域的空白快速进行技术突破具有十分 重要的意义。
推进我国应用引擎技术创新是保障云原生数据安全的关键。云原生应用引擎提供了服务网格中东西向通信、 透明流量劫持、熔断、遥测与故障注入等新功能特性,与此同时,它是服务网格数据面唯一的控制系统,控制 着云原生应用数据流转的中转站,其地位和作用在云原生架构中十分重要。由于应用引擎控制着大量的云原生 应用核心数据,应用引擎技术的安全直接关系到国家和企业的信息和数据安全。所以,掌握应用引擎的安全可控, 替换国密算法,采用信息技术应用创新应用引擎是保障我国关键领域数据安全的重要举措。例如,基于 NGINX 开源引擎基础上的云原生微服务 API 网关技术 Apache APISIX 通过设置多种身份认证方式、正则表达式拒绝服 务、替换国密算法等一系列举措保障了其云原生应用数据的安全。因此,为了保障我国云原生信息和数据的安 全,有必要坚持核心技术创新发展、推动云原生国密算法替换、提高信息技术应用创新应用引擎采用率。
部分国内企业已有应用引擎开发经验,已经具备创新基础。当前国内企业在云原生应用引擎的技术研发上 紧跟国际产业发展趋势,例如,通明智云、腾讯云、华为云等企业已经有企业具备应用引擎开发能力。因此, 相较于操作系统,云原生应用引擎技术的技术创新难度要小得多。在现有基础上,国内企业通过联合构建创新 联合体,可以在有限的资源和人员投入下取得重要创新突破。此外,当前的应用引擎技术的难度和复杂度还比 较低。例如,目前的 NGINX 引擎开发人员不超过 57 人,代码量不超过 50 万行。因此,我国云原生应用引擎 取得创新突破的可能性很高。
云原生技术栈高速发展,发展信息技术应用创新云原生应用引擎迫在眉睫。目前,云原生应用尚未全部下 沉到应用引擎,其技术难度和复杂度还相对较低。未来,将会有越来越多的云原生应用下沉到应用引擎,此时 的应用引擎创新难度和复杂度将远远超过现有水平。届时,应用引擎所要承担的功能任务会更多、更复杂、也 更综合,例如:流量劫持透明带、协议自动识别、自动的 ACL 控制、自动安全防护能力、自动遥测功能,甚 至自动故障注入等。因此,现阶段是应用引擎技术快速发展的绝佳时机,将来的应用引擎技术难度会远超应用 开发的难度,技术门槛会越来越高。
开放兼容是信息技术应用创新应用引擎发展的重点。应用引擎技术的创新不是闭门造车,需要广泛吸取借 鉴各种技术的优势和短板,基于现有的比较成熟的项目和技术进行开发与创新。一是应选择主流开发语言。为 了与国际云原生主流应用接轨、保障应用引擎的生命力,应用引擎最好选择 C、Rust 等主流的开发语言。通过 深入学习和参考 NGINX、Linkerd 等经典原型,可以少走弯路、快速构建应用引擎的基本架构。二是需要适配 多种云原生应用场景和主要功能应用形态。应用引擎产品形态涉及了 API 网关、入 / 出口网关、边车、微隔离、 消息代理等。为了提升云原生应用引擎的兼容性,需要支持以上多种甚至全部产品形态。与此同时,应用引擎 还应支持底层国密算法,保障云原生信息安全。三是需要兼容信息技术应用创新类软件和硬件产品。开放兼容 的云原生应用引擎需要构建良好的上下游生态环境,需要兼容信息技术应用创新芯片、服务器、操作系统、数 据库中间件和应用软件等,从而营造出更加良好的产业生态以及更加广阔的技术生存空间。
一是构建应用引擎开源社区,鼓励技术创新。开源社区是云原生应用引擎的创新源泉和主要开发场所,对 于关键技术的创新突破极其重要。然而,现阶段国内尚未形成具有一定规模的云原生应用引擎开源社区,不利 于应用引擎技术的持续创新和发展,不符合国家在云原生领域创新的战略需求。因此,需要通过建立完善的开 源社区来吸引全球范围内相关开发人员参与,扩大影响力,促进技术生态,人才生态和用户生态的深度融合, 在云原生应用引擎产生事实影响力与话语权。通过鼓励更多的开发者、ISV 在开源平台上进行开发交流,形成 反馈 - 调优 - 反馈 - 再调优的良性循环。与此同时,基于开源社区项目,应用引擎厂商可以为客户打造出品类丰富、 安全可靠的开源产品,并在已有产品上不断优化、改进,提升客户使用体验。
二是设立相关的技术研究机构,建立理论创新的长效机制。国内相关科研院校、龙头企业研究部门目前对 云原生应用引擎技术发展的紧迫性和潜在价值尚未统一,未能形成合力,诸多关键技术未能有序布局、合作攻 关。需要企业和科研院校加强合作,成立云原生应用引擎创新研究小组,建立理论创新的长效机制,专注于应 用引擎的理论研究和技术突破。通过企业和科研机构联合设立创新研究小组,可以推动应用引擎技术与产业供 需对接、提高云原生应用引擎创新能力及产用链接,促进资源共享和互利共赢,从而形成联合开发、优势互补、 利益共享、风险共担的合力。
三是加强产业互动协同,构建政产学研用生态体系。云原生应用引擎技术的快速发展离不开产业上下游互 动以及联合政产学研用各单位共同创新。通过建立企业与各单位之间的应用引擎需求牵引机制,企业可以快速 了解产业上下游、政产学研用各单位的应用引擎功能需求,并得到相应的资金支持,以创新项目团队为核心, 根据不同单位的真实需求进行相应的技术开发与创新。在此过程中,可以联合其他各单位的科研人员,打开新 思路、尝试新方法,实现技术突破和功能创新。通过建立长期的产业合作关系,不断加速应用引擎技术的科研 成果落地,实现真正的核心技术。