DevOps的"最佳"实践

原创
2021/07/03 08:07
阅读数 51

晨会上LL分享了TA在日常开发工作中如何解决测试过程中发现的各种问题的,干活满满,对新入职的同事来说非常棒。总结下来主要有两个方面

  1. 环境问题:中间件故障(数据库有问题,如表空间不够了;Solr服务器未启动或僵死状态;消息中间件有问题,如Pending了大量消息等等),硬件资源不足(如磁盘满了);应用服务器故障(僵死状态,未正常启动等等)。这些环境问题大部分需要找发布团队(Release Team)帮忙解决,开发团队是无法直接操作中间件的,除了可以重启应用服务器之外。其他的,除了等,没有更多事情可做。
  2. 业务问题:比如,测试发送邮件功能,若发现业务数据都正常存入数据库,消息处理也都没问题,就是没有邮件发送出来。这种业务相关的,除了查找代码确定发送邮件逻辑之外,没有更好的办法。这个则完全是开发小伙伴的事情了。

其实,如果从更高维度来看第一个问题,对于一个号称“敏捷团队”/“DevOps完美”的开发部门来说,实在是一个巨大的讽刺。环境问题竟然要由开发团队在测试过程中来发现,从而告知发布团队或者环境维护团队,着实非常不该的。现在市面上有众多的监控系统,其中不乏优秀的开源工具,都可以很方便去监控各种中间件和硬件资源的使用情况,甚至可以做到自动重启,实在弱鸡也是可以发邮件通知相应团队采取进一步措施。退一万步来说,即使没有工具,都是可以自己写各种脚本来监控的。可惜,做的远远不够,只是做了小小一部分,如磁盘空间不够了。对于其他问题,说白了,还是和几年前一样。想当初,我在Team Lead会议上就提出了这些问题,到现在都没多少改观。开发团队仍然需要花大量时间去检查环境问题。尤其在与其他系统做集成测试发现问题的时候,更是浪费大量时间来检查,极大地浪费了开发团队和测试团队的时间。如果DevOps做得很好,这些问题不应该经常出现,甚至不应该出现,开发团队的绝大部分精力应该是放在业务实现上面的。只可惜实际上花在环境检查方面的精力的比例实在是不少。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部