本文作者拥有10年以上的架构经验,他将跟大家探讨,作为一名架构师,我们需要具备哪些特质。所谓“Great Minds Think Alike”,一名合格的架构师应该拥有什么样的执念和坚守,使他/她可以在架构之路上能够引领潮流,持续前行! 注:本文转载自InfoQ旗下垂直号:「聊聊架构」 一、前瞻性的眼光 合格的架构师一定需要有前瞻性的眼光。 架构不是演化出来的,摸着石头过河,遇到问题解决问题,那是专家的优势和特长,架构师不应该关注如何精妙的去解决问题,而应该关注如何从一开始就奠定粗糙但正确的蓝图和基调,避免后面投入大量的资源去应对本不该出现的各种危机。 合格的架构师都应该做扁鹊的兄长那样的人,而不是扁鹊,扁鹊是专家的偶像。 一名合格的架构师设计出来的架构是要有前瞻性的,要为了将来的组织能力更上一个台阶而设计, 满足当下需求并能够适当扩展,是遵循架构设计的系统实现要关注的事情,系统是多样的,架构不是,系统是演化出来,架构不是。 一名合格的架构师,要目光高远的去改造“世界”,去将高远的思想化为现实,你要做的是冲破各种阻力,去构建大多数世人没有见过甚至没有想过的事情。 如果搞建筑,你要搞的是摩天大楼,甚至宇宙城堡: 而不是仅仅搭建一个遮风挡雨的栖身之所: 前者体现了架构的更高价值,后者则只是满足需求的野蛮生长,我并没有说两种不同的生态孰优孰劣,但作为合格的架构师,你要很清楚自己的选择是什么。 NASA当年给赞比亚修女的那封信,相信大家都看过,解决眼前的问题很重要,但大部分人力和物力已经在做了,应用、工具、 服务,所有这些都是为了解决类似的眼前问题。所以,作为合格的架构师,你要做得应该是创造更高附加值的事情,立足现状,志存高远,用你的前瞻性,作为先驱者,探索,发掘,然后再回补,周而复始,走在前列。 当然,有前瞻性不意味着你要去做一个梦想家,甚至空想家,就像Donald J Trump所说: Before the dreams lift you into the clouds, make sure you’ve looked hard at the fact on the ground. 你要做的,只需要基于现有资源和环境,挖掘架构需求背后的本质,做出高于普通标准的方案就可以了。这跟艺术上经常说的“源于生活,又高于生活”是同样的道理。 前阵子在自己的朋友圈看到一篇介绍智利的建筑设计师凭借“杀手级设计-半个房子(Half A House)”获得普利兹克奖的故事,而这个半个房子的设计,实际上就是很好的前瞻性设计的典范: 设计者基于现有资源和环境给出了以上的设计,然后希望后面的住户根据自己的经济实力和需求自行建设和装修,而后面各个半个房子的演化也很好的证明了设计者的预想: 看,这就是前瞻性的眼光! 二、系统性的思考 合格的架构师都是好的战略家,前瞻性眼光是他们起码的要求,而系统性的思考则是将这些前瞻性眼光落地的必备素质。 架构既看重前瞻,又看重落地,落不了地的架构只是空中楼阁,所以,如何将架构落地,考量的就是一名合格架构师的综合素质和系统思考的能力。 因为架构的规划和落地依附于现有的环境因素很多且不可重现,所以,合格的架构师要能够尽可能多的将对架构有过多权重影响的因素考量进来,然后做权衡,抓住重点因素,最后集中兵力重点突破。 比如,是采用传统的Monolith架构体系,还是时下风靡的微服务架构体系,你要能够从团队人员层次和能力,组织和公司的发展现状,时机等重点因素中做出权衡,你没法通过数据建模的手段去完成这个工作,你能依靠的,只有你的综合素质和系统思考能力: 从时机(Timing)上说,如果单个应用结点就可以满足业务发展需求,那么,就没有必要上微服务,否则反而凭空增加了整个交付链路的负担; 如果团队的成员能力还不足以支撑起微服务体系相关的所有工具化,服务化和平台化建设,那么微服务架构也不是最合适的方向; 如果公司业务还处在四处拼杀,生死未卜的时候,公司的现状也不会允许你去搞各种完善的基础性建设,活下来才是第一位的; (责任编辑:本港台直播) |