云原生架构
百度已收录

 

 

一、云程平台云原生总体架构

 

        云程平台基于标准云原生架构设计,主要体现为三个方面:一是云端可视化低代码开发,二是基于云端PaaS部署运行,三是提供多租户SaaS化应用

 

 

二、云程平台专注于云原生低代码开发

 

        云程平台是云原生应用的低代码开发平台,它位于云原生底座之上,应用系统之下,起承上启下的作用,对上为云原生应用提供开发和运行平台,对下适配多样性的云原生基础环境(容器云、微服务治理、云数据库、云缓存、云存储等),可降低应用系统上云开发难度,提高开发效率。

         我们常说的云原生,泛指云底座+云应用,云程平台定位于云原生低代码开发平台,而不是云底座。云底座推荐使用专业云厂商阿里、华为、腾讯的云产品,开源也有相关的软件,如k8s、Rancher、Istio等。底座就像是操作系统,不是所有的软件均可以运行在上面的,必须满足一定开发规范和技术要求才可以。       

 什么样的系统满足云原生架构,具备云化应用要求,可以参考业界云原生12要素,云程平台(http://www.yunchengxc.com)已内置了关键技术要素,基于平台开发规范开发的应用,均可满足云原生架构和上云要求。

 

三、应用系统云原生架构衡量指标

 

        业界除了云原生12要素法,描述的比较宏观,也没有其它的统一标准,笔者按照参与项目经验,总结梳理了衡量应用系统云原生的关键指标,仅供参考。云程平台(http://www.yunchengxc.com)已内置了如下技术指标,并在多个大型项目上经过了实践验证。

序号

指标项

云原生要求

非云原生要求

1

服务独立性

服务可独立开发、发布、部署,数据库也要按服务粒度独立部署

整个应用系统只能整包开发、发布和部署,数据库是一个整体

2

服务调用方式

跨服务调用只能通过REST协议接口调用

直接使用链接依赖,调用类接口或函数,直接操作数据库等

3

服务可在运行期复用

可在运行期直接部署服务,通过服务接口调用实现服务复用

通过源代码复用;通过在产品中重新编译、链接来复用;需要系统停机,重新部署整个系统

4

服务间无启动顺序依赖

服务之间没有启动顺序关系,所依赖的服务未启动时,本服务可以启动但不正常提供服务

服务必须按照依赖关系顺序启动服务

5

服务的规模

每个服务由设计、开发、测试全功能团队完成,团队人数小于12人

开发一个子系统的规模很大,团队规模几十人至上百人

6

产品与服务关系

产品主要功能由一系列服务组成,APP是由多个服务构成的

产品只提供服务接口,而不是由多个服务组成,不是服务化架构

7

服务注册与发现

服务可以动态注册,动态被发现,减少服务人工管理工作量

模块间的联系主要依靠开发态的编译链接或配置

8

服务接口治理机制

服务提供自身的接口描述,通过在线API管理工具发布出去

不提供接口描述,没有显性化发布出去,没有有效管理

9

前后端分离

前端与后端通过服务接口通讯,前端可独立开发与部署,前端推荐使用vue

前端和后端代码强耦合,不是服务化调用,程序部署只能整体打包部署在一起

10

SQL语法通用性

不能使用数据库存储过程、自定义函数、包等,业务逻辑迁移到程序中实现,不能使用某一数据库绑定的语法

使用了数据库大量存储过程和自定义函数,跟某一数据库(比如Oracle)严重绑定,无法适配其他数据库

11

容器云适配

可适配主流容器云平台,比如华为CCE、阿里ACK、开源Rancher等

不能适配,或者作为一个大应用适配,效率很低

12

微服务治理适配

可适配主流微服务治理平台,比如华为CSE、阿里MSE、开源SpringCloud、Istio等

架构不具备,不能适配

13

云数据库适配

可适配主流云数据库,比如华为RDS和GaussDB,阿里RDS和PolarDB等

条件允许可使用云数据库,也可采用传统方式自行安装部署

14

云文件存储适配

文件存储不能使用数据库BLOB字段或者本地磁盘,要使用分布式文件存储服务OSS,比如 MinIO,阿里OSS、华为OBS等

条件允许可使用云文件存储服务,也可采用传统方式自行安装部署