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人类学”的焦点,也就是他在这个领域的下一个冒险。
领取专属 10元无门槛券
私享最新 技术干货