首页 > 其他分享 >不增加成本能更好应对生产系统稳定性意外故障的“开发测试运维三岗转为系统红蓝军”实验

不增加成本能更好应对生产系统稳定性意外故障的“开发测试运维三岗转为系统红蓝军”实验

时间:2023-08-06 22:33:26浏览次数:38  
标签:运维 系统 蓝军 实验 红蓝 团队 运维三岗

系统红蓝军,不仅可以引导开发人员做好功能自测,更可以在不增加成本的情况下,引导企业有效应对生产系统稳定性***意外***故障。

1 基于观察

企业经常出现意料之外的软件系统生产环境稳定性故障。

2 问出问题

是什么原因导致企业经常出现意料之外的软件系统生产环境稳定性故障?

3 形成可验证的解释性假说

企业经常出现***意料之外***的软件系统生产环境稳定性故障,原因来源于管理者和工程师存在以下4种心理特点。

第一,过度自信(Overconfidence)。即人们经常高估自己的绝对能力,并高估与其他大部分人相比的相对能力。在判断和决策方面,没有什么问题比过度自信更容易发生,也更有可能造成灾难。

第二,确认性偏见(Confirmation bias)。即人们倾向于以证实自己先前信念的方式,搜索、处理、解释和回忆信息,同时也倾向于不考虑与自己先前信念不一致的信息。

第三,从众效应(Bandwagon effect)。人们在决策时倾向于 “从众",而不是独立思考。

第四,注意力顾此失彼(Attention)。即人们在决策时,倾向于根据决策的重要性和与决策有关的信息的显著性,只处理可用信息的一个子集,而忽视其他可感知的信息。

企业所建立的蓝军行动机制,是克服上述心理特点的重要方法。蓝军行动(在国外叫红队行动 red teaming)是一个假装成敌人的团队,在企业相关部门的指导下,尝试对该企业进行物理或数字化的入侵,然后报告他们所发现的隐患,以便企业改进。企业要求蓝军跳出框框来思考问题,研究被认为不太合理的场景,开展蓝军行动。

4 基于假说做出预测

如果将开发人员的岗位改名为***系统红军***,即需要对所设计和编写的软件特性在***整个系统的生产环境***中正常运行负全责,而测试人员的岗位改名为***系统蓝军***,即从整个系统的角度,模拟现实世界生产环境各种***刁钻***的场景,来***考验***系统红军所设计和实现的软件特性,能否正常运行,并向企业汇报,助推红军进行改进。因为红蓝军都要使用生产环境,所以运维人员可以根据红蓝军的需要,分为两组,***分别加入***系统红蓝军。那么开发、测试和运维这这三个岗位之间的关系,就转变为红蓝军对抗。这样就能有效克服管理者和工程师的过度自信、确认性偏见、从众效应和注意力顾此失彼等心理特点所带来的负面影响,减少意料之外的软件系统生产环境稳定性故障,并提升故障的修复速度和质量。

为了更好地应对从众效应,系统蓝军应该相对独立于系统红军。由于企业的测试团队,一般都会独立于开发团队。所以测试团队转变为系统蓝军,具备***天然优势***。

作为企业IT部门某个开发团队负责人的你,该如何设计这个实验?

ashley55_images_about_zen_photos_in_the_style_of_pilesstacks_l_ed03d508-8e31-47c4-a0b6-21471577264f.png

我在下面帮你列出这个实验具体实施方法。你可以根据团队具体情况,***做适当的调整***。

5 设计并执行有对照组的实验检验预测

你需要设法吸引IT部门负责人、运维团队和测试团队负责人对这个实验感兴趣,并获得他们的支持,比如帮助你找到另一个有同样多开发和测试人员并维护***另一个生产系统***的开发团队作为***对照组***,并获得那个开发团队负责人的支持。而你所在的团队,可以作为***实验组***。

由IT部门负责人、运维团队负责人、测试团队负责人和实验组与对照组这两个开发团队负责人,五人成立实验小组。

为了让实验结果不会因为实验组和对照组两个开发团队的开发和测试人员,因相互攀比而有损数据的准确性,该实验***从始至终秘密进行***。即实验的事情,只有实验小组的那五人知道。若其他人问起实验过程中一些事情的缘由,可以编一个理由。总之不要透露正在开展的实验和实验意图。

在实验开始前,两个开发团队的负责人,需要与运维团队负责人协作,保证可以观测两个团队各自所维护的生产系统的两个指标,即观测***崩得少***的平均停机间隔时长 (MTBF, Mean Time Between Failures),以及观测***修得快***的平均停机恢复时长(MTTR, Mean Time To Recovery)。

对照组对于开发和测试人员的岗位名称保持不变。对照组团队负责人在实验开始前一天,召集所有开发、测试和运维人员,向他们明确一下三个团队的主要职责,即开发团队负责设计、编码和自测,测试团队负责功能性和非功能性测试,运维团队负责上线、监控、排障、升级、安全、备份。

实验组团队负责人,就是你,在实验开始前一天,召集所有开发、测试和运维人员,向他们宣布,针对本团队所维护的生产系统,开发和测试人员的岗位,分别改名为系统红军和系统蓝军。并告诉他们,系统红军需要对所设计和编写的软件特性在整个系统中正常运行负全责,而系统蓝军需要从整个系统的角度模拟现实生产环境各种刁钻的场景来考验系统红军所设计和实现的软件特性,能否正常运行。因为红蓝军都要使用生产环境,所以运维人员可以根据红蓝军的需要,分为两组,分别加入系统红蓝军。

设置一个开展实验时间段,比如半年。两个团队同时开展实验,并同时采集数据MTBF和MTTR。

每2个月作为一个迭代。实验小组在迭代末就开一次碰头会,分析和对比这2个月采集的观测数据。

6 根据实验结果可回到第3步不断迭代优化假说/预测/实验过程

到半年后结束,总结和对比这3个迭代实验组和对照组的数据。根据实验数据,看看是否支持第4步的预测,并决定是否回到第3步,改进假说、预测或实验过程。

如果在实验的设计和执行中遇到问题,欢迎在评论区留言,与我交流。非常欢迎***你把实验的步骤、过程和结果分享给我,以便一起***改进这个实验。我会在这个实验的将来的版本的致谢段落,***署上你的名字和你所做的改进***。

如果觉得本文对你有帮助,欢迎***点赞***,并***转发***给其他志同道合的小伙伴。你觉得更好地应对生产系统稳定性意外故障,还有什么其他好办法?你还希望我聊有关做软件的其他什么新话题?欢迎在评论区留言。我会仔细阅读每一条留言。期待听到你的声音。

企业生意好,系统运行稳。你所阅读的文章,来自“吾真本说混沌工程”知乎专栏。

标签:运维,系统,蓝军,实验,红蓝,团队,运维三岗
From: https://blog.51cto.com/u_16163674/6987234

相关文章

  • ELK日志分析系统
    目录一、ELK简介1.ElasticSearch2.Kiabana3.Logstash二、可添加的其它组件1.Filebeat2.filebeat结合logstash好处3.Fluentd三、为什么要使用ELK四、完整日志系统基本特征五、ELK的工作原理六、部署ELKElasticsearch集群环境七、部署ELKElasticsearch集群(在Node1......
  • 基于Java开发的校园论坛系统
    随着高校精神文化建设规模的不断深入发展,建设和发展校园论坛系统成为提升校园内部各项文化交流的重要手段。面对校园文化急需一款适合自己特色的论坛系统,高校管理人员既有迫切需要提升师生文化交流的愿望,也有管理大量论坛交流信息的巨大压力。校园论坛是师生的公共论坛,弘扬的青春积......
  • 开源进销存系统应该具备哪些功能模块?
    进销存管理是企业管理中的关键环节之一,对于企业的运营和发展具有重要意义。一款优秀的进销存管理软件应该具备以下功能,才能满足企业的需求,提高管理效率,助力企业快速发展。销售管理销售管理是进销存管理软件的核心功能之一,它应该具备销售订单、销售单、退货单管理、客户管理、价格等......
  • 基于springboot城市便捷酒店管理系统
    随着科技不断的进步,系统管理也都将通过计算机进行整体智能化操作。对于酒店预订网站所牵扯的管理及数据保存都是非常多的,例如管理员:用户管理、客房管理、栏目管理、内容管理、轮播图管理、订单管理、数据统计等,这给管理者的工作带来了巨大的挑战,面对大量的信息,传统的管理系统,都是通......
  • 基于JAVA的房屋租赁及其管理系统
    本房屋租赁及其管理系统是针对目前房屋租赁管理的实际需求,从实际工作出发,对过去的房屋租赁管理系统存在的问题进行分析,结合计算机系统的结构、概念、模型、原理、方法,在计算机各种优势的情况下,采用目前最流行的B/S结构和java中流行的MVC三层设计模式和myeclipse编辑器、sqlserver数......
  • 基于ASP.NET人力资源管理系统
    现如今,现代信息技术高速发展,人们的生活和工作方式都发生了巨大转变。现在越来越多的流行网上小微企业人力资源管理,网上小微企业人力资源管理使工作更方便快捷。人力资源管理领域也同样与我们生活息息相关,发生了重大的转变。越来越多的希望自己无论在什么时间、什么地点都可以自主小......
  • 【VSCode】mac系统利用VSCode配置C++环境
    https://blog.csdn.net/bsy1111/article/details/131056647在官网上看到VSformac不能建C++项目,找到一个教程用VSCode配置一下C++环境可以跑点简单的代码应付一下日常使用,要是有大佬知道怎么在mac上用VisualStudio写C++的话还麻烦不吝赐教......
  • Linux系统目录结构
    Linux系统目录结构几乎所有的计算机操作系统都是使用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件,而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树的分支,所以该结构又被称为目录树。Linux与windows目录结构对比wi......
  • 系统架构设计师笔记第45期:SOA参考架构
    SOA(Service-OrientedArchitecture,面向服务的架构)是一种软件设计和开发的方法论,它将软件系统划分为一组相互协作的服务。下面是一个示例的SOA参考架构,展示了不同服务之间的关系和功能:服务提供者(ServiceProvider):这些服务提供者负责实现和提供具体的功能服务,如用户管理服务、支付服......
  • Hexo引入评论系统
    Valine:一款快速、简洁且高效的无后端评论系统。1、获取AppID和AppKey注册LeanCloud创建应用,开发版即可创建完成点击设置→应用Keys获取AppID和AppKey增加你的域名,在Leancloud->设置->安全中心->Web安全域名配置2、修改配置打开主题配置文件,修改_config.yml......