支付宝架构师:从工程师到架构师的成长之路

SRE(运维工程师)一文详解技术体系和架构师成长之路 SRE成长路线 阅读详情

架构的技术职责分为三大块:

抽象设计;

非功能设计;

关键技术设计。

首先是抽象设计。架构师需要能自由地在不同的抽象层次和视角上分析需求,不同的架构层次/视角提供了不同的视图,这些视图互相验证,又能构成整体的设计大图。架构的抽象层次分成两个维度:

垂直维度

从上到下,分成企业架构、解决方案架构、应用架构、系统架构等,这个分层的逻辑,是提供不同颗粒度的业务建模。CTO关注企业架构,它提现了一个企业整体的IT技术建设的战略选择,典型的就是集中式和SOA、大型机和云计算的选择等;产品经理和运维关注应用架构,这里映射了产品的业务流程和应用的整体部署依赖;外部客户关注解决方案架构,它定义了如何通过产品的整合和协同,解决特定客户的特定的技术方案需求;研发工程师关注系统架构,这里定义了单个系统的领域建模和系统框架。

水平维度

具体到对某一个业务的架构设计,又可以区分出业务架构、数据架构、技术架构、应用架构几个不同的视角。业务架构是对业务领域和业务流程的分析抽象,需要提炼出业务的核心领域模型,业务的可变和不变部分,这是架构师和产品经理协同完成的;数据架构基于业务架构提炼的核心领域模型做数据模型和存储模型的设计;技术架构基于业务的性能,可用性,安全等非功能性指标,确定语言、框架、中间件、部署等技术选型;应用架构基于业务抽象设计应用系统的层次结构、系统边界等。

在这些架构划分中,企业架构匹配商业模式,业务架构匹配业务模式,其他几个架构的划分,更多的是从技术的不同视角来看,他们提供了从不同的抽象层次,不同的切面对于功能需求的分析和建模。

同时需要说明的是,架构的抽象是匹配于业务的,就像桥梁设计师不能直接转做摩天大楼设计,架构抽象也是区分领域的,每一个业务领域都有自己的独特性,因此在架构上也是千人千面的,好的架构设计也是对于业务抽象得最好的设计。

架构师的另一个技术职责,是对非功能需求的分析。这也是“架构服务于功能,高于功能”的含义。这里的非功能性需求包括了软件系统的可靠性、扩展性、可测性、数据一致性、安全和性能等。考虑到成本和运行环境等限制,这些非功能性需求很多时候是不能同时满足的。这个时候就需要“权衡”,空间换时间的算法层面的权衡,性能和可测性、可靠性的权衡,一些权衡甚至上升到了学术层面,变成无完美架构的理论根基(如CAP理论)。

架构师的最后一个技术职责是关键技术设计。建筑师不只是做整体外观设计的,建筑师也需要考虑关键部分的细节设计——曾经在巴塞罗那圣家堂,我甚至看到高迪连教堂里一把椅子都留下了详细的设计图纸。同理,架构师也需要对可能影响到软件系统整体质量的关键部分,做更细节的详细设计。

2.2、架构的组织职责

架构师是企业的一员,作为“边界人”,承担着在不同角色、团队之间沟通协调的作用。

和业务、产品团队的协作

软件系统是解决现实世界的问题的,任何的软件系统都是业务相关的,当一个软件系统的商业模式确定之后,架构师就开始和业务、产品团队紧密合作,确定软件系统的业务架构和领域模型。业务和领域模型抽象的好坏,决定了软件产品是一次性的解决方案,还是可以持续支撑业务成长的真正的产品。

需要说明的是,业务、产品方和架构师是需求方和实施方的关系,所以,双方之间既是合作的关系,有时候也是谈判双方的关系,特别是对于外包型的软件产品而言,这个时候,架构师又承担着在业务方和技术团队之间找到诉求契合点的重任。

和技术团队的协作

研发阶段,有架构师参与的项目,往往牵涉多个不同方向,不同业务领域的研发团队。架构在其中的作用,是整体大图的传导,以及应用和团队研发边界的划分,对于影响到整体的非功能需求的关键技术点,架构师也要能亲力亲为完成设计。归根结底,架构师为软件系统的整体质量负责,也为研发团队的研发分工负责。

部署阶段,架构师需要和运维团队一起评估满足整体非功能需求的前提下,软件系统部署的硬件成本和部署拓扑结构。例如对于互联网应用,针对性能要求,是否需要CDN,带宽需求;针对可靠性,是否需要多机房部署;针对安全,是否部署相关的安全软件。最终的部署策略,仍然是基于成本和需求的一个权衡。

技术团队是架构师的大本营。根据不同公司的职能定位不同,有的架构师立足于技术团队,有的游离于技术团队。立足技术团队使架构师能更深入了解团队所负责的产品,因此能对业务做更合理的建模,也有利于架构师对关键技术方案做针对性设计,但是可能会限制了架构师拥有更加全局的视角。游离于技术团队的架构师能够从全局看待软件设计而不受制于屁股,因此更能从客观合理的角度规划整体设计,但是由于对技术团队没有管理职能,对于方案的落地只能依靠个人的技术号召力,而且,游离意味着疏远,如果架构师不能自觉地去跟进软件产品的实际落地,可能慢慢就会架空,变成PPT架构师。

简言之,架构师既不能完全负责某个技术团队,也不能完全游离在技术团队之外,这个,又是一个职能定位的权衡了。

同时,架构师和技术团队的协作,还有一个很重要的组织职能。如前述,架构师既决定了整体的架构选型,也决定了关键的技术方案的设计,而什么是需要架构师亲力亲为的关键技术方案,是架构师来确定的。因此,这就引申出架构师的另一个重要的组织职能——团队培养。如果架构师完成所有的技术方案设计,研发团队只管写代码,架构师会累死,研发团队也不会成长,这就要求架构师给予研发团队足够的成长空间和信任,并因此承担一定的风险和责任,这是这个角色必须承担的。

和其他角色的协作

除了产品和技术团队,架构师需要协作的还有项目经理,外部客户,甚至是公司财务……一句话,架构师作为技术方案的总负责人,对接所有对技术方案有关联关系的合作方。

如何沟通

协作就需要沟通,架构需要掌握多门沟通语言,而最好的语言是图表。对于产品来说,架构师沟通的工具是业务架构,用例和领域模型;对于研发团队来说,架构师沟通的工具是应用架构,组件和时序图;对于运维团队来说,沟通的语言又成了部署架构。图表的作用是维护共同的语言,同时也是让设计文档化以便于传承。

3、架构师的成长

上面讲了架构师的职责,职责既是能力的要求。可以看到,架构师既是一个全方位的技术专家,也是一个沟通协作的专家。因此,总结一下,架构师的成长,也是两条线:

技术上

架构师的首要工作是抽象建模,而首要的首要是要了解自己所处的业务领域,只有对业务足够了解,才能更好地抽象和建模,也更能沉淀通用的设计方法论。几年前,我曾经看过我司首席架构师的书单,其中有银行卡组织的介绍的,有零售银行的业务分析的,而那个时候,我司还只是金融业边上的支付公司而已。

另一方面,架构师需要在业务领域所涉及到的技术领域中,都要了解甚至精通,譬如对于互联网行业的架构师,小到语言、算法、数据库,大到网络协议,分布式系统,服务器,中间件,IDC等等都需要涉猎。一句话,架构师是技术团队的对外接口人,也应该是外部团队技术问题的终结者。广度之外也要深度,对于关键的技术模块的设计,架构师需要有技术的权威性。

组织和个人成长上

架构师要作为业务和技术的桥梁,因此需要精通业务和技术的语言,要锻炼沟通能力,不只是口头的沟通能力,也包括用标准化的图表表达设计思路的能力。

架构师需要一种“中庸之道”。不管是技术的选型,团队的协作、培养和分工,商业诉求和成本、产品需求和技术诉求的匹配,很多时候都是一种权衡。可以说,架构的工作主题就是权衡,这可能也是工程师成长为架构师最大的挑战。工程师经常是完美主义的,程序也总是精准精确的,但是架构师要习惯于不完美和一定条件下的不精确。

4、补充说明

上面写了这么多,其实针对的是大型的,有明确需求的,多团队参与的项目或者产品的架构师。现实世界中并不都是这样的项目,所以也并不都是这样的角色分工。例如,对于创业团队来说,活下来是最重要的,所以创业团队崇尚的是敏捷开发,快速构建,灵活试错,37signals的《Getting Real》是这种思想的最好诠释。这样的研发体系特别适用于不需要太复杂的底层设计,功能扁平化的,可以快速开发原型,小迭代不断扩展的应用,特别是web应用和APP。

另外,架构师也不是技术人员唯一的方向,甚至不是大多数技术人员的职业方向。在技术上,架构师是广度优先兼具深度,同时在技术之外附带了许多的业务性和组织职能,而很多的技术人员会更倾向于在技术的深度上不断挖掘,也不愿意投入太多的精力在业务和沟通上,这样的技术人员其实更适合的是技术专家的路线。技术专家研究的是纯粹的技术,这里面可能有算法、有编程语言、有运行容器(虚拟机、操作系统、应用服务器、中间件)、有通讯机制,这些都有足够的源源不断的问题等着技术人员去解决,而他们解决的问题,也成为软件技术不断向上抽象,不断模式化的基础,所以,技术专家的路线也是同样重要的。

超经典Linux架构师成长笔记 高清.pdf版下载 超经典Linux架构师成长笔记 立即下载

相关推荐

从Power到HO:一文搞懂主流脑图谱在DPABI里怎么选,让你的rs-fMRI分析更精准

本文深入解析了rs-fMRI分析中主流脑图谱(如Power、HO、AAL等)在DPABI中的科学选择策略,帮助研究者根据不同的神经科学研究目标优化分析流程。从解剖学图谱到功能连接图谱的特性对比,到DPABI实操中的多图谱分析工作流,提供了全面的方法论指导,助力提升静息态功能磁共振成像(rs-fMRI)研究的精准度和可重复性。

weixin_30654583的博客 403

运维高手进阶开篇词:运维开发架构师的晋级之路

你好,我是你的运维课老师牧客,你也可以称呼我为 Jeson,我在运维领域深耕 10 余年,现在是一家知名互联网公司架构师。我曾就职于大型互联网公司阿里巴巴、大型国企中国体彩等,先后担任运维专家、SRE 负责人、运维架构师等核心岗位。曾经主导开源国内第一个基于 Ansible2.4 实现的完整运维自动化项目;曾带领 SRE、运维开发、DBA 三个团队出色重构近千级别主机的运维架构。随着互联网行业的快速发展,对运维工程师的要求也越来越高,我根据自己的经验和体会将运维行业划分为三个时代。

sucaiwa的博客 396

自动驾驶传感器选型实战:摄像头、激光雷达与毫米波雷达融合策略

自动驾驶感知系统的核心在于多传感器协同,而非单一技术优劣。摄像头擅长语义识别但受光照和天气制约;激光雷达提供高精度测距却面临成本、温漂与多径干扰等物理瓶颈;毫米波雷达则以全天候鲁棒性与精准测速成为安全底线的守门人。三者融合不是简单叠加,而是基于场景约束(如暴雨、强光、高速跟车)、成本边界(BOM控制)与时间窗口(量产节奏)的工程权衡。真实量产方案中,‘纯视觉’实为视觉主责+毫米波兜底,‘激光雷达上车’本质是用硬件真值加速算法迭代,而传统车企更倾向以毫米波为仲裁者协调冲突。理解这些底层原理,才能在传感器选型、

weixin_32495691的博客 276

如何成长为优秀的架构师?架构师成长的4大必经之路

作者 陈睿Mike之前谈到架构师核心技能,如果你对架构师这个职位从技能的角度有比较清晰的认识了,本篇文章将为你继续揭示架构师这个职位的成长周期,在国内架构师需要多年的实战经验和个人修炼,一名优秀的架构师,离不开个人的努力和公司的机遇,挑战和机遇并存。首先,大部分架构师的成长都是伴随公司的发展需要从而演变而来,需要大量时间的实践以及不断的经验积累。

jjc4261的博客 903

别再瞎改注册表了!实测Win10/Win11远程桌面60帧的正确姿势(附ToDesk对比)

本文深入解析Windows远程桌面60帧优化的科学方法,揭示常见误区并提供实测有效的解决方案。从版本差异到硬件加速,再到第三方工具对比(如ToDesk),帮助用户避开无效的注册表修改,实现流畅的远程桌面体验。

weixin_33738555的博客 341

Sigrity XtractIM实战:5步搞定IC封装宽带模型提取(附BGA案例)

本文通过一个典型BGA封装案例,详细介绍了使用Cadence Sigrity XtractIM工具进行IC封装宽带模型提取的五步实战流程。内容涵盖从环境准备、参数设置、结果验证到模型导出的完整操作,重点阐述了如何利用XtractIM生成高精度、紧凑的宽带SPICE模型,以解决高速电路设计中因封装模型不准导致的信号与电源完整性问题,助力工程师提升仿真精度与设计效率。

a1b2c的博客 319

架构师的成长之路

架构与架构师Architect,即架构一词可以溯源到希腊语ἀρχιτέκτων , 指的是建筑的规划,设计和建造过程和结果。现在也用于指系统的网络,软件,硬件的规划,设计和搭建过程。所以...

华章IT官方博客 881

uniapp [全端兼容] - 实现人脸识别对比+人脸相似度,从相册选择或拍照上传两张图片进行人脸对比得到人脸相似度及判断是否是同一个人,人脸活体检测及对比(免费纯前端方案+调用第三方API接口方案)

uniApp人脸对比 人脸对比识别 人脸对比相似度,uniapp实现获取手机摄像头权限,调用相机拍照实现人脸识别相似度对比,uniapp实现人脸识别对比,计算两张人脸的相似度,从而判断是否同一个人,并给出相似度评分。uniapp H5网页如何实现人脸相似度比对,uniapp纯前端怎么对比两张图片的相似度,计算两幅图像的相似度,图像相似度对比方法,UNI-APP人脸相似度对比,快速识别两张照片的相似程度(用百分比)图片相似度对比在线测试,图片相似度对比,uniapp微信小程序人脸相似度对比分析,uniapp

🏆 前端领域优质创作者 5020

IT架构思想---架构抽象

1、抽象看成了一种解决复杂内容(这里翻译为问题可能更好)的技术2、抽象可以为每个架构领域中形式一致性定义和理解(本质是知识语境的说明感觉这个定义更多的是在讲抽象在架构中的作用,而不是在回答在架构层面什么是抽象。从这个定义来看,对Togaf还是挺失望的。继续深挖,这个定义就有意思很多,至少完全从架构视角去解释的。1、把问题域划分为更小问题域一种架构技术,抽象的本质是分层,从高阶模型转移(到详情模型。

1262

CUDA&PCL 点云体素下采样

CUDA&PCL 点云体素下采样

dayuhaitang1的博客 1268

MIKE水动力笔记17_MIKE文件转shp、统计每个单元格的面积

MIKE的工具箱中自带一个转shp的工具,然后可以拖进ArcGIS中很方便的统计每个单元格的面积和每个网格点的水深。

晏长街的博客 4151

架构 支付宝架构师:从工程师到架构师的成长之路

0、前言 架构师是一个没有被严格定义的角色。 在写这篇文章之前,我特意把这几年看过的关于架构和架构师的书重新翻了一遍,结果发现它们的定义或多或少有一些不一样,而经过了这几年,一些之前同意的观点,现在的我也不敢苟同了。另一方面,业界对于架构师这个岗位,其实也没有统一的角色定位。在阿里巴巴,前几年是有专职的“架构师”职位的,现在已经回归到“工程师”、“专家”、“研究员”这样的纯技术职位。而我面试过...

笑笑的博客 357

Verilog HDL 100道面试题及参考答案

在 Verilog HDL 中,参数(parameter)和宏定义(define)都可用于定义常量,但它们存在诸多不同之处。参数(parameter)是模块内部的常量定义,具有局部性。它在模块内部起作用,不同模块可以有同名的参数,且值可以不同。参数通常用于定义模块的一些配置信息,例如数据位宽、延迟时间等。参数的定义和使用是在模块的作用域内进行的,通过参数传递可以方便地对模块进行配置。endmodule在上述代码中,WIDTH是一个参数,用于定义加法器的位宽。通过改变WIDTH。

大模型大数据攻城狮的专栏 1732

支付宝架构师:讲述从工程师到架构师的成长之路

架构师是一个没有被严格定义的角色。在写这篇文章之前,我特意把这几年看过的关于架构和架构师的书重新翻了一遍,结果发现它们的定义或多或少有一些不一样,而经过了这几年,一些之前同意的观点,现在的我也不敢苟同了。另一方面,业界对于架构师这个岗位,其实也没有统一的角色定位。在阿里巴巴,前几年是有专职的“架构师”职位的,现在已经回归到“工程师”、“专家”、“研究员”这样的纯技术职位。而我面试过的人中,也有各种

小码农 TT 1310

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

支付宝架构师:从工程师到架构师的成长之路!

架构师是一个没有被严格定义的角色。1、架构师的定义架构师:任何复杂结构的设计人员。架构师的名字来自于建筑业,Software Architect直译应该叫“软件建筑师”。从很多方面讲,软件架构师的工作跟建筑师很像,为了寻根问祖,曾经我也看了不少建筑设计的书(推荐一本《建筑的永恒之道》),最后我发现,两者一脉相承,现阶段分道扬镳,未来也许殊途同归。一脉相承——不管是建筑师还是软件架构师,都是为了“大...

weixin_33724046的博客 220

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

支付宝核心工程师谈如何成为一名优秀的程序员?

支付宝研究员李俊奎 作者 |蚂蚁金服科技 责编| 伍杏玲 出品 | 程序人生(ID:coder_life) 校招进入支付宝,11年时间,从一线工程师成长为支付宝安全核心架构师,这个技术牛人就是李俊奎。 李俊奎一直聚焦风控平台的技术和架构发展,并着手搭建了中国第一家云上的商业银行——网商银行。 在2016年双11和新春红包等活动中,李俊奎和他的团队实现历史性突破,即在系统不...

优快云资讯 8181

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

从校招生到核心架构师,支付宝研究员李俊奎谈如何成为一名优秀的程序员

校招进入支付宝,11年时间,从一线工程师成长为支付宝安全核心架构师,这个技术牛人就是李俊奎。 李俊奎一直聚焦风控平台的技术和架构发展,并着手搭建了中国第一家云上的商业银行——网商银行。 在2016年双11和新春红包等活动中,李俊奎和他的团队实现历史性突破,即在系统不被降级的压力下,控制资源消耗不超过2015财年双11,并且很好地满足了业务需求。 同时,李俊奎率领团队实现了风控系统的异地多活,...

阿里云云栖号 1597

支付宝研究员兼OceanBase总架构师杨传辉:我在数据库梦之队的十年成长路

杨传辉支付宝研究员兼OceanBase总架构师读完需要6分钟速读仅需 2 分钟杨传辉是支付宝的研究员兼 OceanBase 总架构师,就是 2020 年 5 月,以 7.07 亿(707...

中生代技术 2049

软件工程师成长为架构师必备的十项技能

软件工程师成长为架构师必备的十项技能 来源:51CTO 一、卓越的程序员 1.     每个好架构师都是一位出色的程序员 架构师,听起来是如此神秘的一个称号。尤其是在开发领域刚入门不久的菜鸟级程序员眼中,架构师都是高手,都是牛人,都是如此高高在上的存在。 不过,在搞了四、五年编程之后,程序员们往往早已失去了当年对这些“高级”职位

huangshulang1234的博客 3283

我是如何拿到蚂蚁金服实习 offer 的

为什么80%的码农都做不了架构师?>>> ...

weixin_34344677的博客 308
上一篇: 编程初学者为什么选择java
下一篇: 轻量级微服务架构及最佳实践
ak47java
博客等级 码龄9年 8粉丝 5原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值