【编者按】如果你刚接触自动发布工具,满世界的工具可能会让你望而生畏。以下是你在寻找适合自己的工具时可以参考的清单。本文作者为 Necco Ceresani,文章系国内 ITOM 管理平台 OneAPM 编译呈现。
开发运营工具有很多——点击查看。很巧的是,每个工具说的都一样,它们能为你的公司节省时间,增加投资收益……太棒了!不过它们其实并不同。有些工具走在潮流前端,有些则快要落伍。
评估自动发布工具不是个简单的任务。除了工具本身,还要考虑时间、资金、文化,还有评估软件时必须考虑的那些数不胜数的活动部分和过程。虽然如此,还是有一些标准特征,是每个自动发布工具应该具备的。如果一个房子没有窗户、炉子或烟雾报警器,你是不会租的,同样的,你也不会购买缺少以下标准的自动发布工具:
1.发布控制面板
让你的团队成员可以看到对你的组织最有用的那些状态标志和指标,例如整体发布进度、法规咨询、已交付特征、已发现问题和已解决的问题。
2. 自动回滚
自动回滚会记录环境的所有变更,因此你可以在任何时刻回滚或取消部署:只需轻点几下鼠标,就能实现完全自动的复原和回滚操作。
3. 无代理构架
你需要一个无需安装私人代理程序就能自动部署的工具。在无代理的构架中,你可以轻松配置防火墙、安全设备、路由器、移动设备,甚至还有一般情况下接触不到的目标系统。
4. 构件分期
为了确保限制应用程序的故障时长,你的工具应该能够在部署应用程序之前,将构件(文件)分期发给目标主机。
5. 即用型分析
你的自动发布工具应该能够收集数据、生成报告,并分析部署过程,这样你们就可以不断改进。
6. 依赖管理
如果没有自动的流程来支持,管理依赖关系可能会非常痛苦,而且容易出错。转移到微服务、服务导向架构(SOA)和云架构更会放大这些困难,超出手动管理的控制范围。如果你有现成的工具可以负责依赖管理,你就不需要开发出一个超级模型,来了解各个部分的依赖关系。你只需要了解每个应用的本地依赖,然后在工具里进行配置就好了。
7. 中间件和云配给
从开发到生产的过程中,应用程序需要被配置到很多不同的环境中进行功能测试、性能测试、回归测试等等。等待环境部署完成,修复环境配置问题是常见的工期延迟原因。你的自动发布工具应该可以让你将整个云环境作为配置流程的一部分,进行定义、配给和衡量。控制类似Puppet 和 Chef 这样的系统配置工具现有投入,加速交付进度,解放团队成员去做能创造更多商业价值的任务。
8. 支持手动和自动步骤
要把复杂的发布过程自动化需要时间,肯定不会一夜之间就实现。有些步骤可能很快自动化,有些步骤则需要手动操作一段时间。而且有些步骤应该永远保持手动操作。你的工具应该能够同时支持手动和自动操作,并且通过发布渠道实时更新两方面的状态。
9. 基于模型的结构,有助于扩展
维护每个实体的复杂脚本或工作流程本来就不好扩展。你的工具应该提供一个基于模型的结构,能够轻松地做出更改,并将该更改传递到所有的配置环境中,这样配置流程就会自动扩展,以适应需求的增长。能够将配置模型化,而不是为新的更改编写个性化脚本,可以为你的公司发展免去很多麻烦。
10. 控制:便于审查的工件和基于角色的权限
任何工具都应该提供协作基础架构,以便实施完整的审查、加强控制、确保适合的人员获得适合的途径来完成适合的任务……整个公司的所有团队都应该如此。
11. 可扩展插件架构
工具应该包含一个数量可观、并且不断增加的插件列表,以支持开发运营工具的丰富生态系统。
在评估工具时清楚要寻找哪些特征,是部署流水线成功的一个关键因素。笔者希望列出的这些标准特征能够在你的团队评估自动发布工具时提供帮助。
本文系 OneAPM 工程师整理呈现。OneAPM 能为您提供端到端的应用性能解决方案,我们支持所有常见的框架及应用服务器,助您快速发现系统瓶颈,定位异常根本原因。分钟级部署,即刻体验,性能监控从来没有如此简单。想阅读更多技术文章,请访问 OneAPM 官方技术博客。
本文转自 OneAPM 官方博客
原文地址:https://dzone.com/articles/11-standard-features-your-release-automation-tools-1