遥不可及|每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?( 三 )

两篇文章其实都是讲架构的迭代和演化性 , 值得每个架构师学习吸收 。
构建闭环反馈架构
遥不可及|每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?第一条道路 , 系统思维 , 开发驱动的组织机体 , 其能力不是制作软件 , 而是持续的交付客户价值 , 架构师需要有全局视角和系统思维(System Thinking) , 深入理解整个价值交付链 , 从业务需求、研发、测试、集成 , 到部署运维 , 这条价值链的效率并不依赖于单个或者几个环节 , 局部优化的结果往往是全局受损 , 架构师要站在系统高度去优化整个价值交付链 , 让企业和客户之间形成快速和高效的价值传递 。
遥不可及|每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?
遥不可及|每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?第二条道路 , 强化反馈环 , 任何过程改进的目标都是加强和缩短反馈环 。 刚入行的工程师 , 也是中国学生的普遍问题 , 就是生产运维意识不足(监控是系统反馈的重要环节) 。 有两种化这样讲的:

  1. no measurement, no improvement没有测量 , 就没有改进和提升
  2. What your measure is what you get你测量什么 , 就得到什么
没有监控或者监控不完善的系统相当于裸奔 , 开车上高速无仪表盘 。
这篇文章提出了度量驱动开发的理念 , 即所谓MDD , 在系统 , 应用和业务 , 通过三级监控 , 构建三个反馈环 , 在监控测量基础上持续改进系统和架构 , 我最近也在参考这个理念设计一个电商平台的技术架构 , 见下图:
遥不可及|每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?这是一个电商平台的架构 , 整个体现了闭环架构的思想 , 右侧是整个平台的反馈监控环节 。 具体如下:
  1. 系统层监控计算网络存储 , 构建系统层的反馈环
  2. 应用服务层 , 监控业务、应用、服务 , 甚至整个研发流程 , 构建应用和服务层的反馈环
  3. 客户体验层 , 监控端用户和分析网站用户的行为 , 构建和客户的反馈环
下面这个图展示了系统提升和改进的一般方法:
遥不可及|每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?收集->测量->调整->闭环重复 , 在有测量数据和反馈的基础上 , 系统、应用、流程和客户体验才有可能获得持续的提升和改善 , 否则没有数据的所谓改进只能靠拍脑袋或者说猜测 。
遥不可及|每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?第三条道路 , 鼓励勇于承担责任 , 冒险试错和持续提升的文化 。 这点是最难的 , 一般和企业人才密度有关 。 工具 , 技术 , 流程只是一个公司的冰山浮出水面的部分 , 而真正对企业效能影响大的则是冰山水下的部分 , 即企业的人和文化 , 架构师作为技术和架构的布道者 , 有责任义务鼓励和推动试错文化 。
架构师要深入领会这三条道路 , 关注整个价值交付链的效率 , 关注每个环节的闭环反馈 , 鼓励和推动公司的试错文化 , 打造全系统的闭环架构(Architecting for closed loop feedback) , 提升整个系统效能 。 下图的DevOps和每日交付是每一个互联网系统架构师的梦想和努力的方向 。


推荐阅读