青囊
1 项目概述
1.1 背景介绍及目标
1.2 名词说明
1.3 Roadmap
2 需求分析
需求分析重点是需求
2.1 功能需求
2.2 非功能需求
2.3 调研
2.3.1 百度 ARk
2.3.2 st2
https://github.com/StackStorm/st2
Sensors: 传感器是用于入口集成的 Python 插件,用于监视来自外部系统的事件,并在事件发生时触发 StackStorm 触发器。
Triggers: 触发器是外部事件的 StackStorm表示。有通用触发器(例如计时器,webhooks)和集成触发器(例如 Sensu 警报,JIRA 问题已更新)。可以通过编写传感器插件来定义新的触发器类型。
Actions: 操作是 StackStorm 出站集成。有通用操作( SSH,HTTP 请求),集成( OpenStack,Docker,Puppet )或自定义操作。操作是通过添加几行元数据而被使用到StackStorm 中的 Python 插件或任何脚本。用户可以通过 CLI,API 或 Web UI 直接调用操作,也可以将其用作自动化的一部分-规则和工作流。
Rules: 规则将触发器映射到操作(或工作流),应用匹配条件,并将触发器有效负载数据映射到操作输入。
Workflows: 工作流将动作组合为“超级动作”,定义顺序,过渡条件,并将上下文数据从一个动作传递到下一个动作。大多数自动化是多步骤的(例如:多个动作)。就像“基本”动作一样,工作流在动作库中可用,并且可以手动调用或由规则触发。
Packs: 包是内容部署的单位。它们通过对集成(triggers and actions)和自动化(rules and workflows)进行分组,简化了 StackStorm 可插入内容的管理和共享。StackStorm Exchange上的包装数量越来越多。用户可以创建自己的包,在 GitHub 上共享它们,或将其提交给 StackStorm Exchange 组织。
Audit trail: 审核跟踪是手动或自动执行操作的历史记录,并记录并存储了触发上下文和执行结果的全部详细信息。它还在审计日志中捕获,以与外部日志记录和分析工具集成:LogStash,Splunk,statsd或syslog。
StackStorm 是具有模块化体系结构的服务。它由松散耦合的微服务组件组成,这些组件通过消息总线进行通信,并水平扩展以实现大规模自动化。StackStorm 具有完整的 REST API,CLI 客户端和 Web UI,供管理员和用户在本地或远程操作它,以及 Python 客户端绑定,以方便开发人员。
3 总体设计
总体设计重点是设计与折衷
3.1 系统架构
一般来说会有个简单的架构图,并配以文字对架构进行简要说明;
3.2 模块简介
架构图中如果有很多模块,需要对各个模块的功能进行简要介绍;
3.3 设计与折衷
设计与折衷是总体设计中最重要的部分;
3.4 潜在风险
4 详细设计
详细设计重点在“详细”
4.1 模块 xx
(有了数据库+接口+流程,别的同学拿到详设文档,基本也能够搞定了)
4.1.1 交互流程
简要的交互可用文字说明,复杂的交互建议使用流程图,交互图或其他图形进行说明
4.1.2 数据库设计
4.1.3 接口形式
Last updated