10年经验总结,华为fellow教你如何成为一名优秀的架构师?
摘要:华为云首席架构师分享成为架构师必备的一些特质和能力。
本文分享自华为云社区《10年经验总结,华为fellow教你如何成为一名优秀的架构师?》,作者: 技术火炬手 。
在《云享人物·大咖面对面》第四期的采访中,华为云首席架构师顾炯炯基于10多年架构设计的经验,分享了架构师必备的一些特质和能力,本文将详细呈现顾炯炯对架构师能力的思考,并列出能力清单,和广大开发者共勉。
架构师要具备的专业视角
从云服务产品原始业务规划制定、需求定义,到方案设计开发联调测试,乃至最终的部署上线与生命周期运维与持续优化,架构师扮演了一个“关键桥梁”的角色,既要连接负责原始需求收集与规格定义的产品经理,又要串联起支撑这些原始需求与规格的每个软件特性编码落地的开发团队。

也即架构师既要从“为什么要这样做”“要做哪些功能”、“这些功能需要服务于哪些利益相关人”、“需要达到怎样的各维度质量属性”、“相比友商能构建什么样的差异化竞争力”等这些偏服务产品定义的宏观视角出发,去收集架构规划与设计的原始输入。
在这个过程中,架构师要有整体的宏观架构上下文的视角,避免“只顾埋头拉车,不顾抬头看路”,一头扎进技术实现与开发细节的讨论上。但与此同时,也需要架构师从偏研发的开发实现视角出发, 去判断如何进行领域服务架构的设计与划分,以及为支撑该领域服务架构,如何选择最合适的技术组件/微服务划分更为合理。
同时,在投入资源以及可选技术路径有限的前提下,架构师要权衡判断如何在各维度的方案选择与质量属性之间做出“恰如其分”的选择。
以华为全栈云为例,它的利益相关方包括云租户、云服务SRE运维人员,云服务运营与产品管理人员、云数据中心建设与运营、云服务生态合作伙伴,以及开发者等,设计架构时综合考量各方各面的核心诉求:
- 最终云租户: 云服务承诺的业务功能,以及非业务功能(可靠性、可用性、安全性、性能、成本)质量属性(DFx, 安全可信、韧性等)均得到满足。
- 云服务SRE运维人员: 尽可能降低人均运维成本,降低故障爆炸半径,最大限度确保云服务的连续性免受外部恶意安全攻击的影响,杜绝软硬件因系统单点失败导致的连续性受损。即便在极端的多点甚至站点全面故障的场景下,也具备跨站点切换的容灾保护能力。
- 云服务运营人员: 云服务作为线上服务产品,支持多样化的计量计费策略,在购买以及使用体验方面,可以满足不同等级客户的诉求。
- 云数据中心站点建设与运营人员: 云服务作为线上服务产品,支持多样化的计量计费策略,在购买以及使用体验方面,可以满足不同等级客户的诉求;软硬协同的云服务站点的构建要足够高效,同时云服务收入与云数据中心站点的成本投入要能支撑云服务赢利商业目标的要求。
- 云服务生态与开发人员: 云服务API的易用性、全面性,生态的广泛接受度及兼容性,对敏捷快速迭代开放能力的支持等等。
在华为全栈云的落地实施过程中,往往由于投入资源的制约,在特定的时间窗内,必须要在不同质量属性之间,不同的架构利益相关方,甚至不同的服务产品团队的软件功能边界方面做出权衡和选择。
总而言之,架构师必须具备从开发者视角出发,对支撑产品实现落地的微服务、子系统在特定技术工具与语言选择下实现落地过程中遇到的挑战与代价,有基本全面、客观、准确的认知。还需从系统日常运维管理者(SRE运维团队)的视角,安全管理员的视角,以及“云生态开发者”的视角,全面整体、开放地看待云服务。
优秀的架构师:全局观+洞察力+想象力
从近10年来在云领域及架构师岗位的经验来看,架构师是一个既需要掌控整体,又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。
全局掌控指的是对业务层面或者商业价值层面上的深入理解,这一点也是架构师和研究人员、科学家的不同。某种意义上,架构师这个岗位首先还是为商业目标服务。在对业务有深入洞察和理解的同时,架构师要把握技术的敏感度,了解最新的技术发展动态、新技术的发展机会点,让技术得以跟业务有非常深度无缝的结合。
与此同时,一个架构师也需要有足够的洞察力与想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。不满足于“人云亦云”、“Me too, But Better”,能够准确地挖掘和识别出本领域可能存在的差异化竞争力构建的机会和路径,创造机会点,打破既有格局,构建真正业界领先、捅破天、扎到根的技术架构与竞争力来支撑所负责领域的商业成功。
另外,架构师要有空杯心态,虚心向各服务领域专家,以及业界标杆与主要竞争对手学习, 加之云与IT领域的技术可谓一日千里,因此架构师在这个行当里就好比“逆水行舟,不进则退”。如果平时不注意学习积累、缺乏深入钻研和思考的积极主动性,就不可能主导做好一个大系统的架构规划及各项重大方案设计权衡与最终落地。
架构师能力清单
最后,附上顾炯炯总结的架构师能力清单,和开发者共勉。
作为云领域架构持续竞争力的构建者: 具备深远而敏锐的技术洞察能力,广博、全面的云领域相关知识,将技术创新与商业价值无缝融合,构筑实现良性的互助互促闭环的能力。
作为云领域/云服务产品的架构设计者:
软能力: 技术领导能力、决策能力.
硬能力: 核心框架编码能力,架构设计模式、原则;架构设计方法、工具;系统成功经验;编程语言、操作系统、数据库、网络通信;等等。
业务能力: 云计算、大数据、AI、IOT、媒体、区块链等领域的知识,无需做到面面俱到,包罗万象,但也至少需要在其中2-3个领域内有比较好的积累。
作为云领域/云服务产品架构的守护者:出色的沟通能力、协调能力、决策能力。
10年经验总结,华为fellow教你如何成为一名优秀的架构师?的更多相关文章
- 一个4年工作经验的java程序员的困惑,怎样才能能为一个架构师,请教大神
一个4年工作经验的java程序员的困惑,怎样才能能为一个架构师 LZ本人想往架构师发展, 业余时间也会看一些书籍, 但是感觉没有头绪, 有些书看了,也没有地方实践 我做了4年的java开发, 在一个公 ...
- 阿里Java架构师分享自己的成长经历,教你如何快速成长为架构师
架构师是公司的“金领”,很少需要考虑生存的问题,从而有更多的精力思考关键技术,形成“强者愈强”的良性循环.当然,冰冻三尺非一日之寒,成为一名合格的架构师是一个漫长的积累过程.对于大部分的软件开发人员来 ...
- 为什么你有10年经验,但成不了专家?(重复性刻意训练+反馈修正,练习的精髓是要持续地做自己做不好的,太精彩了)真正的高手都有很强的自学能力,老师和教练的最重要作用是提供即时的反馈(莫非我从小到大学习不好的原因在这里?没有单独刻意训练?) good
也许简单看书就是没有刻意训练.更没有反馈,所以没有效果 我倒是想起自己,研究VCL源码的时候,都是自己给自己提问,然后苦思冥想.自己解决问题,然后Windows编程水平果然上了一个台阶.对什么叫做“框 ...
- 一位10年Java工作经验的架构师聊Java和工作经验
从事近十年的 JavaEE 应用开发工作,现任阿里巴巴公司系统架构师.对分布式服务架构与大数据技术有深入研究,具有丰富的 B/S 架构开发经验与项目实战经验,擅长敏捷开发模式.国内开源软件推动者之一, ...
- 转:一位10年Java工作经验的架构师聊Java和工作经验
黄勇( 博客),从事近十年的 JavaEE 应用开发工作,现任阿里巴巴公司系统架构师.对分布式服务架构与大数据技术有深入研究,具有丰富的 B/S 架构开发经验与项目实战经验,擅长敏捷开发模式.国内开源 ...
- [转载]有经验的Java开发者和架构师容易犯的10个错误
首先允许我们问一个严肃的问题?为什么Java初学者能够方便的从网上找到相对应的开发建议呢?每当我去网上搜索想要的建议的时候,我总是能发现一大堆是关于基本入门的教程.书籍以及资源.同样也发现网上到处充斥 ...
- 10本Java架构师必读书籍
1.大型网站系统与JAVA中间件实践 本书围绕大型网站和支撑大型网站架构的Java中间件的实践展开介绍. 从分布式系统的知识切入,让读者对分布式系统有基本的了解:然后介绍大型网站随着数据量.访问量增长 ...
- Java架构师必看的10本书
1.大型网站系统与JAVA中间件实践 本书围绕大型网站和支撑大型网站架构的Java中间件的实践展开介绍. 从分布式系统的知识切入,让读者对分布式系统有基本的了解:然后介绍大型网站随着数据量.访问量增长 ...
- 华为云Stack首席架构师:打造“称手”的数字化工具,答好政企IT数字化转型这道必选题
摘要:数字化转型是一号位工程,数字化的工具本身就是企业的核心竞争力. 本文分享自华为云社区<华为云Stack首席架构师:打造"称手"的数字化工具,答好政企IT数字化转型这道必 ...
- 架构师如何借鉴他人经验快速成长? | 2018GIAC上海站日程上线!
随着网络技术的迅猛发展,越来越多的企业需要紧跟技术发展潮流以应对层出不穷的业务场景变化.如今多“语言”开发百花齐放,选择何种语言才能在合适的场景中发挥最大价值?互联网业务架构经过了长年的发展,已然朝着 ...
随机推荐
- GameFramework摘录 - 3. 使用interface定义对外接口
GameFramework的模块密封性相当好,如果使用unity的assemblydef,其设计可以把框架项目与自己的游戏逻辑分离开来. 除一些常用的基类.枚举等,核心模块设置为internal权限, ...
- 模拟退火算法(SA)
求某个目标函数的最值 爬山法 首先我们通过爬山法来引出模拟退火算法 我们先看一个例子:求函数的最值 我们用爬山法解决这个问题的步骤 1.在解空间中随机生成一个初始解(图中小黄点就是我们生成的初始解) ...
- 记一次 .NET 某工厂无人车调度系统 线程爆高分析
一:背景 1. 讲故事 前些天有位朋友找到我,说他程序中的线程数爆高,让我帮忙看下怎么回事,这种线程数爆高的情况找问题相对比较容易,就让朋友丢一个dump给我,看看便知. 二:为什么会爆高 1. 查看 ...
- html笔记重点
第五周-周二 一.视频和音频 <video src="路径" controls="controls"></video> 1.加contr ...
- 【scipy 基础】--插值
插值运算是一种数据处理方法,主要用来填补数据之间的空白或缺失值.因为在实际应用中,数据往往不是完整的,而是存在着空白或缺失值,这些空白或缺失值可能是由于数据采集困难.数据丢失或数据处理错误等原因造成的 ...
- 文心一言 VS 讯飞星火 VS chatgpt (133)-- 算法导论11.2 5题
五.用go语言,假设将一个具有n个关键字的集合存储到一个大小为 m 的散列表中.试说明如果这些关键字均源于全域U,且|U|>nm,则U 中还有一个大小为n 的子集,其由散列到同一槽位中的所有关键 ...
- Linux TTY/PTS
转载:https://segmentfault.com/a/1190000009082089 当我们在键盘上敲下一个字母的时候,到底是怎么发送到相应的进程的呢?我们通过ps.who等命令看到的类似tt ...
- python之特殊属性和特殊方法
目录 特殊属性 __dict__查看属性和方法 __class__查看对象所属类 __bases__查看子类的父类 __mro__查看类的层次结构 __subclasses__查看父类被继承的子类 特 ...
- springBoot + 工厂模式 实现 快递鸟、顺丰和快递100的物流查询
前言: 在Spring Boot中实现快递鸟.顺丰和快递100的物流查询功能通常需要与它们提供的API进行交互.当然使用他们的API 我们是需要申请和注册,从而去拿到 key 来进行调用.所以为注册的 ...
- MySQL 出现 Error 1114 (HY000) The table is full 的解决方法
版权声明:原创作品,谢绝转载!否则将追究法律责任. ----- 作者:kirin MySQL 出现 The table is full 只有一个原因,对应的表数据容量达到系统上限 . 这个问题可能是2 ...