DevOps实践中的左移策略及教育探讨
1. Amelia的扩展机制与自动化部署执行
1.1 Amelia的扩展机制
Amelia支持两种基于Java的扩展机制:
- 创建新命令 :通过实例化 CommandDescriptor
(Java运行时库中定义的Java类)来创建新命令。
- 增强命令行为 :允许通过扩展命令的行为来增强命令。例如, fetch
(如清单1.1中的第42行)是一个扩展,它隐式导入一个返回新命令的静态方法,即一个 CommandDescriptor
实例包装另一个 CommandDescriptor
。扩展可以链式组合。
1.2 自动化部署执行
执行各种架构配置和变体的部署是一项艰巨的任务,即使使用自动化工具也是如此。Amelia通过允许使用参数化和可重用的模块及过程来指定不同的配置实例化,解决了这个问题。每个规范包括部署和执行每个软件组件所需的部署和配置操作。
- 子系统 :在Amelia中,这些规范是子系统,它们定义了明确的实例化参数和基于部署操作的清晰接口。
- 系统部署执行 :每个执行周期可能包括从配置和部署到测量收集和指标存储。实际上,当先前的实例已经呈现出更好的指标时,可以停止新的部署。Amelia的部署策略通过提供对部署开始和结束的精细控制、与Java编程语言的紧密集成以及对一流部署概念(如子系统及其参数)的