信创软件栈生态准备度及选型评估
现代应用软件功能日益丰富,代码规模大,多采用组件化分工协作,不同组件还可能由不同组织提供和维护,相互依赖关系复杂。因此需要从IT技术全栈视角审视支持多样性算力适配和迁移的条件。
上篇参考文章“国产处理器及ARM发展策略建议”。如下图所示,典型的软件技术栈具体包括操作系统、虚拟化、数据库、中间件、应用软件等层次。
一、操作系统(OS)
为更好地适配多样性算力,建议从生态、功能、可靠性、安全性和服务支持能力几个维度开展
操作系统综合评估和选择,以满足上层应用迁移适配的要求。
1.生态上,OS要能同时适配多样化的CPU算力底座,要支持鲲鹏、飞腾等ARM芯片,要能适配主流板卡,包括但不限于网卡、RAID卡、GPU卡、硬盘等设备。
供应上要基于开源社区打造多元化OS底座,既与国际主流社区保持回合同步,又可以独立演进不受极端情况断供的影响;选取软件包时要能覆盖90%以上的客户场景,并能做到版本间的前向兼容;
2.功能上,OS要能提供上层应用必需的能力。包括OS必须集成满足一定性能要求的编译环境(gcc、jdk)和动态库(glibc),必须集成主流开发语言(如python等);此外,OS还要对常见业务提供基础的底层支撑,如能提供基于KVM、QEMU的虚拟化能力,提供基于docker、k8s的容器能力等;
3.可靠性上,OS要提供良好的可靠性保障:如能对内核崩溃提供快速的定位、恢复机制,能对可靠性要求较高的容器、虚拟化提供额外的可靠性保障;
4.安全方面,OS需要具备完善的安全能力:要能根据影响程度及时修复影响较大的CVE漏洞,并在官方网站上发布修复公告,能提供完整性度量、机密计算等高级安全特性,做到OS层面的高可信、高安全度;
5.服务支撑方面,商用OS需要考虑OSV的团队服务能力,非商用OS需要考虑社区服务能力。当前支持ARM平台的国产商用操作系统包括银河麒麟、麒麟信安、统信、普华、拓林思、傲莱等,开源操作系统包括SUSE,openEuler等。
二、虚拟化
首先应推动包括QEMU-KVM、OpenStack、Docker、K8s等为代表的开源虚拟化层软件支持多样性算力。其次,在虚拟化软件层建立基准要求,能纳管不断丰富的IT基础设施,包括x86/ARM等不同指令集架构的硬件,支持不同架构硬件资源池的混合部署,助力用户应用朝着更敏捷、更高效、更多元的方向发展。
为更好地适配多样性算力,建议从生态、功能、性能、可靠性和安全性等几个维度开展虚拟化层软件的综合评估。
1.在软件生态上,针对多样化CPU算力底座进行适配时,需要制定基准要求来统一虚拟化软件的生态,要求屏蔽不同CPU架构的差异,除x86外,还要能支持鲲鹏、飞腾等ARM芯片,支持不同架构资源池的混合部署,从而为用户提供差异化的选择;在适配多样化CPU算力底座需要考虑的主要包括:
网卡等硬件驱动适配 BIOS适配 HostOS内核升级及适配 Switch卸载特性 NUMA特性 虚拟层管理软件编译
2.从功能上,虚拟化层软件需要提供必须的基础能力,包括CPU虚拟化技术、内存虚拟化技术、IO虚拟机化技术等,支持跨主机热迁移、智能内存复用、虚拟机高可用、动态资源调度等关键特性;在硬件支持情况、设备的驱动支持和Host/GuestOS的操作系统支持等方面要能在多类型的硬件平台混合部署,实现更灵活更好的扩展性;
3.从性能上,技术路线的发展应该支持处理器架构发展方向为更高密度的核数,更低的功耗,更强的性能,比如提升单VM计算性能及整机VM计算性能,降低整体TCO;
4.可靠性上,虚拟化层软件能支持包括虚拟机HA、虚拟机热迁移、虚拟机负载均衡、故障检测等特性;
5.安全方面,虚拟化层软件安全解决方案需要从不同层面解决。在物理资源层可以通过可信计算技术来保证主机硬件(BIOS、操作系统引导程序等)的安全性;操作系统层通过Host/Guest OS的安全机制来保障操作系统的安全可靠;在虚拟化层可以通过Hypervisor安全机制或者虚拟机自省技术确保虚拟机监视器的安全运行。
三、数据库层
为更好地适配多样性算力,建议从业务场景、可迁移性、性能、高可用、安全等几个维度开展数据库综合评估和选择,以满足上层应用迁移适配的要求。
1.在业务场景上,数据库要支持多引擎,要能同时支持行存引擎、列存引擎、内存引擎等多种引擎模式,来充分支撑交易型、分析型、高性能等不同的业务需要;同时要考虑不同类型数据库间的迁移,要考虑所选数据库具有良好的语法兼容性;
2.性能上,数据库要能满足高性能场景的业务诉求,包括高tpmC和高并发下的稳定性。数据库要能充分利用ARM多核NUMA的特点,对数据结构做NUMA分区化改造,比如部分厂商的2路服务器,可以达到150万的tpmC,在高并发(800并发)时仍能保持稳定的性能。对于更高性能要求的数据库场景(如CRM、Boss),推荐引入4路服务器;
3.高可用上,要求数据库能在一定负载强度、一定业务量下达到能满足业务需求的RTO时间(故障恢复时长),比如60%负载、70+万tpmC下建议能满足RTO<10s;
4.可迁移性上,标准须约束数据库具备完整、可靠的手动/自动迁移流程/规范,可以对自动化方式实现主流数据库迁移提出要求,可以对迁移成功率设置最低标准(比如90%以上);
5.安全性上,数据库需要在运行安全和存储信息的安全两方面满足安全诉求,需要能对核心数据的存储做到加密,需要有一定的防漏洞、防攻击机制,需要能对敏感数据做到匿名化。
当前已支持ARM平台的国产数据库厂商包括海量数据、云和恩墨、虚谷伟业、神舟通用、人大金仓、达梦、南大通用、阿里、腾讯、电信自研数据库(TiDB,Teledb)、东方国信行云数据库、思特奇iddbs、亚信antDB等,开源数据库包括openGauss、MySQL、PG、MariaDB等。
四、中间件层
中间件与操作系统、数据库并称三大核心基础软件,为上层应用软件便捷、通用和标准化的研发提供了强有力的支撑,通过服务或者服务组件来实现更高层次的复用、解耦和互操作。当前,对中间件的选择,从供应来源上来看,推荐从持续投入研发、创新以及服务能力建设且聚焦基础软件的厂商如宝兰德、东方通等供应商以及开放性较好的开源软件中选择,呈上启下,连接好底层软件和上层应用,端到端做到对多样性算力的支持。
五、应用层
当前,在数据量爆发性增长、行业应用场景需求差异化以及运营商业务模式多元化变革的趋势下,电信云面临从架构到底层硬件基础设施的全面升级。
IT云方面,随着运营商业务模式更加多元,IT支撑系统业务逻辑更趋复杂,实时数据处理、高并发数据处理、大数据分析等技术需求不断扩大,容器化部署、分布式处理等场景加速向CRM、BOSS、MSS等核心系统渗透,需要底层IT基础设施在并行计算、内存容量和带宽等方面提供更高能力匹配。
网络云(电信云/CT云)方面,基于NFV技术的解决方案已成为运营商核心网扩容和新建的优选考虑。5G核心网采用原生云化设计思路和微服务架构,将网元功能拆分为细粒度的网络服务,“无缝”对接云化NFV平台轻量级部署单元,为差异化的业务场景提供敏捷的系统架构支持,核心网容器化、硬件资源池化成为发展方向,对底层计算架构的多样性、负载能力和计算效率提出新的要求。
在边缘节点,为应对大视频、物联网等各类高带宽和低时延的边缘计算类业务,电信云计算能力向移动边缘节点下沉,以实现网络业务、服务及应用更快的分发下载速度,从而有效缓解核心网压力,提升用户网络体验,边缘数据中心IT基础设施将面临计算、存储等网络能力的全面提升以实现大流量、高并发、低时延的本地数据处理能力。
服务器算力篇:
温馨提示:
扫描二维码关注公众号,点击阅读原文链接获取“架构师技术全店资料打包汇总(全)”电子书资料详情。
微信扫码关注该文公众号作者