深度解读:企业IT信创建设和选型实用策略
2023.08.10企业信创背景
信息技术应用创新发展是目前的一项国家战略,也是当今形势下国家经济发展的新动能。发展信创是为了解决本质安全的问题,也就是说,把它变成我们自己可掌控、可研究、可发展、可生产的。
发展信创是受国际形势的驱动。中美关系持续紧张,美方一方面通过所谓的实体清单,对我国的高科技企业进行无端制裁,希望借此摧毁我国的信息技术基础能力;另一方面又通过各种途径阻挠高端芯片对中国的出口。2019年5月16日,美国商务部以国家安全为由,将华为公司及其70家附属公司列入管制“实体名单”,禁止美企向华为出售相关技术和产品;后续又分批将中科曙光、天津海光、长江存储等一批芯片厂商列入实体清单。2022年8月份又通过《芯片与科学方案》,美国拿出800亿美元左右的政策补贴支持半导体企业发展,而获得相关补贴的企业将不得在中国新建或扩建生产基地,而且在以美国为首的半导体产业联盟中,亚太地区的韩日台组成Chip4,用以限制与孤立中国半导体的产业发展。9月14日美国国会参议院外交委员会通过了《2022年台湾政策法案》,直接提出在台海发生冲突时,则制裁美国所指认的中国军政官员每一个人和中国几乎所有国有银行等金融机构、石油和天然气的开采和生产企业煤炭开采、生产企业矿物的提取和加工企业;和总统决定对其实施符合美国的国家安全利益的制裁的任何其他部门或行业。
发展信创也是国家的一项基本战略。信创产业作为战略性新兴产业,国家不断出台相关政策对行业的发展进行支持。政策扶持对于信创产业发展推进的意义重大,我国信创产业竞争力不断突破,国产化进程稳步推进。2019年我国提出发展信创产业,随后出台了一系列支持政策,2020年作为信创发展元年,国家一连颁布五项政策对信创产业发展规划提出相关规定。2022年开始政策重点提及“数字经济”、“数字政府”和国家信息化。
信创技术IT现状
-信创技术栈
按照信创的要求,需要全栈使用信创技术。这意味着从芯片到应用,全部要满足信创要求。典型的一个应用运行时的技术栈如下图。在信创的选项过程中,实际上就是从对这个技术栈进行选择。
目前的信创几个技术路线,都是以芯片为基础,芯片也是整个信创技术生态中的决定因素,而几个信创芯片之间完全独立的芯片架构,决定了选择了某个芯片后,上层的技术栈基本就定型了。所以走哪个芯片的路线选择,显得尤其重要。信创芯片主要分为两大类,一类是消费级的芯片,用于台式电脑,笔记本和移动设备,例如我们熟悉的麒麟、海光3XXX系列、龙芯3AXXXX系列、飞腾和兆芯等;一类是服务器级芯片,用于企业级服务器,例如鲲鹏、海光7XXX、龙芯3CXXXX系列、飞腾和申威等。
消费级的芯片都有自己的生态,相对完备,主要考量点在于对现有软硬件设备的兼容支持。如金融行业大量使用的打印机具,密码卡等的正确加载,现有客户端软件的支持能力,大部分的芯片厂商都提供虚拟层,二进制代码重编译等技术,协助客户将现有的客户端软件移植到新的环境中。如果考虑后续要将信创机器作为研发机器,对工具类软件的支持也是一个必须考虑的点,很多开源项目本身都是支持x86和ARM两个指令集的,在工具上有更多的选择。
服务器级别的芯片选择,就相对复杂。一方面,企业级的业务应用一般有着比较长的生命周期,切换技术栈的成本相对较高;另外一方面,企业级应用要求都有一定的非功能需求,比如可用性,性能等,需要选择的平台可以满足这些非功能需求;再次,还有迁移的难度需要考虑,进行信创迁移不是所有业务系统推倒重来,有没有迁移工具也是需要考虑的。
-信创芯片
下面表格是个人整理的几个主要信创芯片的信息,可供参考(数据来自互联网,如有错漏,欢迎指正):
选择不同的芯片,决定了上层的操作系统和中间件的技术栈,选择芯片的时候,芯片的生态,性能和扩展能力都是考虑的要素,但是目前来说,能否持续供货也是一个必须考虑的重要要素。由于众所周知的原因,目前国产芯片的供货受到很多限制。芯片的制造是一个对技术要求很高的产业链,哪一个环节的短板都可能影响供货。
原材料包括硅材料、光刻胶、清洗材料等材料制造,这些都属于后期制造的原材料和耗材,随着芯片精度的提升,对工艺要求也越来越高,由于规模效益和技术门槛,目前全世界的原材料都被几家大厂垄断。
芯片设计除了前面说到的芯片架构和指令集的的IP之外,最重要的就是电子设计自动化软件,简写EDA,电子设计自动化(英语:Electronic design automation,缩写:EDA)是指利用计算机辅助设计(CAD)软件,来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。该软件需要长期的积累,目前也被几家公司垄断。由于是纯软件,目前已经有相当的国产替代方案。
芯片制造就是我们经常提到的晶圆制造,通过光刻机将集成电路蚀刻到晶片上,我们通常所说的7nm技术和3nm技术就是指制造工艺,7nm指的是晶体管的栅极宽度,通常也认为是晶体管导电沟道的长度,这个数字越小,单位面积的芯片上可以集成的晶体管越多,性能就会越强,能耗也会更优。目前制造工艺中最主要的是光刻机,高端的光刻机基本被荷兰的阿斯麦(AMSL)垄断。光刻机是一个国家高端制造的代表,也是我们目前被卡脖子最严重的环节,由于目前的的晶体管结构FinFET已经到达了瓶颈,希望国内厂商可以通过新技术实现弯道超车。目前高端芯片制造厂商主要是台积电(TSMC)、三星和Intel,台积电是目前全球最大的芯片代工厂,技术基本领先其他厂商半年以上,AMD、高通骁龙等高端芯片都是台积电代工。国内主要的芯片制造厂商是中芯国际,但是也受到光刻机等方面的制约,需要遵循美国的实体清单要求。
芯片封装和产品测试,简称封测,是芯片的最后一道工序。封装工序(Packaging):是指生产加工后的晶圆进行切割、焊线塑封,使电路与外部器件实现链接,并为半导体产品提供机械保护,免受物理、化学等外界环境影响产品的使用。测试(Test):利用专业设备,对产品进行功能和性能测试。中国在封测领域的全世界市场份额相对较高,长电科技是世界前三的封测企业。
综上所述,一块芯片的诞生设计到的工艺和环节的配合,不管哪一个环节的问题都会影响最终的量产。在这方面,只有靠我们自己的技术突破,相信在不久的将来,我们还是可以突破、摆脱国外的制裁和极限压制,但是短期内,针对信创的要求,要如何选择信创的技术路线呢?
企业IT信创建设策略
金融行业和其他大型企业一样,承担了国家信创战略的落地责任,金融行业更多承担的是信创的应用实践。由于信创的很多技术,相对于金融行业已经非常成熟的主机架构,甚至是x86的云计算平台,都相对不成熟,特别是在生态体系建设方面,目前的差距还比较大,所以在信创的建设过程中,如何选择一个正确的技术方向,是每一个企业都想了解的问题,但是这个问题目前没有一个明确的答案。
目前信创技术栈的建设应该是立足当前,在满足信创要求的情况下,兼顾未来长期的发展,将技术栈频繁切换导致的业务影响降到最低。
一,尽量使用跨平台的语言进行应用改造。不同的芯片采用不同的指令集,如果使用非跨平台的语言,程序需要重新编译,还可能因为大小端等问题,导致不可预测的问题。使用平台无关的语言,比如Java,Python和ECMAScript可以避免应用重新编译,虚机和编译成还可以屏蔽底层容器的差异。虽然很多平台都可以提供迁移程序,甚至是二进制直接转译成目标版本的代码,建议只是用于应急或是外购产品,及确实无法重构的情况下,否则后续出现问题时,处理的成本会大大超过对应用进行重构。
二,使用容器等中间件技术将业务和底层基础设施进行隔离。综上所述,由于目前信创的技术栈还存在比较多的变数,最明智的方式不是押宝哪一技术栈,而是在信创的迁移过程中,尽量的使用标准的中间件来隔离业务的底层基础设施。容器是目前应用交付最有效的方式,目前的信创操作系统都是基于Linux内核,原生支持容器方式运行,实现容器化的不仅是信创的要求,也是企业应用交付的云原生化改造的要求。
三,尽量选择广泛使用的开源技术和遵循开放的标准。现代的应用很多要依赖于各种中间件和服务,比如数据库、消息中间件等。选择数据库和消息中间件的一个主要原则就是符合主流技术和标准。比如关系型数据库方面,尽量采用标准SQL的语法;在选择开源技术的时候,尽量选择主流的技术。这样在技术栈迁移的时候,找到替代版本的可能性大大提升,避免每次迁移都需要进行技术重构。
企业IT信创选型策略
在目前信创技术发展不是太明确的情况下,在满足上一节的技术建议前提下,尽可能的避免后续技术栈的频繁切换也是决策的最重要依据之一。本节内容根据自己在企业的实践进行总结判断,只代表个人意见,仅供参考。
1、云平台
这里将云平台作为选型优先考虑的因素,云是目前企业最重要的IT基础设施,借助云的能力(如容器)可以降低迁移难度。云平台选择的因素很多,包括对信创能力的支持,而反过来云平台对技术栈的支持,也会影响后续芯片类型、操作系统的选型,所以建议信创选型从云平台开始考虑。
2、芯片
芯片是选型的重头戏,不同芯片采用不同的架构指令集,不同指令集之间的应用是不通用的。所以选定了芯片,意味着选择了一个大的技术方向。
-桌面版的芯片
桌面程序的特点是:对性能要求不高,通常只要满足办公需求;需要适配大量的软件,这其中包括通用的、定制的和自研的;需要对接大量的外设,特别是柜面的终端,需要对接大量的打印机、扫描仪和摄像头等。所以兼容性方面是首要考虑的,在不考虑供货能力的情况下,x86架构的信创芯片是首选,和现有相同的指令集可以保证大部分桌面工具都可以顺利移植;ARM的芯片是次之的选择,ARM的指令集也被广泛使用,很多开源软件都有ARM版本;对于部分专用的终端,可以考虑使用龙芯,主要看专用系统的适配能力。
-服务器版的芯片
服务器和桌面不同,对性能和稳定性的优先级要高于兼容性的考虑。目前来看ARM的KP的性能优势比较明显,从短期的备货来看,也是目前最好的一家,长期来看,也是最有希望持续供货的一个芯片。对于一些外购的,没有能力进行平台迁移的系统,x86架构的芯片仍然是最好的选择。
3、操作系统
目前几乎所有的信创操作系统都是基于Linux内核,这块对于应用的影响比较小。选择的话有三个方向,开源操作系统、发行版本和互联网厂商的系统。开源操作系统的选择建议选择社区活跃的国内操作系统,可以参照开放原子开源基金会的开源操作系统清单;操作系统发行版本目前的厂商也很多,每个厂商还提供基于不同开源的发行版;最后一个选择是各大互联网厂商的操作系统,主要是和上层配套的。选择的原则一是必须符合信创要求,Kernel版本满足应用要求。发行版本是首选,但是如果有专业的团队,而且有定制需求,可以尝试在非重要场景使用开源的操作系统。
4、关系数据库
国产关系型数据库目前选择也比较多,针对不同的场景,可以选择3-4个数据库作为主要的关系数据库。类型可以包括:
-MySQL平替
这类数据库应对的是比较简单的OLTP交易场景(对于复杂场景,如果能通过应用进行解耦,同样适用),这类数据库选择相对较多。
-Oracle平替
这类数据库要求较高,目前能够全面平替的国产数据库还没有,但是某些方面接近或是超越还是有些可以选择的。
-数仓平替
目前数据仓库以MPP(Massively Parallel Processing,即大规模并行处理)数据库技术为主,国内有好几个厂商,传统的数仓也有一些厂商提供。
-分布式数据库
分布式数据库是当前的技术潮流,在部分应用场景,确实可以大大简化应用的部署复杂度,但是业务范围也受到一定的制约,这个方向是国产关系型数据库的主要突破方向,很多都是以MySQL或是PostgreSQL作为底层引擎进行分布式改造。也有部分是原创的分布式,需要根据业务特点进行选择。
5、其他
信创还涉及各种网络设备、中间件的选型,由于这些产品标准化程度较高,主要考虑性能测试,服务能力,这里不再赘述。
结语
从目前的形势来看,信创能力建设是以后一段较长时间的IT基础投资的主流方向。在相信信创能力会不断完善的同时,也要看到迁移过程中可能带来的风险,做好两手准备,稳健而实际的推动信创的发展。