企业架构到底是什么?

2011 年 4 月 26 日

Jason Bloomberg 最近在博客中问道:“为什么没有人做企业架构(Enterprise Architecture)呢?”他说:

解决方案架构师应该在实施解决方案之前完成解决方案的架构设计。Java 架构师和.NET 架构师做得事情应该先于编程人员。你不能先实施架构再设计架构,只能先设计再实施……可是,企业架构(Enterprise Architecture)却往往从现有企业开始……当今企业架构师的角色主要面对当前企业,修补其中的问题。好吧,也许不全是这样,但却要做某种程度的改进。将企业架构从当前的“糟糕的”状态扭转到“完美的”状态,在这一状态下事情会变得更好。

Bloomberg 认为,虽然解决现有企业的问题既重要又高尚,但是这并非企业架构的工作:

架构不是解决问题,而是为设计活动建立一套最佳实践。

所以,在他看来,没有人在真正地做企业做架构。企业在不断成长,

每个企业家都知道这个基本道理。当企业首次坐下来,为新的商业投资制定方案时,如果组织 (organization) 大到可堪称企业(enterprise),他们也许永远也不敢对它做全面的架构设计,因为这里面有太多未知的东西。相反,他们却喜欢建立一个不断成长的框架。播散种子,为之浇灌、除草及施肥。如果运气好的话,沿着这条路走下去,也许能收获一个不错的、健康的、不断发展的企业架构。但是最终的架构看上去可能与最初设想的样子相去甚远。

Bloomberg 继续说到,这与企业架构(Enterprise Architecture)的概念有很大差异,企业架构要定义并建立一组最佳实践,通过它们去实现企业预期的最终目标。问题是:

发展企业……意味着它会像任何生物体的生长一样,没有确定的最终状态。一粒橡果最终将会长成橡树是确定的,但是这棵橡树到底长成什么样子,确实无法计划的。相反,橡果的 DNA 决定了会长出橡树这一基本属性,但是其他的东西就取决于后天的变化了。这类变化确定了复杂系统的特征:系统具有各种变化的属性,但这些属性综合起来却不同于任何部分的属性。就像生物界的机体依赖于变化一样,企业的发展同样依赖它。

Bloomberg 认为,改变企业架构的目标是没有意义的,相反应该引入一些新原则:

也许,应该为架构的变化确定最佳实践了。毕竟,如果我们可以对传统系统做架构,为何不能对复杂系统做呢?……我们到底能否找到实际做企业架构的方法?毕竟,企业架构需要的是复杂的、系统的方法。最后,还得看“能不能那样做企业架构(Enterprise Architecture)”。

JP Morgenthal 在这篇帖子的评论中说道,问题不在于企业架构的原则,而在于企业架构(Enterprise Architecture)这个词本身:

……企业架构这个词如果换成多维度架构(multi-dimension architecture)可能更好。后者更好地抓住了该活动的本质,而且没有将它限定在某个特定的范围内——范围视任务的大小而定。我一贯认为业务与多维度架构保持着紧密联系。人们设计的解决方案包括业务流程、工作流、应用、用户体验、网络连通、灾备 / 恢复等;但是,思考系统的任何一个部分可能对其他部分造成的影响时,还有哪些东西呢?对我而言,这才是最初创造企业架构(Enterprise Architecture)这个差劲词汇的本意所在。

我们是可以评论企业架构这个词是好或是坏,但是,而现在当人们已经接受了这个叫法的时候去改它,显然不是一个好建议。其结果只能是带来更多的迷惑和论战。根据 IEEE 标准 1471-2000 对于软件密集型的系统架构的描述,IEEE 建议:

架构是对系统、系统的内部组件、组件之间的关系、与外部环境间的关系、指导其设计和发展的原则等方面的基本组织。

此定义丝毫没有谈到最终状态——它所关心的是人们改进和发展系统时所遵循的原则,这与 Bloomberg 和 Morgenthal 所提出的定义非常相近。不过,根据该定义,为了使企业符合合适的架构原则,而对他尽心修补和改进即是架构。


查看英文原文: What Is Enterprise Architecture?

2011 年 4 月 26 日 05:353376
用户头像

发布了 184 篇内容, 共 64.7 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

Week 05- 作业一:一致性 hash 算法

dean

极客大学架构师训练营

架构师训练营第5周作业

Bruce Xiong

Week 05 命题作业

卧石漾溪

极客大学架构师训练营

就餐卡系统设计

倩

架构师训练营学习总结——缓存与消息队列【第五周】

王海

极客大学架构师训练营

架构师训练营 Week 05 作业

Wancho

开发人员应当避免的代价高昂的职业错误

小隐乐乐

职业规划 职业素养 架构师

不懂SpringApplication生命周期事件?那就等于不会Spring Boot嘛

YourBatman

Spring Boot SpringApplication

Week 05- 作业二:学习总结

dean

极客大学架构师训练营

springBoot集成rabbitmq并实现延时队列

生命在于折腾

RabbitMQ

Week5 一致性hash算法

TiK

【架构师训练营 - 作业 -5】一致性HASH算法实现

小动物

极客大学架构师训练营 作业 第五周

命题作业5-1 【C++实现版本】

天之彼方

c++

Spring 同名 Bean 加载策略

xiaoxi666

spring bean 同名 覆盖

分布式缓存、消息系统和异步架构

架构5班杨娟Jessie

极客大学架构师训练营

week2作业

倩

架构师训练营第五章作业

叮叮董董

架构师第5周总结

老姜

第五周作业-一致性hash算法实现

吴建中

极客大学架构师训练营

一致性哈希算法实现

老姜

Week 5 作业

Shawn

Java 线程池中的线程复用是如何实现的?

武培轩

Java 程序员 后端 线程池 源码解析

首次揭秘!​春晚活动下快手实时链路保障实践

Apache Flink

Apache flink 架构 实时计算

动手实现一致性hash算法

林昱榕

极客大学架构师训练营 分布式缓存 一致性哈希 一致性hash

架构师训练营 - 第 5 课总结 -20200704- 技术选型

👑👑merlan

负载均衡 缓存 分布式数据库 架构设计 消息队列

小师妹学JVM之:cache line对代码性能的影响

程序那些事

JVM 小师妹 性能调优 cache line

一致性Hash算法以及Java代码实现

架构5班杨娟Jessie

极客大学架构师训练营

使用@AutoConfigureBefore调整配置顺序竟没生效?

YourBatman

Java Spring Boot @AutoConfigureBefore

架构师训练营第五章总结

叮叮董董

联想来酷广谱化生存:后疫情时代的"硬核品牌"启示录

Geek_116789

你都如何回忆我,带着笑或是很沉默

小天同学

回忆 高考 青春

企业架构到底是什么?-InfoQ