目次
1范围 (1)
2规范性引用文件 (1)
3术语和定义 (1)
4缩略语 (2)
5应用支撑平台功能框架 (2)
6应用开发交付支撑技术要求 (3)
6.1应用项目管理 (3)
6.2应用软件开发 (3)
6.3应用软件调试 (4)
6.4应用部署发布 (5)
6.5应用编排调度 (5)
7应用运行支撑技术要求 (6)
7.1分布式缓存中间件 (6)
7.2分布式消息中间件 (6)
8应用运维支撑技术要求 (6)
8.1监控管理 (6)
8.2告警管理 (6)
8.3性能管理 (7)
8.4日志管理 (7)
9应用管理支撑技术要求 (7)
9.1微服务应用管理 (7)
9.2容器应用管理 (8)
9.3函数应用管理 (8)
9.4API生存周期管理 (8)
9.5应用安全管理 (10)
9.6应用与数据连接管理 (10)
I
信息技术云计算面向云原生的应用支撑平台功能要求
1范围
本文件规定了面向云原生支撑应用生存周期过程的平台功能框架和技术要求。
本文件适用于云原生应用生存周期过程所需产品和服务的设计和选型。
2规范性引用文件
本文件没有规范性引用文件。
3术语和定义
3.1
云计算cloud computing
一种通过网络将可伸缩、弹性的共享和虚拟资源池以按需自服务的方式供应和管理的模式。
注:资源包括服务器、操作系统、网络、软件、应用和存储设备等。
[来源:GB/T32400-2015,3.2.5]
3.2
平台即服务platform as a service
云计算中提供部署、管理和运行应用程序能力的服务模式。
[来源:GB/T35301-2017,3.3.1,有修改]
3.3
云原生cloud native
构建和运行具备弹性、敏捷、松耦合、易交付、易观测等特征应用的一系列云计算服务技术。
3.4
制品artifact
由源码编译打包生成的二进制文件。
3.5
微服务应用microservice application
由一组运行在独立进程、可独立部署、采用轻量级通信机制沟通、功能原子化的服务组件构成的应用程序。
3.6
容器container
将操作系统用户空间分割为多个内核运行的独立单元的虚拟化技术。
3.7
1
容器应用container application
使用容器包装出的应用程序。
3.8
函数应用function application
使用事件驱动的计算服务构建的应用程序,开发者只需编写业务相关的代码,无需配置和管理应用所需的基础实施资源。
4缩略语
下列缩略语适用于本文件。
AMQP:高级消息队列协议(Advanced Message Queuing Protocol)
API:应用编程接口(Application Programming Interface)
ARM:高级精简指令机器(Advanced RISC Machine)
CLI:命令行界面(Command Line Interface)
CI/CD:持续集成/持续交付(持续集成Continuous Integration/Continuous Delivery)
CPU:中央处理单元(Central Processing Unit)
DevOps:开发运维一体化(Development and Operations)
HTTP:超文本传输协议(Hypertext Transfer Protocol)
ID:身份标识号(Identity document)
IDE:集成开发环境(Integrated Development Environment)
IP:网络协议(Internet Protocol)
JSON:JavaScript对象表示法(JavaScript Object Notation)
JVM:Java虚拟机(Java Virtual Machine)
MQTT:消息队列遥测传输协议(Message Queuing Telemetry Transport)
NPM:JavaScript包管理工具(Node Package Manager)
PaaS:平台即服务(Platform as a Service)
REST:表述性状态转移(Representational State Transfer)
RPC:远端程序呼叫(Remote Procedure Call)
SDK:软件开发工具包(Software Development Kit)
SOAP:简单对象访问协议(Simple Object Access Protocol)
SSL:安全套接层(Secure Sockets Layer)
SVN:集中式文件版本管理系统(Subversion)
TLS:传输层安全(Transport Layer Security)
URL:统一资源定位符(Uniform Resource Locator)
XML:可扩展标记语言(Extensible Markup Language)
5应用支撑平台功能框架
基于云原生的应用支撑平台是支撑企业数字化转型的技术和软件体系,支持DevOps、实现敏捷开发提升效率,支持运维细粒度化、提升运维自动化程度,支持应用、API和数字化资产的管理,实现业务不断创新和试错。
按照应用生存周期:开发交付、运行、运维、管理,基于云原生的应用支撑平台功能框架划分为以下四个部分,见图1实线框,其中:
2
3
提供技术支撑能力,包含以下能力域:应用项目管理、应用软件开发、应用软件调测、应用部署
发布和应用编排调度;
—
—应用运行支撑能力,为应用系统运行提供与其他系统通信,数据缓存的中间件能力,云计算下
——应用开发交付支撑能力,为云服务客户利用云计算环境高效、敏捷地规划、开发、交付应用软件
与
业务无关的中间件主要涉及2个能力域:分布式缓存和分布式消息;
——应用运维支撑能力,为应用的正常运行和性能优化提供保障和支撑能力,包括以下能力域:监控
管理、告警管理、性能管理和日志管理;
——应用管理支撑能力,从云原生应用、API 、安全维度描述平台为应用管理提供的技术支撑能力,
同时描述了为云上应用之间、云上应用与非云上应用之间协作互通提供的能力,包括以下能力域:微服务应用管理、容器应用管理、函数应用管理、API 生存周期管理、应用安全管理、应用与数
据连接。
图1基于云原生的应用支撑平台功能框架
6应用开发交付支撑技术要求
6.1应用项目管理
应用项目管理需要符合以下要求:
a)应提供对应用开发交付需求按项目管理的能力以及统一的管理模板;
b)应提供对项目的所有工作项/工作任务的管理,如:需求、任务、缺陷等;
c)应提供项目中每个工作项的模板,如:需求模板、任务模板、缺陷模板等;
d)应提供项目研发过程的可视化管理,如:需求分解和规划、研发阶段状态,各阶段耗时等;e)应提供项目的多维度可视化管理,如:看板、仪表盘、报表等;
f)应提供不同版本的管理能力,如:规划版本、交付版本等;
g)应提供工作项的关联、工作项子任务和需求缺陷状态的跟踪;
h)宜提供工作流的自定义,包括节点、状态、处理人、事件等;
i)宜提供项目管理的自定义扩展,如:统计分析、工作项模板、通知等。
6.2应用软件开发
6.2.1代码托管
代码托管应符合以下要求:
a)提供代码托管与DevOps工具链的集成;
b)提供多种代码仓库的创建方式,如:按模板创建、导入SVN等;
c)提供代码仓库解耦,如:微服务粒度分仓、公共组件代码和自研代码分仓等;
d)提供代码防泄露能力,如:对代码进行加密存储等;
e)提供分布式协作能力,如:版本控制、分支管理、代码回滚等;
f)具备对接第三方代码仓库的能力,如:GitLab、Gitee等;
g)具备至少一种代码安全保护能力,如:访问白名单、分支保护等。
6.2.2代码开发
代码开发需要符合以下要求:
a)应提供轻量级在线集成开发环境;
示例:通过浏览器等实现云端开发环境获取、代码编写、调试、运行等能力。
b)应提供分布式代码调试能力,如:图形化拓扑、断点查看和代码热替换等;
c)应提供开放接口与插件扩展能力,与第三方系统集成;
d)应具备可追溯能力,如:代码更改、需求关联,版本关联等;
e)宜提供上下文条件下的代码智能补全。
6.2.3代码质量分析
代码质量分析需要符合以下要求:
a)应具备代码的多种检查能力,如:风格、质量、安全等;
b)应具备代码多编程语言的检查,如:C/C++、Java、Python等;
c)应具备代码的多种漏洞检查能力,如:IDE检查、门禁检查、流水线构建检查等;
d)应具备对代码自动检视或人工审核能力,并且检视和审核过程可追溯;
e)应具备集成代码安全检查工具和规则的能力;
f)应具备代码检查规则的用户自定义能力;
g)应提供代码质量管控,如:设置审核卡点、自定义代码检查项阀值等;
h)宜提供代码缺陷的修复建议和自动修复;
i)宜提供代码的开源风险分析和漏洞检测。
6.2.4代码编译构建
代码编译构建需要符合以下要求:
a)应提供统一的构建环境及入口管理;
b)应提供快速构建能力,如:C/C++分布式构建、并行构建、容器化构建等;
c)应为开发者提供构建服务,开发者无法直接访问或篡改构建环境;
json检查d)应提供多种语言及软件开发框架;
e)应提供构建系统可扩展可追溯能力;
f)宜提供构建环境自定义能力,包括平台侧配置的构建环境和用户自建的构建环境;
g)宜提供交叉编译构建能力,如:在X86平台上生成ARM平台可执行的二进制代码。
6.3应用软件调试
应用软件调测需要符合以下要求:
a)应提供图形化方式对测试进行设计和分解,如:思维导图等;
b)应提供多种测试设计环境,如:功能测试、接口测试、安全测试等;
4
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论