写点什么

关于架构的几件小事:架构是什么

用户头像
北风
关注
发布于: 2020 年 05 月 07 日
关于架构的几件小事:架构是什么

前言

这是我架构师系列的第0篇。这几年经历了很多很多的事情。有幺蛾子的项目,有公司的重点项目,有加入公司的架构师组织,也有通过公司的架构师认证。业余时间也有去学习摄影和艺术。在这个过程中,结识了很多很多人,有国内的、有国外的。他们给我的思想上带来很大的冲击。很多之前非常模糊的念头,在我的脑海中渐渐清晰。我觉得是时候拿起笔来写点什么了。由于架构的理解多来自特定公司的理论体系和实践,所以我对架构的理解可能和大家不大一样。也欢迎大家交流。当然,摄影方面的也欢迎大家交流,我尽量使用自己拍的照片作为题图。



架构到底是啥

架构就像是那啥,每个人都在谈论它,但从没没人真正的见过它。



我曾经被这个问题困扰了很长很长时间。甚至为了回答这个问题,我加入了现在所在的公司。在经过系统化的学习以及很多架构师交流之后。我意识到,架构它不是一个东西,它甚至可以和coding没关系。架构是一种层次化思考的方法论。它将业务目标和具体的实施方法连接起来,通过多个层次描述出来,让不同层次的人都可以理解这个共同的目标,并找到自己合适的位置。

这就是架构的复杂之处。每一个架构师,每一个项目,似乎产出的东西都不大一样。甚至本身就有好多好多种架构师:系统架构师、软件架构师、业务架构师、企业架构师... 即使是技术方面的架构师也有很多种:大数据架构师、应用架构师、前端架构师... 很难说一些技术化的组件图就是架构,也很难说一行code 都没有的组织结构图不是架构。架构是这些东西的一个超集。具体的技术,具体的业务流程,都只是架构的一个面。架构就是由这些面组合起来的一个整体。我的理解,架构就是从具体术到了道的升华。架构师是道,是体系的蓝图和指导,它落地成了具体的技术和对应的组织形式、流程。但是架构是有共性的,即使是不同的架构师,互相交流起来其实也没多少障碍。大家基本可以迅速的明白对方的点,迅速的达成一致。因为大家在方法论层面是一致的。



层次化

没有一种文档能描述清楚一个架构设计。要想描述清楚一个架构设计,我们需要一大堆文档,还需要从不同的高度来逐层阐述。



架构设计的输出,一定是一个多种层次的输出。正如一个企业的组织形式。一定是从高到低存在不同的层次。可能大家已经想到了,最高的架构设计其实是人的架构的设计、组织结构的设计。系统是组织结构的映射。所以大型企业特别关注与高层设计。一开始的出发点就错了,那是没办法挽救的。架构设计也是一样的。最高的层次就是业务目标的层次。然后围绕这个业务目标,需要那么人和系统对接,需要实现什么样的价值。内部需要有哪些模块等,层层推进。在这个过程中,要和各种各样的人和需求打交道。将不同的需求整合在一起,形成一个业务和性能都能接受的设计,让大家认知都保持一致。

分层设计还有一个好处,就是可以将问题的复杂度限制到一个可以理解的范围内。这也和人类思考的本质相一致,分层抽象化。实际上没有任何一种文档或者设计图,能画下上千个组件。即使有,这种文档也是不可读的。所以有的解决方案,洋洋洒洒几百页PPT也很正常。为了能将每一页的信息量限制在一个可理解的范围内,必须进行抽象和分层。



自证的、可落地的

空中楼阁不是架构,严谨的自证才是



OK,到现在咱们有层次化的一些文档或者设计了。但是这不是重点。重点是这些层次化的文档是需要连接起来的,是自证的。在逻辑上是严丝合缝的。也就是说,下一次层是上一层的延展,下一层是上一层的证明。其实我们在做架构工作的时候,也会经常的往前审视,经常发现上一层次的设计中存在各种问题,或者有遗漏。这个时候一般都会打回重写。直到所有的冲突和遗漏都被处理掉了。所有的文档和设计层层递进,却又互相映证。直到最后一层应该是一个可发布的、可执行的、可落地的。否则,始终是空中楼阁,那不是架构。当然,最后还应该用需求来验证架构设计是否和之前的出发点一致。不能实现业务目标的系统,不管处理能力有多大,都是失败的。



Beyond Technical is ART

摄影艺术来源于器材,高于器材。同样架构构建在技术之上,但是高于技术。



这是一个我比较喜欢的品牌的广告slogen。我是一个码农出身的人。从前是码农,现在是码农,以后还是码农。但是我现在越发的感觉到。技术人应该尝试去跳出技术思考。coding 只是解决问题的手段,但不是问题本身。摄影也是非常类似。技术的发展让摄影变得容易了。但是镜头背后的脑袋变得越发重要。一个合格的摄影师,必须在拿起相机之前,就能在脑海中想象出成品的样子。否则很难拍出好的片子。即使蒙出一两张还可以的,也无法保证质量的重现。架构也是类似的。coding 是解决问题的最后一公里。在这之前,架构师应该在脑海中,在文档中,用不同的手段,面向不同的人描绘出项目应该有的样子。Beyond Technical is ART。架构也是ART。



发布于: 2020 年 05 月 07 日阅读数: 1413
用户头像

北风

关注

不想当咖啡师的架构师,不是好摄影师 2019.03.26 加入

斜杠中年

评论 (3 条评论)

发布
用户头像
文章段落间建议空一行,这样比较方便阅读。请尽量不要使用 “TMD” 等词。
2020 年 05 月 08 日 09:46
回复
谢谢,我修改了一下。朋友看了也说排版有问题,需要好好琢磨琢磨,学习一下。
2020 年 05 月 08 日 10:59
回复
用户头像
感谢分享,文章我推荐到InfoQ官网首页了。
2020 年 05 月 08 日 09:26
回复
没有更多了
关于架构的几件小事:架构是什么