运维与依赖管理:挑战与应对策略
1. 运维配置与工具
在运维工作中,配置管理是一项关键任务。有时候很难明确是谁对配置进行了更改,相似配置的机器最终可能会出现差异。在生产环境中,手动编辑配置文件的诱惑很难抗拒,某些情况下甚至不可避免。但如果在生产事故期间手动编辑了配置,后续一定要将更改提交到真相源(版本控制系统,VCS)。
可操作的系统通常会配备帮助运维人员运行应用程序的工具。运维人员可能需要批量加载数据、进行恢复操作、重置数据库状态、触发领导选举或者将分区分配从一台机器转移到另一台机器。系统应该提供相应工具来处理这些常见操作。
工具编写是一项协作性工作。有时你可能需要编写并提供运维工具,而拥有强大 SRE(站点可靠性工程)团队的组织也可能会为你的系统编写工具。无论如何,要与运维团队合作,了解他们的需求。
SRE 通常更喜欢基于 CLI(命令行界面)的工具和自描述的 API,因为它们易于编写脚本,便于自动化操作。如果你计划构建基于 UI(用户界面)的工具,应将逻辑抽象到一个共享库或服务中,以便基于 CLI 的工具也能使用。同时,要像对待其他代码一样对待系统工具,遵循整洁的编码标准并进行严格测试。
你的公司可能已经有现有的工具集,例如常见的标准内部 Web 工具框架。要将你的工具与可用的标准框架集成,寻找统一管理控制台。有统一管理控制台的公司会期望所有工具都能与之集成。如果公司有现有的基于 CLI 的工具,询问将你的工具与之集成是否有意义,因为大家都习惯了现有的工具界面,集成后会让你的工具更易于使用。
2. 亚马逊事故案例
2017 年 2 月 28 日,Chris 在办公室会议室时发现会议调度软件
超级会员免费看
订阅专栏 解锁全文
171万+

被折叠的 条评论
为什么被折叠?



