《架构即未来》
The Art of Scalability —— Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise. (第二版)
Martin L. Abbott & Michael T. Fisher
读书摘抄 (1) 序与前言
- 处理扩展性问题,应先聚焦于真正的基础:人和过程
- 人才,管理,过程,组织架构,好的技术架构,完善的监控机制,问题定位能力,平台处理问题的能力,系统与产品的负责人,SOP(Standard Operation Procedure,标准作业程序) 处理流程的设置
- 技术架构 与 技术管理(系统和组织扩展的艺术),可扩展性,绝对不仅仅是技术那么简单
- 你可以对任何事情放权,但是绝没办法不对事情的结果负责
You can delegate anything you would like, but you can never delegate the accountability for results.
delegate 委派…为代表 - 管理意味着度量,失败的度量意味着失败的管理
- 宏观地说,你可以把管理看成是 Push 活动,把领导看作是 Pull 活动,领导设定 Destination 和 前进路径上的 Waypoints;管理让你能够到达目的地
- 随着资源池的逐渐枯竭,企业更倾向于哪些面向客户的短期功能研发,而不是长期的扩展性项目,结果是满足了短期的目标,却牺牲了平台长远的活力
- 没有好的技术团队以及技术团队的协作,不可能产生好的架构与扩展性
- 有影响力的技术团队,一定出自一个有影响力的技术领导人
- 产生一定影响的宕机事件,都是因为团队没有很好的管理过程,不能快速地从影响事故中恢复,从而产生了较大的影响
- 我们现在这个时代,缺少的是有领导力的架构师 CTO-type
- 未来所有的公司都会变成互联网公司
- 如何提出问题,正确聚焦
- 扩展问题,始于组织和人员,然后扩散到过程和技术
-
人和过程的不良交互 = 不良的技术:恶性循环
人和过程的良好交互 = 优良的技术:良性循环
- 错误链的多重失灵:造成事故发生的原因往往和人为因素有更大的关系
某个系统的 CTO 过于聚焦技术,这便是错误链上的第一个失败点;
由于过分聚焦技术,导致没有清晰地定义必要的流程、确定扩展性瓶颈,这便是错误链上的第二个失败点;
当系统由于没有预先在架构上寻找和定位瓶颈点和堵塞处,而导致系统出现故障,这便是第三个失败点;
当团队尝试解决问题时,由于没有在事故排查与问题定位流程上进行投入,导致团队错误地进行问题定位,这便是第四个失败点;
恶性循环不断持续,大家各自聚焦不同的技术方面,导致互相指责、团队的交互退化、问题没有得到有效解决的同时,客户在不断流失、团队在不断沮丧