漫画:什么是架构师?

于是,小灰去向大黄请教

 

 

 

这是有关未来的故事:

从前,有一个赶路的人路过一片工地,看到三个年轻人在工地上搬砖。

于是,他问其中一个人:

于是,他又问了第二个人:

 

 

于是,他又问了第三个人:

 

 

十年之后~

曾经说自己在建造城市的年轻人,成为了市长

曾经说自己在搬砖的年轻人,成为了砖厂老板

曾经说自己在搭建教堂的年轻人,最没出息,成为了架构师

什么是架构师?

 

架构师英文architect,这个词源于建筑学。软件工程当中的架构师和建筑工程当中建筑师有许多相通之处,都是负责“产品”宏观的架构设计。

在一个团队里,架构师充当了技术Leader的角色,不仅要完成项目的整体设计和规划,还要带领技术团队一起解决实际问题,攻克技术难点,使得软件的设计、开发、测试、发布流程得以顺利完成。

 

下面这张图,表达了一个应用架构师(技术Leader)在团队当中的角色:

 

 

需要注意的是,这张图中的架构师只是应用架构师,所以运维和DBA人员没有归入到他的管辖范围。同时,每个公司的具体组织结构也不尽相同。

 

架构师都做些什么?

 

1.架构设计

 

架构师,顾名思义,第一职责就是在软件设计阶段,做好软件“骨架”的设计。架构师需要把产品的需求翻译成软件工程的设计文档,确定各个系统与模块的边界,评估系统的量级。

 

2.技术选型

 

从前端到后端,从缓存到数据库,面对为数众多的第三方组件,架构师需要作出合理的选择。

前端页面选择模板引擎还是动静分离?

服务端选择Java还是Node.js?

服务治理选择DubboX还是Spring Cloud?

消息队列选择RocketMQ还是Kafka?

分布式缓存选择Redis Cluster 还是 Codis?

数据库选择Mysql还是Oracle?

全文检索选择Solr还是ES?

技术没有绝对的好坏之分,关键看是否适用于公司的业务场景。

3.管理非功能性需求

满足需求是项目开发和架构设计的根本,而管理非功能性需求则是项目的升华。

在公司从0到1的创业阶段,开发者更关注的是功能性需求,往往一个简单粗暴的MVC项目就可以搞定一切。当业务量级逐渐增大,用户需求逐渐多样化,非功能性需求的重要性就逐渐显现。

非功能性需求都包含哪些内容呢?

性能(响应时间)

可扩展性(适应需求的快速变化)

可用性 (四个9,五个9,必要时的限流和降级)

安全性(防范各种恶意攻击,实现风控)

可监控(完善的监控和报警机制)

灵活性(便于非开发人员进行配置)

可维护(持续集成,持续部署)

国际化(冲出国门)

4.攻克技术难题

架构师不只需要关注宏观的设计,也需要具有攻克技术细节的能力。在团队开发过程中遇到难以实现和优化的技术问题时,架构师需要发挥技术优势,解决系统的疑难杂症。

 

 

5.技术人员的管理和指导

架构师不只是一个技术大牛,也应该是一个好的管理者,在工作中需要把较大的项目和需求拆分一个个Story,依照每个人的情况分配给研发团队的成员,并且在必要的时候进行技术上的培训指导。

架构师都有哪些种类?

1.应用架构师

 

应用架构师是行业中数量最多的架构师,主要负责公司产品的技术架构。产品架构师需要对业务有足够的理解,根据产品需求设计架构,在运营团队的协助下评估量级,并管理项目的整个生命周期。

 

2.中间件架构师

中间件架构师主要负责基础框架、公共组件,通用服务的搭建。比如分布式服务框架诸如Dubbo,HSF;比如消息队列诸如 RocketMQ,Kafka。在大型互联网公司中,往往不是把开源框架简单“拿来”,而是研发出符合自身业务的企业中间件。

 

3.基础设施架构师

基础设施架构师负责服务器资源、网络资源、数据库等基础设施的建设;以及持续集成工具、持续部署工具的搭建。

以上所说的三种,只是架构师最基本的分类。一些特殊领域也有着专门的架构师,比如网络安全架构师、大数据架构师等等。

 

 

怎样才能成为架构师?

 

1.技术的深度和广度

 

有一句话说得好,将军就是更优秀的士兵。架构师作为程序员中的将军,首先需要有足够的技术深度,同时需要广泛了解行业内的主流技术,以便更好地设计架构和技术选型。

 

2.业务的理解

抛开业务谈架构就是耍流氓。这一点对应用架构师来说尤其重要。只有对业务有了充分的理解,才能对项目的设计和扩展做出合理的规划。

3.良好的沟通能力

架构师不只是低头做技术,更需要协调指挥团队内的成员,也需要跨部门和产品、运营、项目经理等人员做及时有效的沟通,所以沟通能力是必不可少的。

原文地址:https://www.cnblogs.com/ysgcs/p/8483036.html

时间: 2024-10-01 01:58:13

漫画:什么是架构师?的相关文章

App架构师成长路线

点击关注 异步图书,置顶公众号 每天与你分享 IT好书 技术干货 职场知识 参与文末话题讨论,每日赠送异步图书 --异步小编 架构师,软件技术领域一个高大上的名词,业界有言"人人都是产品经理",却很少听到"人人都是架构师".其本身涉及的复杂庞大的跨领域知识体系除外,对于架构一词,其实很难去完整地定义,我们也没必要过于纠结,就如我们为什么要登山,因为山在那里,执着前行,或许还未曾知晓路在何方,抑或你都不曾思考要去何方,但至少你已经在路上,while(!(succeed

漫画:程序员小赵的架构师之路

<架构师小赵的故事>原文作者刘欣先生,工作15年的前IBM架构师. 原文地址:http://m.sohu.com/n/473759776/ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 至此,架构师小赵的故事就暂告一段落了. 作者后记: 在这个浮躁的年代,很多程序员都极其浮躁,没法静下心来. 小赵身上也有我的影子,我刚毕业那几年也是像追星一样追技术,每个技术都是浅尝辄止,幸好后

周爱民:真正的架构师是没有title的(图灵访谈)

周爱民,现任豌豆荚架构师,国内软件开发界资深软件工程师.从1996年起开始涉足商业软件开发,历任部门经理.区域总经理.高级软件工程师.平台架构师等职,有18年的软件开发与架构.项目管理及团队建设经验,曾任盛大网络平台架构师.支付宝业务架构师,是 Borland Delphi 产品技术专家,也是 Qomo 开源项目(JavaScript)的发起者.2003年5月被美国 Borland 公司授予「Borland Delphi 产品专家」称号,并授予「论坛特别贡献奖」.著有<大道至简——软件工程实践者

java架构师、高性能、高并发、高可用、高可扩展、性能优化、集群、电商网站架构

15套java架构师.集群.高可用.高可扩展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布式项目实战视频教程 视频课程内容包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat.Spring.MongoDB.ZeroMQ.Git.Nosql.Jvm.Mecached.Netty.Nio.Mina.性能调优.高并发.to

优云软件助阵ArchSummit全球架构师峰会(内附大会演讲PPT)

由极客邦科技与 InfoQ 中国主办的 ArchSummit 全球架构师峰会深圳站,于 7 月 7 日 - 8 日在深圳华侨城洲际酒店举办. 本次大会特邀 100 多位国内外技术专家,与1000余名技术管理者.架构师共同分享和交流新技术在行业应用中的最新实践,助力企业技术选型.业务升级与顺利转型.作为ArchSummit大会的高级合作伙伴,优云软件受邀参加本次峰会. ▲峰会现场 优云是广通软件旗下全新一代创新型运维品牌,致力于为客户提供一站式的IT运维解决方案.在此次大会上,向参会者和国内外嘉宾

CSDN日报20170509 ——《互联网时代架构师的职责与思考》

[程序人生]互联网时代架构师的职责与思考 作者:木小鱼 在当下的互联网时代,架构师是互联网行业的热点关键词,人云亦云者居多,那互联网架构师到底是做什么的,如何来评价互联网架构师的优劣呢? 点击阅读全文 [Android]手把手教你构建 Android WebView 的缓存机制 & 资源预加载方案 作者:Carson_Ho 由于H5具备 开发周期短.灵活性好 的特点,所以现在 Android App大多嵌入了 Android Webview 组件进行 Hybrid 开发,但我知道你一定在烦恼 A

架构师米洛:你不经意的职场坏姿势会损坏你的身体

老祖宗经常教育我们:要站如松坐如钟.培养正确的身体姿势,会让你更有气质笔挺站立,你会显得更高挑. 同时姿势还会影响别人对你的看法,肩膀挺直坐着的人,看上去放松而且充满自信,瘫坐在椅子上的人看起来懒散.冷淡.有距离感.职场上坐姿端正的人总会让人感觉更加有气派. 好姿势可以提升骨骼健康当你瘫坐时,多余的压力都集中在脖子和脊椎上,时间久了,可能产生轻微的背部疼痛:不良的走姿.跑姿容易使关节磨损,脊椎也会因此受到来自四面八方的"坏压力",从而压迫神经和血管. 好姿势能让内脏"松口气&

架构师米洛:如何让你的同事对你越来越好

人在江湖漂,哪有不挨刀.如果天天都挨刀,那就不好了. 职场也遵守一个丛林法则,大家抱团取暖,在这个小天地里谋生活.从理论上来说,我们不可能获得所有同事的喜欢,但是,获得一些同事的支持也并不是难事. 俗话说,一个好汉三个帮,一个篱笆三个桩,千万不要小看了与同事的关系处理,这可是一门大学问. 就拿程序员和测试MM来说吧,很多人都知道,一般测试MM的脑回路比较短,而且技术上一般没有开发人员强,所以呢,提问题的时候,难免会比较直接.网络上盛传的报BUG的礼仪,不知道你看到没?咱们来看看 请不要对一个程序

架构师米洛:不懂技术的人不要对懂技术的人说这很容易实现

这是一篇很好的文章.在IT滚了好多年的我,面对非技术人员的催问,这东西做起来难不难的时候,如果我做过我会告诉这东西不难.如果我没做过,我不会说什么,可是这根本满足不了非技术人的好奇心. "这个网站相当简单,所有你需要做的就是完成X,Y,Z.你看起来应该是技术很好,所以,我相信,你不需要花费太多时间就能把它搭建起来." 我时不时的就会收到这样的Email.写这些邮件的人几乎都是跟软件开发技术不沾边的人,或正在研究他们的第一个产品. 起初,当听到人们这样的话,我总是十分的恼怒.他们在跟谁辩