通过 DevOps 考古学了解生产环境

阅读数:332 2018 年 6 月 17 日

话题:DevOps语言 & 开发

Infor 云架构师 Lee Fox 在上个月举行的Continuous Lifecycle 伦敦大会上发表了演讲(视频链接),介绍了有助于理解当今复杂的系统和基础设施(演讲幻灯片的 PDF)的工具和方法。与软件考古学领域类似,Fox 把这个称为“DevOps 考古学”。其核心思想是分析和可视化(应用程序和基础设施)代码,用以提取生产系统行为的洞见,以及过去所做决策的背景和基本原理——这些决策通常是由已经离开组织的人做出的。

Fox 提到了不同类别的工具,可以帮助挖掘当今高度互连的系统,如网络嗅探(例如Charles Proxy)、监控(例如Amazon CloudWatch)、日志聚合(例如ELK 技术栈)、测试和审计 / 分析(例如AWS Trusted Advisor)。无论使用何种工具,Fox 建议遵循科学的方法,如假设某个问题的答案、运行实验(分析代码),并验证结果是否证实了该假设。

上述工具中的工件提供了丰富的分析数据,但有时清晰的可视化会让事情变得更加明显。Fox 强调了Gource(可视化代码库的演化)和Logstalgia(可视化网站流量)这些工具可以帮助我们发现相关事件。然后,深入研究这些事件可能会引发的一些问题,例如“为什么这个日期前的源文件数量有所增加?”或者“为什么虚拟机按照这种方式分配大小?”。

来自 Logstalgia 的屏幕截图

为了执行这种分析,需要将所有东西都放在版本控制系统(代码、配置、脚本等)中。Fox 建议创建独立的分支,用于深入“挖掘”代码并运行给定的实验,而不会干扰开发变更的定期集成。

在将 DevOps 考古学整合到价值流活动方面,Fox 强烈建议在开始时进行此类分析,但也应将其作为对生产系统的持续学习活动。最后,Fox 承认,为了充分理解组织内部的 DevOps 历史,除了上述的工具之外,我们还需要考虑人员和流程。这是“DevOps 人类学”的焦点,也就是他在这个领域的下一个冒险。

查看英文原文Understanding Production with DevOps Archeology