问
【分享】基于信创平台的原生云应用开发CIO时代网CIO时代网今天2020年7月2
【分享】基于信创平台的原生云应用开发CIO时代网 CIO时代网 今天2020年7月25日,由CIO时代学院主办,CIO时代APP承办的“2020中国信息技术应用创新网络展览会”如期举行。
飞速创软创始人张军飞在活动上发表“基于信创平台的原生云应用开发”的主题演讲,演讲主要围绕原生云的应用开发展开论述。
以下为演讲实录:上一位嘉宾讲到信创的生态和投资分析,我们更多是讲一些实战的东西,飞速平台是一个低代码平台,是基于原生云的开放架构。
三个月前,我们在广东财政厅接有一整个信息化、数字化升级的项目,我们和腾讯合作,提供中台组建。
中台组建先是在测试环境X86上跑,上面有上百台服务器,现在我们已经成功切换上线了,所以今天我们讲的是实际的一个案例。
对于信创这一块,包括了应用软件中间件、数据库、CPU操作系统等。
我从技术的角度来说一下我对现状的一个理解。
目前这种大型的互联网系统,或者说这种微服务架构系统,在信创这一块,首先这些系统是前后端分离的。
第二它属于后端微服务架构,是基于 Java开发的。
Java是做机遇的操作系统,切换信创的话,更多是对一些中间件作切换,比如接地开,比如一些大数据的中间件,它依赖的架包做了一些更换,从而实现了很平滑的信创的过度。
第二点,刚才上一位讲到数据库等哪一个能够脱颖而出,其实我的理解,国产的数据库大部分也是基于开源的数据库改造封装而来的。
因为它可以水平扩展,其实对数据库的性能依赖也会减弱,我们的数据存储有分布式的数据库,也有半结构化的数据,亦有文件存储,一旦分布式之后,对单的服务器单个数据库实例的依赖也会减弱。
所以,在微服务架构之下,哪种数据库性能差异都影响不大,这是第二个感悟。
第三个感悟,现在国家一下子跳到信创之后,基本上都是这种Java的Linux系统,不是原来的那种开发模式,技术门槛用到的技术点也非常多,所以接下来可能开发的一个模式,是这种基于低代码的开发模式,定制化可能也会比较多。
我现在基于这三点,讲一下实际的案例和我们技术上的一些探索。
基于信创的平台的原生源应用开发。
云原生,我们的理解,它首先是非微服务的架构,它水平扩展。
第二,发布开发是持续集成,是持续交付的,是容器化的,对单的服务器、对单个数据库的性能的要求也会大大的下降。
云原生的一套代码可能部署很多节点水平扩展,它的依赖关系也是非常透明的,显然的它不是一个很复杂的系统了,然后配置信息都存储在环境中,后端各种服务也是当作一种附加的自然存在。
然后,严格分构建和运行是分离的,它整个进程是无状态的,是前端通过访问到网关,智能网关到API网关,再到一个的微服务,每一个微服务的调用也是无状态的。
同时,它的访问是基于端口绑定的,是通过进程模型进行扩展,就是水平扩展。
它的环境就是开发测试环境和运行环境,具有一致性。
然后日志是在整个链路里面把各种日志都记录下来,当做一个事件流,进行各种分析。
它整个链路是非常长的,因为现在打散了,管理进程就是一次服务当做一个一次的服务处理,这是一个原生的特征。
第二个就是我们现在做的案例,基于鲲鹏的软件,比如它有开源的一些中间件,也有一些操作系统,有一些商业软件。
因为我们是做开发平台第一代码开发,所以我们关注的是操作系统和开源的组件,客源的组件主要是Java阵营的一些开源的组件,包括数据库的访问、一些大数据的中间件,这一块目前华为它是做了适配的验证。
这些组件他们都会在空盘上做一些验证,验证完之后就公开软件兼容性的这么一个网站,然后大家去查它,看它用的是什么驱动,把驱动下载下来,最后更换我们已有的这些就能够适配了。
所以这个过程也是比较简单的。
我们接下来看一下广东财政厅中泰项目,现在已经做好的中台,都是已经在 m系列上跑了100多台服务器,而且运行性能效果也不错。
首先它是终台项目,有中台的组件,包括用户中心、消息中心、流程中心、日志中心、任务中心、文件中心,而且这个文件还不是Java开发的,是php开发的,刚才前面几个都是Java开发的,都能够有效的放到信创服务器上去。
现在再来说一下典型的这种结构,这个结构就从基础设施开始,包括公有云私有云,然后有政务网等等这一块,我知道的腾讯云现在在支持信创,还有其他的华为的云或者私有云,他们都在做大量的工作,这是第一。
包括刚才说到财政厅它是私有云,他服务器几百台,他也是直接用坤鹏系列,他就支持了现状。
第二,数据资源平台,我们这一次也用到一些数据的中间件,因为数据的中间件大部分是开源的,大部分是基于这种命令式系统的。
这个适配我们在华为的清单里面也找得着,我们也做了适配,就是小数据平台或者是大数据平台。
第三,再往上是服务平台,这服务平台就像刚才说到的流程中心、签装中心、全线中心、认证中心,他是构建了一个中台组建,这个中台组建的好处就是让你开发一个企业级的应用或者一个复杂的应用,很多通用的都已经开发好了,都变成了一个微服务,这一块也是配套的。
第三个,物联网平台。
现在腾讯阿里也有类似的平台,腾讯我们很熟悉,它有一个物联网平台,有微灵平台。
物联网平台主要针对c端的,微里面主要针对b端的,他们这个平台也对这种信创的服务器做了适配。
因为现在万物互联开发的应用已经纯粹是人机交互的系统,一部分更多的可能就是物互联,物互联就要用到物联网平台,然后再到上面进行后端的开发,包括业务建模、微服务的架构、 API管理、第三方依赖管理等等,这个是完全支持信创了。
然后前端开发,包括小程序的乐高版开发,自主版开发,组建市场,前端更多桌面。
目前桌面因为是web方式,微博方式用手机可以进去,用微信小程序进去也可以,用 PC端也可以,用Linux系统这个也早就适配了。
PC端桌面,华为推出了华为的桌面系统,他的浏览器肯定都是支持的,现在客户端已经没有相关的这种下载应用了,都是web方式,然后在这上面就可以开发出各种业务系统,有各种入口,然后再基于这个架构,就有开发的规范,就有服务市场应用和市场运维监控。
这个架构大家可以非常清晰的看到,从入口到各种应用,从前端开发后端开发,到这种中台服务,到互联网服务,再到数据中台,再到基础架构,实际上都是完全能够支持信创的。
我们已经有比较多的成功的案例。
为什么这么快能够切换呢?主要是因为互联网的技术本身就实现了这种微服务化,实现了前后端分离,实现了这种Java的应用,实现了Linux的支持,实现了各种入口的支持,所以我们就很轻松。
当然,可能比原来用多内做的开发,他绑定了很多东西,这是比较痛苦的。
这个是一个典型的架构,这个架构就更清晰了,它涉及到API网关,涉及到微服务,涉及到生态,这一块,包括前端的设计工具等等,更细致纯粹的低代码开发平台。
第一代码开发平台,它不包括物联网平台,不包括数据中台,它的结构是自上而下的结构,这个结构我们也不特指哪一个,比如哪一个品牌的这种架构,我的意思就是,现在这种低代码开发的架构都是这种结构,而且都是比较轻松能够支持信创的这种生态。
它的分层架构,站在业务应用的角度,网关到集群,到前端,到注册中心,到网关,再到具体的应用,这些应用可以是Java的,也可以接入多类的和购物语言等等。
为什么要这么做?刚才说到,我们可能还是有很多应用存在,这些应用能不能把它接入到这种微服务中来,因为信创的支持不能一步到位,我们原来一些历史的算法,也能够把它接入进来,包括开发运维,它灰度的发布等等各种容器。
同时,容器有各种容器,比如腾讯的、阿里的,这些容器群也在做现状的支持升级。
然后运营的,包括消息队列等等,我们也是做了适配的。
因为消息队列很多中间件,跟大数据的一些中间件也是通用的。
我们现在在财政厅项目中,很多中间件是日志的,大数据的都做了适配,其实适配起来也蛮简单的。
再往下,我们就看到这种信创的技术架构,它的核心是微服务,云原生,然后它自适应各种多端,有很好的数据中台支撑,它的安全是可控的,是可扩展和集成的。
比如微服务的治理等等,这就是典型的信创的或者是这种开源的架构的一些特点,我们可以适应各种场景,比如已有的数据资产,可能原来的数据还是存在,这个数据库可能不能立马迁移,我们就把这些数据资产介入到微服务,然后变成一个API可以直接调调用。
第二,如果已有的系统,比如Java开发的,它不是微服务架构的,我们把它装在容器里面,再放到信创的服务器中,这也是一种改造的办法。
然后已有的系统之间有很多接口,我们把接口微服务化,快速拉通,或者已建的在建的系统,它可能是Java的,但它不是典型的微服务架构,它不一定很好的能适配信创的服务器,我们把它的底座进行画一下,就快速适配,最彻底的就是新建的系统,就基于这种低代码的平台可视化的开发,它就能够快速的适应信创的服务器,而且性能是可靠的,为什么?因为微服务之后它整个链路是分散的,他从前端关到API网关,到它的微服务,到它的数据库链接池,到它的数据服务,而这数据库服务又是分布式的,然后到它的文件服务,它整个都打散之后,它对单个的性能都下降了,依赖都下降了。
其实我们开发了很多应用,很多应用都可以实现这种快速的低代码开发,然后适应国产的服务器,包括我们看到的平台的入口,快速拖拽的界面,各种发布的界面,还有word的ID,开发的web ID,比如我们现在用一个idea,它只是windows版本还是苹果版,如果这个ID都是web方式了,我知道浏览器能够打开那就行了,所以开发也不再依赖于哪一种操作系统的桌面的。
所以未来的开发,未来的应用基本上对前端的操作系统没有任何的依赖了,各种设备都可以接入,包括这些页面对象组建模板,绑定数据、事件样式等等,前端更多样了。
包括中间件,比如我们刚才说的IBM 报表流程、任务调度等等,包括服务治理的一些数据,中间件,包括数据的展示,数据的服务,原数据组件市场等等,我们都把这些做成了一个微服务。
微服务对这个服务器的依赖又减弱了。
所以整个来说,我们总结起来就是,飞速的开发平台,它首先是低代码的模式,第二是多项目并存,前后端分离,前端开发、后端开发、又支持快速的发布流水线测试管理这么一个套路。
然后应用中台有很多的中间件,很多的组件,然后组件我们出厂的时候就做了这种信创的兼容性的测试,这样的好处是什么?这种要定制开发的工作我们就把他缩减了很多工作量,比如50%可能就变成了通用的应用,中台的组件不需要再去开发了,然后也做了适配。
第二,业务部分要去开发使用低代码的模式,我们有一套微服务的治理和这种注册发现灰度等等的管理,所以总结起现在这种新的定制模式,把底层做厚了,把应用做薄了,应用代码反倒是一个很少的构成部分了,是一个很轻量的。
然后我们把底座对国产服务器性能的安全适配,在出厂之前做了大量的测试,今后开发各种应用就变得非常轻松了。
所以信创这个命题出来之后,对标准产品成熟产品是一个比较大的挑战,但是对于这种定制开发反倒是一个非常轻松的事情,优雅的事情。
包括数据中台,其实也是比原数据管理、数据服务、数据展示或者大数据要实时离线的大数据开发多维分析,其实它也是基于很多中台的组件,然后这些中台的组件适配的,开发出来的数据中盘,其实也是很适配的。
它的优势是开放的、可靠的集成,适应各种平台。
第二是容错性强。
第三松耦合的,包括这种架构他可以打得很散,这样的话对服务器的要求就不高。
我再举一个例子,比如我们在格力,他原来开发是oracle数据库,然后开发的一个空调的安装维修系统,是一个耦合度很高的应用,它那个服务器数据库内存已经达到了两个tb,这样的话它的性能还是支撑不了,如果我们这个系统搬到信创服务器,它是hold不住的,为什么?因为信创目前我们的数据库或者信创单的服务器的性能是不够优的,但是我们在格力它把这种性能的压力放到上百台服务器,然后前端的web服务,后端的很多微服务,实时的数据计算,很多中间件都分散了,所以信创就变得非常轻松了,这就是典型的解耦的目的,也是为了分散压力,然后好处就是降本增效。
统一技术路线,然后代码质量高,发布流水线很方便,你按项目的成本可控,然后建立6个统一的资源库,包括微服务的资源库,组建的资源库、应用的资源库,代码资源库、项目资源库、文档资源库,然后统一了数字企业的架构,比如数字政务,比如财政厅,它统一了技术之后,用统一的中台。
比如用友,就基于这些中台组建,进一步的开发各种应用,统一了整个业务的架构,应用的架构、数据的架构,技术的架构,所以现在这种技术都是实现了多快好省的这么一个平台化的理念,这是我们的一些典型客户,我们可以看一下我们具体的应用,共享一下。
我空想一些界面,比如我们现在这一个界面,我再跟你讲一下,拖上去一点,看一些实际的应用。
我们讲这个界面,浏览器,刚才讲屏幕,他UI的界面,我打开一个典型的,这个界面我看看。
这个就是大家看到的微服务的这么一个支持信创服务器的一个平台,包括开发的一些工具,包括一些中台组建,然后包括 paas平台,包括日志管理的,包括运维监控的,包括大数据的平台,包括数据治理的平台,我们再看一下里面的一些典型的,这就是可视化的页面、可视化拖拽开发,它有很多组件,把组件拖到页面就可以实现了,是适配各种入口的应用,我们可以拖进来,拖进来之后进行属性面板。
配置点到主键之后,有各种配置组建,包括事件动作,样式的配置都在这可看得到。
这是界面的,然后还有现在物联网之后,其实第一代码开发已经不是简单的这种界面的开发或者数据库的业务建模的开发,还包括业务逻辑的开发,比如前段的业务逻辑拖到舞台,包括这些循环,这些调用都是可视化,包括后端的这些组件,这是前端的,这是后端的,都是可以托拽的。
然后这是我们一个看这数据服务平台,比如老的系统,它可能是oracle数据库,但是我们可能不能一下子换掉它,我们做了个数据服务平台,它就自动生成API,然后这个是监控平台,比如我们服务器的监控,然后虚拟机的监控,他们看的监控,外边的监控等等,我们都很方便,都能够监控得到。
然后 paas平台,容器里面的各个微服务它的状态等等。
容器化之后,服务市场就是各种微服务,它有一个入口统一都看得到。
这种微服务的状况,都可以看得到。
然后大数据的平台,比如大数据开发,其实也实现了低代码的开发,大数据可视化、大数据我们有很多组件,比如数据源有各种数据源,数据采集的工具、数据调度的工具、数据下沉的工具、计算的工具,我们把它拖到页面,它就可以连线,之后,它就自动生成相关的组件。
这些工具演示,说明一个什么问题,就是说我们现在这种组件化走微服务之后,用这种低代码来实现,这样的话信创的升级模式就很清晰了。
第一,我们可以用容器,包括原来的一些老的技术。
第二新的技术要重构,我们也可以用低代码快速重构。
我讲解的内容就到这儿。
谢谢大家。