本文介绍云效 AppStack 的核心概念,包括应用、研发流程、应用编排、环境级别、环境、变量组、资源。
应用
应用是一个可独立交付、对外提供服务的单元,在研发态,通常对应一个功能模块,关联一个代码库;在运行态,通常对应着一个或多个服务。应用为开发、测试、运维等多角色统一协作切面,以应用视角统一管理代码库、研发流程、环境、资源、成员权限等。
研发流程
研发流程用于定义应用开发、测试、生产阶段的完整流程,通常每个阶段对应一条CI/CD流水线用于应用构建、部署,支持配置人工卡点、阶段之间准入规则,保障业务交付质量。
部署编排
应用编排用于定义应用的部署架构,一个应用一套编排,可以同时支持K8s YAML部署架构编排(一组描述K8s资源文件的集合)和主机脚本部署架构编排(一组描述制品包部署配置文件的集合)。
环境级别
环境级别是应用资源、网络、中间件等隔离的维度,通常可划分为开发、测试、生产等环境级别,是应用交付的不同阶段。
环境
环境是应用在某个环境级别运行态的载体,是应用维度做部署和运维的操作界面,通常对应着一组K8s资源实例、或者一组主机服务。在AppStack中,一个应用可以创建多个环境实例,用于开发、测试、生产等不同场景,用户可以分别对这些环境进行更新、管理和运行状态监控。
变量组
变量是一个键值对。变量组是一组变量的集合,即一组键值对的集合。AppStack 提供全局变量组和应用内变量组,可在研发流程、部署编排各个场景使用。如应用部署 K8s YAML 中通过提取出多个环境 YAML 中的不同部分作为变量,支持多环境差异化配置部署。
资源
资源可以是任意云产品实例。资源池是一组资源的集合,可以包含多种类型的多个资源。在AppStack中,资源池用于企业资源管理,用户可以通过导入资源的方式,为不同应用、环境提供用于实际部署的基础云资源。