弹性工程也是一个研发问题 - rookout


您的公司拥有一支才华横溢的站点可靠性工程师 (SRE) 团队来创建可扩展且高度可靠的软件系统,以最大限度地减少错误的影响。他们将处理客户问题,花时间随叫随到,并通过人工干预提供帮助。在与客户端错误作斗争时,它们是您的前线防御系统。
但重要的是要记住,无论您的 SRE 多么出色,在开发过程早期解决错误的成本都比已经发布时要低得多。一项研究报告称,修复在实施阶段发现的错误的成本大约是在设计阶段确定的错误的六倍,如果已经处于维护阶段,则高达 100 倍。  
出于这个原因,重要的是要理解并接受弹性,毕竟,预防也是一种治疗。
 
那么,您如何着手创建弹性软件呢?首先看看你的研发团队。他们是你的核心。如果 SRE 是您的前线防御,那么研发就是确保产品坚固、耐用和耐用的人。它们是您的免疫系统。研发团队必须确保并不断验证,在到达客户之前可以处理的所有事情都已完成。
为确保发生这种情况,您应该关注以下几点:

  • 在开发阶段使用各种工具和技术(例如架构风险分析)识别问题。
  • 确保您设置并遵循结构化且严格的代码审查流程。让您的同行检查您的代码提供了另一组眼睛,以确保不会遗漏任何内容。
  • 在发布软件之前,进行渗透测试以识别任何问题并确保您之前发现的错误已得到解决。
  • 设置自动化测试并跟踪和监控代码的性能,以防止客户端遇到任何问题。
  • 确保您已经设置了所需的基础设施,以便您在代码投入生产后对其进行调试。

所有这些最终都会影响底线。在开发过程的早期创建健壮的代码可以最大限度地减少错误的数量,如果发现任何错误,修复它们将很容易且相对便宜。生产中强大且有弹性的代码可确保您公司的 SRE 可以专注于与客户合作并解决客户特定的问题,而不是回到研发部门来解决代码中的核心问题。