架构即未来-阅读笔记2

Posted on 2020-04-25 08:42  咳咳你  阅读(118)  评论(0编辑  收藏  举报

  过程是关键:

  当有了一定的准备基础后,就来到了软件过程与管理。什么是过程?过程就像是一条已经规范好的线路一样,它可以约束我们做出正确的选择,让团队可以迅速应对危机、查明故障的根源、确定系统的容量、分析扩展的需求、实施扩展的项目、解决可扩展系统和组织的许多基本问题。当有可以一套基本过程约束时,团队可以更快速的响应。

  讨论过程的目的是让我们把注意力转移到确定应该实施多少这个过程上,书中举例代码时要选择把修复缺陷的代码合并到分支还是主干上?无过程的解决方案就是由每个开发者随意合并;有过程的解决方案就是提供说明指导;自动化解决方案就是在这个缺陷上就直接强制规定了提交的方向,开发人员根本没有往主干上提交的选择和能力。

  成熟度模型:

  软件能力成熟度模型,它的建立是为了寻求一种评价软件成熟度的模型。CMMI采用级别来描述过程改进的进化路径,对采用持续改进的组织体现在能力级别的提高上,对那些使用阶梯式表达方法的体现在成熟级别的提升上

 

  如今,科技进步过于迅速,软件必须具备一定的敏捷性才能更好地生存下来,CMMi的内容已经明显过时了,它只是提出了一个较为固定的模板,但是CMMI整体的思路就是软件成长过程的体现,对于我们依旧有较大意义。

  故障监控:

  过程不会是一帆风顺的,当出现意料之外的故障时,我们应该怎么聚焦问题?问题是故障的原因,故障又导致降低了服务质量。这里提到了每日例会的重要性,在上课中,老师不止一次的提出在进行团队开发时,每天必须按时举行例会,逐一审查前一天发生的所有事故,并把问题定给具体人员,最后将问题进行分类总结

  事故管理聚焦在及时有效地恢复生产服务的过程;问题管理聚焦在确定问题的根源和解决问题的过程。这两者通常来讲是前后顺序的关系,在实施事故处理时,文中推荐了一个体系DRIER:

 

 

  为了第一时间发现问题及定位问题,我们需要一套完善的监控系统:

          1、业务监控:比如系统各个功能的使用情况,数据的一致性情况等

          2、应用监控:各个功能返回情况(如果是HTTP请求就看状态码,响应时间等),内部运行情况(例如异常情况等),外部依赖调用情况等

          3、系统监控:CPU,内存,网络等运行情况