架构的“顺势疗法”

标签: 架构 顺势疗法 | 发表时间:2013-01-31 18:51 | 作者:
出处:http://pipes.yahoo.com/pipes/pipe.info?_id=10560380f804c7341f042a2b8a03e117

来自CapGemini的Steve Jones在去年撰写了一篇文章,阐述了在他是如何看待“思考已死”与“ IT界将技术凌驾于思考之上”的。文章引出了漫长和热烈的讨论,Steve的观点得到许多人的赞同。为了证明其观点,Steve以REST为例,认为它作为一个技术被过分讨论和滥用,却没有充分的思考或证据来解释它在特定领域的效益。这在文章的评论中引来了大量的讨论,其中有相当数量的人反对这个例子,并认为 REST优于其他一些Steve曾经推荐的技术,例如如Web Services。

于是,Steve在近期通过 一个非常具体的例子,从另一方面来解释这类缺乏思考的行为方式:

有时候我们会在会议中遇到来自某人的令人赞叹的发言,今天我也有同样的经历,有人写道“我们自己就是病人,我们能停止假装自己就是外科医生吗?”她的观点很简单,过去在公司里已经遇到过这样的挑战,人们依据一些个人观点并在没有数据支持的情况下做出一些关键的决策,而这些决策实施的成果没有被追踪。

Steve将其形容为“架构的顺势疗法”,用于描述IT界中人们仅依据个人观点便做出架构决策的现象。这些决策缺乏事实或案例来说明为何它们能够成功,同时除了部署外,实施的成果也没有被分析。Steve使用这一现象来说明他的观点:

一个好的架构的挑战是类似于“X不可行,是因为我们不是用集中的方式工作;我们需要Y,因为我们采用分治的方式,而且Y已经被证明是可行的”。而架构的“顺势疗法”则提出“X不可行,我们应该采用Y”或更像是“X不可行”。没有证据来支持这一“反馈”,基于这一反馈也无法进行建设性的改变。但如果出现任何问题,架构的顺势治疗论者会说:“你本应按我说的做”。

Steve相信这些“架构的顺势治疗论者”可以用这种方式来建立其职业生涯,宣称“这对我是可行的”,同时这些人不能理解更多的可能带来成功的选择。此外,他相信这些人通常基于臆想的缺点,对经过证明的方式吹毛求疵;他还阐述道,对于那些坚持在企业整合中使用REST,而对问题空间缺乏完整理解,或是不知道为何其他的技术更合适的人,是一个典型的“架构的顺势治疗论者”。 这些人描绘了架构的美好前景,却没有过亲自动手或是指导他人进行实践的经历。

无论你是否相信“架构的顺势治疗论者”的存在,每个人都应该认同Steve的这一论断:所有的架构决策应该基于事实或数据。即使该选择最终被证明是错误的,我们也应该把这一结果记录下来并从中汲取经验教训。

我反对人们基于一系列演示文稿和仅被顺势疗法佐证的个人观点,进行架构决策的方式(或实际的商务决策方式)。这些顺势治疗论者基于无知且自我的“信条”进行评论,扰乱进程并热衷于宣称“按我的方法做会更好”,却不会详细解释他们的方法的必需条件。

Steve文章中关于REST的部分很容易成为焦点,容易使人忽视他努力阐述的中心思想:一些架构决策是在缺乏充分依据的情况下被作出的,而且也许还有一些人在传播推广这种决策方式。

查看英文原文Architectural Homeopathy


感谢 杨赛对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至 [email protected]。也欢迎大家通过新浪微博( @InfoQ)或者腾讯微博( @InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

您可能也会喜欢

相关 [架构 顺势疗法] 推荐:

架构的“顺势疗法”

- - InfoQ cn
来自CapGemini的Steve Jones在去年撰写了一篇文章,阐述了在他是如何看待“思考已死”与“ IT界将技术凌驾于思考之上”的. 文章引出了漫长和热烈的讨论,Steve的观点得到许多人的赞同. 为了证明其观点,Steve以REST为例,认为它作为一个技术被过分讨论和滥用,却没有充分的思考或证据来解释它在特定领域的效益.

架构

- - IT瘾-dev
网关:Nginx、Kong、Zuul. 缓存:Redis、MemCached、OsCache、EhCache. 搜索:ElasticSearch、Solr. 熔断:Hystrix、resilience4j. 负载均衡:DNS、F5、LVS、Nginx、OpenResty、HAproxy. 注册中心:Eureka、Zookeeper、Redis、Etcd、Consul.

信息架构

- Michael - Tony-懒得设计
写几篇关于信息架构的文章,系统地输出我理解的信息架构. 发了一篇关于招信息架构实习生的博客,收到不少简历. 但谈起信息架构,多数不了解,稍微了解的扯了很多很偏的东西. 随手搜索了一下,我发现了原因:. 1 《web信息架构》这本书太概念,太学术. 2 有人绑架了“信息架构”这个词,拿出去唬人,内容都是皮毛或者是根本和信息架构不沾边的东西.

CSS架构

- - 博客 - 伯乐在线
英文原文: CSS Architecture,编译: CSDN-张红月. Philip Walton 在AppFolio担任前端工程师,他在Santa Barbara on Rails的聚会上提出了CSS架构和一些最佳实践,并且在工作中一直沿用. 擅长CSS的Web开发人员不仅可以从视觉上复制实物原型,还可以用代码进行完美的呈现.

Linux的架构

- - 博客园_首页
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明. 我们以下图为基础,说明Linux的架构(architecture). (该图参考《 Advanced Programming in Unix Environment》). 最内层是我们的硬件,最外层是我们常用的各种应用,比如说使用firefox浏览器,打开evolution查看邮件,运行一个计算流体模型等等.

LMAX架构(转)

- - 企业架构 - ITeye博客
LMAX是一种新型零售金融交易平台,它能够以很低的延迟(latency)产生大量交易(吞吐量). 这个系统是建立在JVM平台上,核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单. 业务逻辑处理器完全是运行在内存中(in-memory),使用事件源驱动方式(event sourcing).

软件架构

- - 研发管理 - ITeye博客
    对于外包业务类型的项目,软件架构设计的目的与产品类型的项目有所不同,在这里主要讨论外包类型项目的软件架构设计目的.     1、为大规模开发提供基础和规范,并提供可重用的资产,软件系统的大规模开发,必须要有一定的基础和遵循一定的规范,这既是软件工程本身的要求,也是客户的要求. 架构设计的过程中可以将一些公共部分抽象提取出来,形成公共类和工具类,以达到重用的目的.

NUMA微架构

- - 夏清然的日志
现在开始补日志,逐步的扫清以前写了一半的和“欠账未还的”. 半年之前开的头,今天先把NUMA说完. PC硬件结构近5年的最大变化是多核CPU在PC上的普及,多核最常用的SMP微架构:. 多个CPU之间是平等的,无主从关系(对比IBM Cell);. 多个CPU平等的访问系统内存,也就是说内存是统一结构、统一寻址的(UMA,Uniform Memory Architecture);.

HDFS架构

- - 数据库 - ITeye博客
       在阅读了GFS的论文之后,对GFS的框架有了基本的了解,进一步学习自然是对HDFS的解析,不得不说,之前对GFS的一些了解,对理解HDFS还是很有帮助的,毕竟后者是建立在前者之上的分布式文件系统,二者在框架上可以找到很多的共同点,建议初次接触HFDS的技术人员可以先把GFS的那篇论文啃个两三遍,毕竟磨刀不砍柴工.