架构师的成长飞轮

什么是架构师?

基于可质疑的知识源提供的不可靠的数据做精准猜测工作的人。

架构师是解决什么问题的?

1、业务复杂度超出单人(团队)认知能力。(认知)

    大规模、高复杂度的业务场景越来越多,上线速度跟不上。

    缺乏长期整体设计,短期上线后很多未预料到的问题。

2、大规模团队协作超出单人(团队)协同能力。(协作)

    20+团队参与的战役越来越多,更多的系统交互,链路越来越长

    缺乏对全局最优做把控的角色

3、技术创新突破业务的天际线。(技术创新)

    选择技术的方向,建立技术标准

    建立并且推广最佳工程实践


架构师的角色——人人都是架构师


架构师的主要职责:

把一个整体切分成不同的部分,建立协作机制,让不同的角色分工完成,并组成一个有机的整体。

职责范畴核心职责

公司制定公司的标准,技术战略    拥抱云原生

BU  为业务定制战略    自建还是复用中台;

产品线  单系统、模块设计  设计子系统架构,是否使用TMF

模块、子系统  代码设计  数据库表设计、代码详细设计、开发实现。

执行过程闭环:

问题->方案-》决策-》执行-》复盘-》问题


架构师的成长飞轮

领域知识:

    定义问题的能力

    行业视野开阔

    从业务挑战到技术挑战映射的能力

技术能力:

    技术上无所畏惧

    技术选型能力

    模板级的作品

    既了解全局又熟悉细节

影响力:

    技术架构要落到组织架构

    要得到技术团队的认可和尊重

    能解决技术团队的问题争论

决策能力:

    决策要平衡务实

    有前瞻性大局观

    终局思维倒推实现路径


如何识别真正的问题?

发现问题、定位问题,永远比解决问题更加重要

比如:业务提错了需求, 最后写完了,发现这个东西是错的,或者上线之后根本没有用,就废弃了,这就是资源的浪费。

定位问题的:five why

    打破砂锅问到底

    朝着解决问题去提问,而非定责

    不要只找到人的原因

    要找可控的因素:人、态度、意识是不可控的;工具、流程、标准 是可控的。

    前后左右问法:为什么我们以前没有问题?为什么类似的A、B 没有出现?

5Why,案例1,机器停转的原因

丰田汽车公司的前副社长大野,有一次在生产线上发现机器总是停转,虽然修过多次, 但是仍然不见好转,于是他询问工人机器停转的原因。

1、为什么机器当时停了?因为机器超载了,保险丝烧了。

2、为什么机器会超载?因为轴承的润滑不足

3、为什么轴承润滑不足?因为润滑泵失灵了

4、为什么润滑泵失灵?因为轮轴损耗了

5、为什么轮轴会损耗?因为杂质跑到里面了

解决方案:加装润滑油滤网

这个例子可以看出, 之前已经修过几次了 , 但是并没有找到问题的根源。所以要刨根问题。

亲身经历的例子,亚马逊仓库停转的原因

2018年亚马逊会员节期间,北美最大的几个仓库之一停止运转

1、为什么库房停止运转?因为库存系统出问题了, 所以拣货、分货都停止了。

2、为什么库存系统停止了服务?因为数据库down了, 导致服务不可用

3、为什么数据库down了?因为数据库出现了大量的表被锁死了

4、为什么表被锁死了?因为发现带有断点和子查询的SQL性能出问题了。出现大量挂起的事务。也就是带事务的慢SQL

5、为什么会出现慢SQL?云上新的数据库,是不如原来的ORACLE的。

仓库停转8个小时, 事后一周才定位到原因。

其他方面。为什么没有提前发现,为什么没有及时止血,为什么没有预案,等等。


架构决策 之切分

架构的核心决策, 其实就是如何切分-SOLID

    当前负责人(团队) 负载过重

    当前分工权利和义务不对等

    分布式系统的运行要求

架构切分的结果, 要体现在组织结构上,并且权责要对等

架构切分的是业务系统, 背后起飞的是人的利益(权责)

架构决策冲突,背后往往都是权责冲突

要做到权责对等,使每个人可以为自己的利益负责

有的时候,要牺牲一部分人的利益,去达到负载均衡,权责一致。

架构决策 之处境模型——不同的阶段有不同的决策方式

例子:新冠疫情

1、极早期确诊:

这货既不是感冒,也不像典型的肺炎

2、 早期治疗:

可以确诊但是治疗方案需要试验对比

3、爆发期:

先封锁区域、再隔离人群、然后逐批检查

4、稳定期:

早防御、早发现、早隔离

软件项目:

1、混乱期业务Chaotic

例如社区团购刚开始的阶段,抢团长、抢仓资源、划地盘,快速上线,系统边跑边设计边改进。适合使用团队熟悉的技术。

2、创新型业务 Complex

例如阿里云早期:适合多方探索、快速试错。

3、成长期业务 Complicated

网格仓是按照线路分拣还是按照团来分拣?开始综合考虑ROI,适合决策矩阵分析。

4、稳定期Obvious

供应商上线新的系统, 使用中台的最佳实践, 无需过多分析。

架构决策 之 决策矩阵:

可用性扩展性性能成本一致性

方案199.9横向扩展100ms开发、测试、运维、运行最终一致

方案299.9999纵向扩展50ms强一致

对于选择的方案,要提供对其劣势的分析和应对方案。

架构决策 之可逆性:

可逆性:单向门,双向门

单向门:一旦选择,没法回头,比如数据迁移

双向门:快速实验, 在可以承受的风险范围内快速行动

长期主义的5So方法

思考有关决策的短期、中期、长期的后果。 业务长期倒排, 这种中长期的思考能力,非常难能可贵,以及非常需要坚持。有的同学就是会在千钧压顶之际反问业务,这个一定要这么做吗?

基于终局倒推的中短期的实现路径。

架构决策  之推论阶梯——追求最终正确

追求最终做的是正确的事情,而非一开始就判断准确。 

常常对的人,会主动寻求信息推翻自己的假设和结论,这是非常反人性的。人们对证据收集往往是反人性的。

很多人在主观认为一个事情正确的时候, 他后面所有的论证, 数据收集, 都是围绕这这个事情是正确的来的。不再是说这个事情到底怎么做事对的。这是一个很常见的人性。

反模式的架构师

很多事情都等着他看、拍,容易成为团队的bottleneck

成功非常依赖个人能力

少数架构师脱离一线,对细节了解不足,很难及时做出有价值的判断

业务技术部门是否需要架构师?早期和后期,拥有更多的架构挑战

架构师把架构决策都做了,如何培养新人做架构?

机制比较松散,需要文化和价值观来驱动

你可能感兴趣的:(架构师的成长飞轮)