架构师是一个既能掌控整体又能洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物 。看似完美的“人格模型”背后,是艰辛的探索 。今天,将阿里巴巴技术专家多年经验系统性总结的文章分享给大家,希望更多架构师在进阶这条路上走得更“顺畅”,姿态更“优雅” 。
文章插图
架构师职责架构师不是一个人,他需要建立高效卓越的体系,带领团队去攻城略地,在规定的时间内完成项目 。
架构师需要能够识别定义并确认需求,能够进行系统分解形成整体架构,能够正确地技术选型,能够制定技术规格说明并有效推动实施落地 。
按 TOGAF 的定义,架构师的职责是了解并关注实际上关系重大但未变得过载的一些关键细节和界面,架构师的角色有:理解并解析需求,创建有用的模型,确认、细化并扩展模型,管理架构 。
从业界来看对于架构师的理解可以大概区分为:
- 企业架构师:专注于企业总体 IT 架构的设计 。
- IT 架构师-软件产品架构师:专注于软件产品的研发 。
- IT 架构师-应用架构师:专注于结合企业需求,定制化 IT 解决方案;大部分需要交付的工作包括总体架构、应用架构、数据架构,甚至部署架构 。
架构师职责明确了,那么有什么架构思维可以指导架构设计呢?
请看下述的架构思维 。
架构思维1、自顶向下构建架构
要点主要如下:
1)首先定义问题,而定义问题中最重要的是定义客户的问题 。定义问题,特别是识别出关键问题,关键问题是对客户有体感,能够解决客户痛点,通过一定的数据化来衡量识别出来,关键问题要优先给出解决方案 。
2)问题定义务必加入时间维度,把手段/方案和问题定义区分开来 。
3)问题定义中,需要对问题进行升层思考后再进行升维思考,从而真正抓到问题的本质,理清和挖掘清楚需求;要善用第一性原理思维进行分析思考问题 。
4)问题解决原则:先解决客户的问题(使命),然后才能解决自己的问题(愿景);务必记住不是强调我们怎么样,而是我们能为客户具体解决什么问题,然后才是我们变成什么,从而怎么样去更好得服务客户 。
5)善用多种方法对客户问题进行分析,转换成我们产品或者平台需要提供的能力,比如仓储系统 WMS 可以提供哪些商业能力 。
6)对我们的现有的流程和能力模型进行梳理,找到需要提升的地方,升层思考和升维思考真正明确提升部分 。
7)定义指标,并能够对指标进行拆解,然后进行数学建模 。
8)将抽象出来的能力诉求转换成技术挑战,此步对于技术人员来说相当于找到了靶子,可以进行方案的设计了,需要结合自底向上的架构推导方式 。
9)创新可以是业务创新,也可以是产品创新,也可以是技术创新,也可以是运营创新,升层思考、升维思考,使用第一性原理思维、生物学(进化论--进化=变异+选择+隔离、熵增定律、分形和涌现)思维等哲科思维可以帮助我们在业务,产品,技术上发现不同的创新可能 。可以说哲科思维是架构师的灵魂思维 。
文章插图
2、自底向上推导应用架构
先根据业务流程,分解出系统时序图,根据时序图开始对模块进行归纳,从而得到粒度更大的模块,模块的组合/聚合构建整个系统架构 。
基本上应用逻辑架构的推导有4个子路径,他们分别是:
- 业务概念架构:业务概念架构来自于业务概念模型和业务流程;
- 系统模型:来自于业务概念模型;
- 系统流程:来自业务流程;
- 非功能性的系统支撑:来自对性能、稳定性、成本的需要 。
自底向上重度依赖于演绎和归纳 。
如果是产品方案已经明确,程序员需要理解这个业务需求,并根据产品方案推导出架构,此时一般使用自底向上的方法,而领域建模就是这种自底向上的分析方法 。
推荐阅读
- Java 界最好的 API 网关 Soul
- 趣谈文人梅花雪水煎茶的故事
- 慢跑小腿酸痛怎么办
- 慢跑拉伸运动的方法步骤
- 慢跑降低血压吗
- 梦见死去的外婆还活着跟我说话给钱我用 孕妇梦见死去的外婆还活着跟我说话
- 梦见绿油油的菜地是什么意思 周公解梦梦见绿油油的菜地
- 最好的养生运动有哪些呢
- 坐仰卧起坐的好处有哪些
- 仰卧起坐腹肌抽筋怎么办