开源发展与开发者专题 | 通明智云总经理吴若松:NJet云原生应用引擎自主创新之路
2024-01-15 14:37:30
编者按
开源孕育于软件,发展于数字经济,是开放、协同、共享的新型生产方式,对于新时期推动经济发展、科技创新、文化繁荣、社会治理、开放合作、共同富裕具有重要意义。长期以来,中国始终秉持开放、融通、互利、共赢的合作观,积极融入全球产业链供应链,基本构建了规模大、体系全、竞争力较强的产业体系,为开源发展提供了土壤、积蓄了能量、创造了条件。
为了更好地宣传中国开发者在开源技术领域的贡献和创新,帮助更多人更充分了解开源和开发者对中国技术创新发展的贡献和意义。开放原子开源基金会和中国电子报重磅推出“开源发展与开发者”专题报道,邀请开放原子开源基金会理事长、两院院士,以及基金会旗下的重点开源项目、头部科技企业负责人和专家撰写署名文章,分享对开源技术和开发者的见解和实践经验。
在数云时代的今天,WEB应用已经成为人和机器连接云计算、互联网用来获得知识、传递信息的主要媒介,是互联网实现价值的关键。从部署规模来说,WEB服务器软件的部署数量远远超过数据库的部署数量;从重要性方面来看,为保证互联网应用的安全、高效、稳固、可控运行,WEB服务器软件已成为IT架构的必要组件。可以说,WEB服务器软件是新一代关键基础软件的核心代表。除了WEB应用以外,互联网演进过程中还涌现出许多新型网络应用软件,它们包括消息中间件、应用中间件、流媒体服务软件、API网关软件和应用代理软件等等。由于这类软件底层技术基本一致同源,为了便于归纳和分类,这类服务器应用软件统一定义为应用引擎。
应用引擎是面向互联网和云原生应用提供的运行时组态服务程序,具备应用和内容交付、环境感知、安全控制、加速优化等功能,一般包括Web服务器、流媒体服务器、代理(Proxy)、中间件、API网关、消息队列等产品形态。互联网时代国际主流的应用引擎包括NGINX,APACHE,IIS等。在云原生时代有许多新的轻量级应用引擎涌现,包括NGINX(C语言)、Envoy(C++语言)、Linkerd(Rust语言)等。
在云原生架构中,应用引擎作为服务网格的数据面,除了提供南北向通信网关的功能以外,还提供了服务网格中东西向通信、透明流量劫持、熔断、遥测与故障注入等新功能特性,其地位和作用在云原生架构中变得愈发重要。
应用引擎作为云原生架构的数据平面
当前,IT架构已经从主机系统架构(Main Frame,上世纪60年代起)、客户端服务器架构(Client/Server,上世纪90年代起)演进为云原生应用架构(微服务架构,2015年起),市场上三种架构并存。其中,主机系统架构已逐渐退出,客户端服务器架构仍是主流,云原生应用架构市场占有率正不断提高。
客户端服务器架构下,应用引擎市场格局已基本固化。应用引擎的市场格局主要经历了四个阶段:2000年前“百花齐放”,2000年~2014年,Apache(开源)“一统天下”;2014年~2019年,微软IIS(非开源)成为市场主流;2019年至今,NGINX(开源)凭借高效、高并发和扩展性强的优势成为市场领导者。据Netcraft统计,截至2023年10月,NGINX引擎部署数量高达10.4亿,全球占比38.87%。
云原生应用框架下,应用引擎尚未形成技术垄断。该架构下,为支持应用的快速迭代,应用功能已解耦成多个微服务,应用引擎不仅需要支撑人机交互(南北通信),还需实现微服务间的信息/数据交互(东西通信)。目前,NGINX是南北通信的主流引擎;东西通信引擎方面,在不到十年的时间内,已从早期美国的Kube Proxy演进到Envoy、NGINX等多个引擎并存局面,新旧引擎不断更迭,还未形成技术垄断。
应用引擎领域,我国一直处于跟随状态,不掌握核心技术。据初步统计,基于美国f5公司的NGINX开源技术的引擎在我国部署占比超过50%,已形成垄断格局,在金融、通信、政府等行业和领域占比更高。新冠疫情期间,全国各省市新冠疫情防控所使用的健康宝类应用均采用NGINX引擎。这对供应链管理提出了更高要求,尤其是金融、政府等关键应用的稳定可靠运行以及国家网域空间安全等领域。一旦出现风险,我国应用引擎的功能性与国际水平的差距将进一步拉大,对我国互联网应用服务的国际竞争力以及我国数字经济发展将产生较大的负面影响。
目前云原生应用架构还处于初期阶段,与之相关的应用引擎技术还远未定型,我们有机会在IT架构迁移(客户端服务器架构向云原生应用架构迁移)的窗口期,通过吸收、转化NGINX核心技术,开发全新的自主创新云原生应用引擎,实现国际并跑。
2021年12月,通明智云(北京)科技有限公司在北京经开区国家信创园成立,开始布局NJet应用引擎的自主创新研发工作,主要以NGINX 1.23.1开源版本为基础,进行内核重构、安全加固、功能增强开发,形成自主创新的NJet云原生应用引擎,实现NGINX不具备的在云原生架构下提供东西向应用流量控制能力、增加国密算法的SSL通信能力、兼容Kubernetes容器编排和Istio服务治理框架,具体包括:内核重构(运行时动态配置加载能力包括Location、证书、Server动态加载等)、安全加固(包括HTTP3协议国密算法支持、RSA/国密自适应双证书体系认证、RSA/国密双证书吊销列表管理等)、功能增强(包括透明流量劫持、故障注入、高性能遥测、多协议自动适配与代理、WASM支持模块等)。
经过近一年的技术攻关和生态建设,现初步测试,NJet应用引擎在云原生技术架构中性能优于美国CNCF推荐的云原生应用引擎。下一步,将把NJet1.0开源版本捐赠给开放原子开源基金会,完善NJet应用引擎开源生态。
NJet应用引擎作为开源项目,属于云原生底层核心技术开发,具有开发技术难度大、周期长、资金密集、知识密集的特点,需经过较长期的产品迭代和生态建设;同时,NJet云原生应用引擎对于我国布局信息技术自主创新,具有填补国内技术空白、完善云原生自主创新产业链的重大意义。
展望未来,我们相信以应用引擎为战略突破口,开展云原生技术架构的自主创新实践,必将能够开创我国云原生技术领域的自主创新新局面。
访问“开放原子”视频号
观看2023开放原子开发者大会回放
2023开放原子开发者大会 · 目录
上一篇开源发展与开发者专题 | 统信软件高级副总经理、CTO张磊:持续攻坚操作系统核心技术,服务广阔的数字化时代下一篇开源发展与开发者专题 | 华为首席开源联络官任旭东:秉承开源精神,释放开源商业与社会价值
开源发展与开发者专题 | 统信软件高级副总经理、CTO张磊:持续攻坚操作系统核心技术,服务广阔的数字化时代
2024-01-15 14:36:35开源孕育于软件,发展于数字经济,是开放、协同、共享的新型生产方式,对于新时期推动经济发展、科技创新、文化繁荣、社会治理、开放合作、共同富裕具有重要意义。长期以来,中国始终秉持开放、融通、互利、共赢的合作观,积极融入全球产业链供应链,基本构建了规模大、体系全、竞争力较强的产业体系,为开源发展提供了土壤、积蓄了能量、创造了条件。 为了更好地宣传中国开发者在开源技术领域的贡献和创新,帮助更多人更充分了解开源和开发者对中国技术创新发展的贡献和意义。开放原子开源基金会和中国电子报重磅推出“开源发展与开发者”专题报道,邀请开放原子开源基金会理事长、两院院士,以及基金会旗下的重点开源项目、头部科技企业负责人和专家撰写署名文章,分享对开源技术和开发者的见解和实践经验。
上一篇AtomGit教程 | v0.8.0版本震撼升级,11大功能抢先看!
2024-01-15 14:39:54亲爱的开发者们,我们很高兴地宣布,AtomGit代码协作平台已经实现v0.8.0版本的全面升级!在这一重大更新中,集成了AtomGit技术团队在过去数月来开发的诸多核心功能,旨在进一步强化代码协作的安全保障,并显著提升使用便捷性。
下一篇