信息系统架构与国产替代

1、概述

  以前我们讲国产替代主要是说国产"CPU"、”操作系统“、”功能芯片“等单个器件或系统,而随着近几年的发展,国产替代已初步具备了一定规模,能实现从电子元器件、底层硬件、芯片到操作系统的全面替换。本文就是结合近期所思所学对国产替代这一概念进行系统性的总结,并分析目前存在的问题和未来改进方向。

2、信息系统的基本架构

  信息系统是由软硬件组成的复杂系统,一般认为其组成部分包括服务端、网络和客户端,而单个组成部分又由更多的模块组成,如下图所示是一个简单的示例,列明了信息系统主要的组成部分也是我们比较关心的部分。

信息系统架构与国产替代_第1张图片

 2.1、服务端

  服务器:服务器是服务端的硬件,服务器本身其实也是一个复杂系统,组成部分包括“主板、网卡、内存、硬盘、CPU”,看起来其实跟我们家里的台式机差不多,但我们对服务器的要求比台式机高很多,比如长期运行不能断电、长时间不关机、更多的内存、更大的硬盘。虽然说起来要求很高但其实除了CPU外其他部分都比较容易,国内有大量的集成厂商可以做,比如联想、浪潮、华为等等。所以我们说服务器的国产化最主要还是说CPU的国产替代。

  CPU:目前主要区分有x86和ARM两种不同架构路线,x86就是与我们常见的Intel一样,但只是其指令集用的是一个体系而并不是说就与Intel的CPU一样了,现在主要是兆芯和海光两家能做这个。而ARM架构主要是飞腾(中国电子)和鲲鹏(华为)两个品牌,无论是x86还是ARM其背后还有复杂的授权问题,很多人在网上吵这个问题吵的很厉害,但我的意见是有的用、能凑合用就不错了还想啥自行车呢。因为CPU是如此重要,所以是先有CPU,集成厂商再围绕其不同的特性来设计和生产服务器、PC或手机。

  操作系统:我们常说CPU是国产化的“心”,操作系统则是国产化的“魂”。CPU决定了服务器的基本性能,而目前看来跟国外的通用服务器比大差不差的,不行咱多装点内存多加几个核嘛。所以操作系统好不好、稳不稳就比较重要了。目前比较常用的有统信和麒麟,都是基于linux改来的。那么网上也有很多人说你这个跟人家linux差不多,甚至直接就是Ubuntu的发行版,国产化了个寂寞?其实这是对商用不太了解,比如Ubuntu上能跑WPS不?能跑微信、能跑QQ不?还有大量的外设需要支持,比如打印机、投影仪啥的,以及数据库和应用软件的适配,这都需要大量的工作。国产操作系统目前主要工作就是在前人工作基础上增加对外设和应用软件的支持,另外桌面版操作系统还需要做用户界面。以前呢大家可能看不上这些,因为linux系统不需要那么多外设和应用软件支持,但现在情况不是变了嘛。对于服务器版的操作系统主要是适配各种国产数据库、国产CPU、国产应用系统,对于桌面版呢就是要适配上常用的办公软件。

  数据库:无论什么系统都存在一个核心的问题,那就是要存数据,比如你在银行的账户就需要有个叫数据库的东西把你的信息、交易记录、关联信息等等存起来,在你使用银行系统的时候还需要能快速去查找出来完成你的业务,你做了任何操作还需要快速写到数据库里记录起来。所以信息系统中数据库是非常重要的,本质上它也是个应用程序,但如此重要以至于需要单独列出来。国产数据库主要有两个路径,一是搞替代而且主要是Oracle的替代,因为商用系统的大头其实是Oracle。二是搞分布式,前些年分布式数据库在商用领域的应用其实不多(主要是互联网企业自己开发自己用),但现在也是情况有所变化。首先是集中式数据库领域你是真搞不过人家,在系统评估的时候各项指标都无法跟人家比还咋替代,干脆就另起炉灶。另外是现在国内对分布式的认可已经达到了迷信的程度,你这个系统不搞成分布式的感觉上就不高端,所以分布式也成了建新系统的必选项。

  中间件:这个东西的定义其实比较宽泛,很多时候只是个代称并没有特指某个软件或系统。最常见的就是消息中间件,用于沟通不同系统间的信息,因为比较重要所以有专门的开发商来做这个。它本质上也是个应用软件,但提供了统一的接口,可以方便多个不同系统间的信息交互。还有个web中间件,比如Tomcat、weblogic啥的,提供web server服务。所以这个定义很宽泛。中间件这块主要工作是适配操作系统,还有满足应用系统的需要。

  应用软件-server:就是提供各种服务的后台应用软件,比如我们使用的微信叫客户端软件,背后其实还有很多服务端软件,举例来说微信聊天功能对应一个应用服务,朋友圈功能可能是另一个应用服务,一个完整的信息系统就是由运行在后台的成百上千个应用服务、数据库,再加上你使用的客户端软件构成。应用软件存在的最大问题是开源库,我们理解的开源软件应该是大家都能用对吧,但开源无国界,开源托管平台却是有国界的。开发系统的时候我们不可避免地要使用到各种开源库,另外还有一些成熟的框架,比如Spring,你说我做java开发Spring都不能用还咋弄?当然目前是还能用的,但是咱得考虑“万一”那天就不能用了,所以对于应用软件来说开源库的使用就是最大的挑战。

2.2 网络

  网络是个总的概念,实际是由各种设备、服务器、防火墙等等组成的通信系统,一般由服务端网络、运营商网络、本地网络组成,其中运营商网络你可以看成是一个黑盒子,他们使用的是华为设备还是思科设备我们不得而知,但想来应该早就完成了国产替代(毕竟便宜的多)。本地网络其实也早就国产化了,谁家里会买个进口的路由器呢对吧,公司里也都是用国产的,因为没必要嘛。那么主要工作就在服务端了,服务端组网国产替代是存在难题的,主要是性能和安全两方面。华为的设备自然是够用,但在网络的核心节点,比较大的机构还是用进口的居多,前几年采购的时候,你能看到各项指标其实是有明显差距的。另外防火墙国外的产品他的延时确实是比较优秀(当然很贵),也就是网络和安全设备在一般应用中国产占优势,但是在高端应用中进口还是有优势的,要把这部分替换了需要下大决心。不过也不是没有突破口,因为现在大家都在搞分布式、去中心化,所以从系统架构上解耦对核心设备的依赖是个重要方向。

2.3 客户端

  终端设备:包括且不限于我们使用的手机、电脑、平板等,主要有两个方向,一是工控领域,另一个是消费领域。工控领域相对来说比较简单,因为他对终端的性能要求、操作体验要求没那么高(使用频率低)。而消费领域比如我们用的手机、笔记本、台式机、各种PAD,对性能和操作体验要求很高(使用频率高)。所以对CPU(性能)和操作系统(使用体验)提出了较高的要求,目前看来这两方面与国外都存在很大的差距。国内相关的品牌很多,但底层技术纯国产的很难说,比如无论小米还是oppo他CPU用的是高通或联发科,操作系统是基于谷歌的安卓。相对而言只有华为是纯国产,我觉得主要原因还是因为他用不成而不是不愿意用。如果哪天小米也被制裁,马上也能给你整出个纯国产的。

  CPU:我们讲的CPU主要是消费领域的,手机和电脑还不一样。手机CPU常见的品牌有高通、联发科、华为,但是从名字看我们都知道只有华为是真国产的,而且性价比不占优势。电脑端与服务器差不多,国产的还是兆芯、海光、鲲鹏、飞腾这些,另外需要注意的是现在很多都搞云桌面了,也就是终端不太依赖高性能CPU转而依赖高性能的后端服务。所以在商用领域除了终端PC性能竞争,还有更多在搞服务端的竞争。

  操作系统:国产操作系统除了鸿蒙体验与安卓差不多,其他都没有能打的,所以手机端现在只有鸿蒙,而PC端定位就是商用而非民用。商用也就是公司里办公用的,处理下文件、开视频会议、上网啥的其实要求不高,但是有很多个性化的需求,比如有的人可能需要P图,有的需要剪辑视频,这就需要做大量的适配工作,而这个适配需要两方面来发力,一是应用软件的厂商愿意来做这个(目前看来大部分不愿意),另一方面操作系统的厂商也可以主动搞移植适配(搞兼容运行)。但是这个困难很多,搞兼容运行总是会有问题的。所以操作系统的国产化最大的难题还是应用生态,国内外有大量的应用软件已经形成非常庞大的生态,轻易是搞不定的。

3、国产替代现状和展望

  从前面的分析来看,我们不吹不黑,国产化其实是已具备了一定“可用”性,正逐步向“好用”进化。而国内近期的动向也表明了这一点,比如最近有个新闻说“中国政府要求政府机构和国企将电脑全部替换为国产的”。这其实不只是替换个终端那么简单,他背后的全套信息系统都需要替换,但困难也是显著的,原有的整个应用生态不是说替换就能换的。具体来说就是:

  1)应用软件适配,与操作系统适配、数据库适配、CPU适配、业务适配等等,存在大量工作,不过因为是商用软件,只要有人掏钱这块是最容易解决的。

  2)高端产品缺失:比如高性能的路由器交换机、防火墙,这个只要能花钱其实问题也不大,一台不行上2台对吧。

  3)CPU指令集授权:就是x86和ARM这个架构问题,现在虽然还能用着但未来不好说。听说现在有基于RISC-V的芯片了,看来未来还是可期的。

  4)操作系统不好用:主要是电脑端的,因为windows早已深入人心,换个新的给你咋都不舒服,不过现在在办公领域实现替换问题不大,难的是一般消费者这边,除了操作习惯外还有非常多个性化需求,可能涉及成千上万的应用软件。好消息是国产操作系统很多都支持安卓原生应用,而未来应用的发展方向也是移动化的,所以长远来看还是能打的。

  5)贵:很多东西不是不能搞,而是成本太高。国产化喊了很多年,也被很多人冷嘲热讽,根源就是不划算。

 

你可能感兴趣的:(架构,linux,国产)