译自 http://www.sei.cmu.edu/architecture/eight_lessons.pdf
大家都知道历史学家并不愿意以过去预测未来。通常预测几年内的变化是可能的,但当新的演变产生交互作用,就算最消息灵通的人也无法透过这些事件准确地预测。然而,历史学者仍强调,虽然以过去无法预设未来,但仍可提供了解未来的”基本指引”。
”架构(Architecutre)”这个名词引进到计算机/信息技术领域已经约有 40 年。这 40 年的历史可以提供什么样的课程和对未来的指引?更重要的,IT 架构可以从相邻的领域学到什么,例如:军事、市政、金融、数学、天文、社会和医学。答案是:很多。
市政、金融和军事拥有超过 5 千年结合在一起的历史,在金融、军事、法律和外交等领域,对历史的知识是基本要求。在本文中,你将可以看到对 IT 而言,历史的知识一样重要。
#1 了解 IT 架构的复杂性
举例来说,想一下在任何领域类似的架构概念:
根据古老的传说,印度国王 Shirham 想要奖赏他的大臣 Sissa Ben Dahir,为了他发明并献上西洋棋。聪明的大臣其愿望似乎不大,他跪在国王前说道:「皇上,请放在棋盘上第一格一粒麦子,第二格两粒,第三格四粒,第四个八粒,以此下去每一格是前一格两倍的数量,就让我有足够的麦子来覆盖 64 格吧。」
「喔,我忠诚的臣子,你要求的不多」国王惊呼。窃自高兴臣子慷慨的提议,神奇游戏的发明者要求的不多。「我允诺你的愿望」,国王并下令搬一袋麦子到王座前。
但当计算开始,第一格放入了一粒麦子,第二格两粒,第三格四粒,如此地持续下去,在第 20 格前就用光了袋子内的麦子。更多袋的麦子被搬到国王跟前,但仍无法满足持续快速增加的下一格,很快地国王了解到倾全印度的收成都无法满足他对 Sissa Ben 的承诺。这需要 18,446,744,073,709,551,615 粒麦子,等同全世界麦子的产量累积 2000 年。
在 21 世纪的 IT 架构有近似的问题 – 商业流程整合。过去 20 年来,企业耗时在建置因特网应用程序。现在,企业需要面对的不仅是建立新的应用程序,还需处理令人却步的整合既有系统。每当你投资新建 IT 应用程序,就代表一个新旧整合的需求。若企业内已经有 200 个既存系统,意味着系统间可能有 200*(200-1) = 39800 种连结方式,其结果明显地不会太好看。
第 1 课:每当你为企业加一个系统,想想 n(n-1) 情境,不久后,巨兽将反噬你。
#2 了解过去 40 年来技术导入的趋势
计算计算机的世代必然引发争议 – 机器不像人类有家谱。但以下列出的 5 代大致还说得过去:
计算机世代
|
1.主机
|
2.mini 计算机/WAN
|
3. PC/LAN
|
4.Client/Server
|
5.因特网
|
6.普遍运算
|
年代
|
<chmetcnv w:st="on" unitname="’" sourcevalue="60" hasspace="False" negative="False" numbertype="1" tcsc="0"><span lang="EN-US" style="FONT-SIZE: 10pt; mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN">60’</span></chmetcnv>s
|
<chmetcnv w:st="on" unitname="’" sourcevalue="70" hasspace="False" negative="False" numbertype="1" tcsc="0"><span lang="EN-US" style="FONT-SIZE: 10pt; mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN">70’</span></chmetcnv>s
|
<chmetcnv w:st="on" unitname="’" sourcevalue="80" hasspace="False" negative="False" numbertype="1" tcsc="0"><span lang="EN-US" style="FONT-SIZE: 10pt; mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN">80’</span></chmetcnv>s
|
80 年代后期 – 90 年代初期
|
90 年代中期
|
2005+
|
导入时间
|
10+
|
7+
|
6+
|
5+
|
3+
|
|
很明显地,过去五代以来,技术开发与导入的步伐正在加速。在旧技术让路给新技术的同时,它们仍必须和平共存。因特网革命,dot com 出现,委外风潮,以及达到易于管理和安全等企业关注的焦点,这些需求提升了 IT 架构的策略价值。商业流程整合获得关注,IT 部门压力依旧,要整合异质数据、系统和流程,横跨企业与外部的延伸,包括客户、伙伴和供货商。因此,现今的 IT 架构需要复杂的商业和技术决策,同时,有高比例的下一代生产利润奠基于对当下 IT 架构之决策。
注意,我们并非针对”完美”方案 – 没有”完美”方案。如同在大型企业的复杂架构中没有清楚的黑白之分,我们只能时常在相互冲突的目标中,尝试找寻难得的平衡与妥协。
浏览大量的 IT 架构决策需要大量的专业,在此 IT 可以向伟大建筑的建筑师学习,他们让城市风貌演变至今日。凯萨大帝(Julius Caesar)时期的大建筑师 Vitruvius 描述理想的建筑师应如下:
“理想的建筑师应同时为文人、数学家,熟悉历史,哲学下的勤勉学子,精于音乐,稍懂医学,认识法律,通晓天文和关于天文的计算。”
Vitruvius 本人不但撰写关于城市计划和建筑材料的著述,也论及天文、医学、音乐与艺术 – 甚至是约法。
将广泛而深刻的技巧投资在你最好的架构师身上,保持冷静的大脑,必要时,掌控计算过且完全了解的风险,凭经验与专业的洞见判断。在找寻复杂架构下可用、好用的解决方案时,IT 架构师需兼具尽心分析,专业与态度成熟。
第 2 课:无可取代的健全的 IT 架构技巧 – 清楚简单
#3 模拟巴黎建筑
IT 架构与城市建筑有许多相似处 – 建筑师、建筑业、建筑材料。
当 1853 年拿破仑 3 世指派 Baron Georges-Eugene Haussmann 为部份的巴黎重新规画时,Haussmann 扫除了许多杂乱的旧街道,以他自己对于新城市的概念取代 – 宽广笔直的大道与华丽的表面,交会处结合纪念碑、公共建筑和城市大门或铁路车站等重点。为提供充足的交通流量,旧街道拓宽并与新路相交,同时大的铁路车站建在旧城市外环,并提供多个宽阔的入口。结果是今日的巴黎拥有 Beaubourg 和 La Defense,它现代化且高效率但仍能明辨历代的装饰。巴黎成为所有欧洲城市的评量标准。Haussmann 尝试保存报修缮旧的可用资产,同时合谐地取代并加入新事物。
Haussmann 的建筑策略大体底定今日的城市风貌,尽管已经过百年。
巴黎建筑策略为 IT 架构提供了许多有用的指引。确定你有 IT 架构的蓝图,并规划短程与长程商业目标。更重要的,利用蓝图引导规划进程与 IT 投资策略。在加入新系统与整合商业流程或添加物时,使用大图(big picture)。随着明了细微的商业逻辑,逐步引导与开展架构。
第 3 课:发展 IT 架构的”大图”,用它来引导并解决你的商业问题与 IT 投资策略。
#4 为软件架构趋势做准备
在 IT 架构史中,软件架构已经有很大的演变。我们利用软件架构的开端来描绘它的趋势如下:
a) 2000 年之后 – 因特网,敏捷计算
b) 90 年代 – 分布式计算,Y2K
c) 80 年代 – 对象导向分析设计
d) 70 年代 – 模块化和结构化程序
e) 60 年代 – 模块化和结构化程序
强大的力量主导软件架构的演变,包含物理上的相对论与混沌理论,以及商业需求变异和不断地技术更新。主导变动需要积极的架构计划、重用 pattern/framework、正确的工具,以定义与管理架构。
IT 架构须遵循”自然律”来设计与施行。就像机器不照构造需求来操作,IT 架构也会失效。你不能从最高档直接切入倒车档,也无法在沙地或水上开车。积极正向的思考,为商业团队准备升级新技术的价值之论述,预期成因,管理结果乃成功 IT 架构之基础。
第 4 课:每十年都有一次软件架构迁移,如果没有准备好,那你注定失败。
#5 使用,开发和重用架构 pattern
军事历史是基础代表保有过去战争的经验,并传授给新兵或经验不足的军人。军事史学家整合不同的史料来源,包含参考书,访谈军事领导人和策划者,并科学地分析从战地找到的事物。彻底研究过往战争可提供战略与战术珍贵地深入分析,以因应现代化战争。军事领导者、指挥官乃至于军人都可以从前辈的经验汲取教训。
撇开军事,我们在城市、金融,甚至是社会架构都可以看到应用 pattern。本质上,pattern 可以用在倡导专业技术,不仅仅是军事、城镇或建筑。
计划想取得领先与竞争力的企业,在应用 IT 解决方案以处理商业问题的因特网世界里,pattern 是一个重要的工具。
第 5 课:在快速变迁的商业氛围中,使用印证过的 pattern 以加速你的 IT 架构,并从今日的经验演化你的 pattern 以因应明日的需求。
#6 技术投资的时机很重要
关于资本和证券市场的本质,金融史提供了的无价智慧。同时历史的智慧并无法让聪明的经济学家准确地预测未来,它让他们可以定位风险才得以控制。事实上,一些赢得诺贝尔奖的经济理论已成为金融史分析的结果。经由欧洲文艺复兴到现代世界的历史活动,金融已经在财务上建立了重要的概念,风险和回报是纠结在一起的。如果我们想要有高报酬的机会,就要面对高风险。如果企盼安全,就要甘愿低回收。
在 IT 架构世界,风险和回馈也是联结在一起的,就看我们如何应用技术以解决商业问题获得竞争力。尽管 IT 架构没有像金融一般可供夸耀的长史,过去 40 年来仍呈现了技术上的先驱者总比后来者更有竞争力。而照定义,先驱意味着更多的风险。
第 6 课:如同金融,技术投资的风险和报酬是纠结在一起的。
#7 架构理论的重要
相关理论中,或许 IT 架构可从长远而丰富的城市建筑史学到很多,从公元前 30 年到 20 世纪的演变,城市建筑师从历史建筑学习指导原则,艺术灵感和关键控制。
约在公元前 30 年,Vitruvius 撰写了一系列广泛的建筑理论,分为十部分。涵盖不同的主题,如教育和建筑师的专业领域,实际的考虑,如选择新城市的位置,建材的处理,详细规范不同型式建筑的设计。2000年来,城市建筑的理论和实务随着伟大的建筑师如 Alberti、Francois Blondel、John Ruskin、Frank Lloyd Wright、Venturi 而演变,他们延续着 Vitruvius 的脚步并扩展理论,以建构富含文化意义的设计。但 Vitruvius 功绩的重要性在于即使经过了 2000 年,他 1/3 的著作仍触及建筑理论的重大议题。思考计算机对现代设计方法和规划的影响是值得赞赏的。
IT 架构可从 Vitruvius 和其它城市建筑师先驱获得的广泛讯息是:正确的知识、
建筑理论的应用和实务专业一样不可或缺,也才能将概念化为真实。事实上,此种体认可能是创造性自由与创新的前置条件。为此,过去 20 年来,IT architecture frameworks 的出现,如 The Zachman Framework、TOGAF(The Open Group Architecture Framework)是值得鼓励的。
第 7 课:流畅的建筑理论知识与实务引导出适用的建筑。
#8 失能和灾难计划的重要
天文学家几千年以前就在研究彗星所造成的冲击,准确的是从莎士比亚时期。从有记载的数千年历史以来,近两世纪才脱离盲目恐惧慧星。慧星是会造成大灾难 – 但如同我们现在所知,那要它真的撞上地球。但对于大多数的人类历史而言,慧星预言着重大灾难,例如莎士比亚的凯萨大帝(Julius Casear)中,罗马女皇 Calpurnia 提醒她夫君关于国家领导人的陨落。
经过数个世纪,天文学家已经发现一群周期性运转的彗星,包括 Halley、Swift-Tuttle 和 Levy。天文学家的结论是每一个世纪约有 1/1000 的机会,会有 1 公里或更大的小行星撞上地球,经过一万年则机率增长到 1/10。而当彗星或小行星若在下 1/4 个世纪撞上我们,天文学家已经规划了减轻地球灾难的事物。
当彗星撞击是潜在的最大风险与结果之案例,IT 架构学到的是风险分析,须在事件发生前而非事后,想到灾难计划和商业持续性。
第 8 课:记载你商业上 IT 组件的危险因子,发展缓解风险的策略,并让它成为 IT 架构的策略之一。
结论:
我们可以看到,通过数个世纪以来的事件,也有些不愉快的案例,我们已经了解本文中所谈及的课程。IT 架构可以藉由记载和使用自身历史或其它产业所凝结的 pattern 迈向下一个成熟阶段。如同美国哲人 George Santayana 所言:”进步,并非存在于改变,而是依恃记忆,那些无法记住过去的,将受重蹈覆辄之诅咒。”
分享到:
相关推荐
基于深度学习的历史问题链探究 本研究探讨了基于深度学习的历史问题链探究,以高中历史教材中的三个教学片段为例。研究表明,历史问题链设计需要遵循五大原则:基于学生认知、聚焦核心知识、呈现启发开放、依托史料...
- **内容结构**:通过24堂课的形式,每堂课都围绕一个主题展开深入讲解,并配合大量的实例练习。 #### 二、核心知识点详解 ##### 1. PHP概述 - **定义**:PHP是一种广泛使用的开源脚本语言,特别适用于Web开发并可...
3. **“课魂”感悟**:每堂历史课都应该有其核心概念,即“课魂”,这是教学的目的所在。教师在备课时,需深入挖掘教材,找出每个教学单元的独特价值,并引导学生探讨这些知识在现实生活中的意义。通过揭示历史事件...
### 学通VC24堂课第20节——网络编程 #### 20.1 计算机网络基础 ##### 20.1.1 计算机网络发展历史 计算机网络的发展历程大致可以分为四个阶段: 1. **面向终端的联机系统**:早期的计算机网络主要是以一台大型...
系统功能结构图清晰展示了企业内部通讯系统的各个模块:信息通讯、用户管理、系统设置、用户搜索、访问对方主机、发送信息历史等。这些模块共同支撑起通讯系统的核心功能。 #### 数据库设计 数据库是通讯系统的...
3. 定义模型架构:选择合适的机器学习算法,如逻辑回归、决策树、随机森林或神经网络,并配置相应的超参数。 4. 训练模型:使用训练数据集来拟合模型,调整权重以最小化预测误差。 5. 评估模型:通过验证数据集...
《ARM嵌入式Linux课件》第一课是针对嵌入式系统开发的初学者而设计的一堂重要课程,主要关注ARM架构与Linux操作系统在嵌入式领域的应用。嵌入式系统是计算机科学的一个分支,它涉及到硬件和软件的集成,用于特定的...
总结来说,这堂课涵盖了秦朝统一的历史背景、皇帝制度的起源与特征、中央官僚机构的架构及其特点,以及郡县制推行的原因和意义。通过深入学习,学生能够全面了解秦朝如何构建起中央集权制度,从而对中国古代政治制度...
总结来说,《将军得胜令》既是一首饱含历史内涵与艺术魅力的传统音乐作品,也是一堂生动的民族历史和文化教育课。它不仅以激昂的音乐语言讲述了古代战场上的辉煌故事,也展示了中国传统民族乐器的独特魅力和音乐表现...
这个30多堂课的课程将逐步深入这些主题,通过实例和案例分析,帮助学习者扎实掌握MySQL的相关知识。对于初学者来说,这是一条很好的学习路径,可以为他们在数据库管理和开发领域打下坚实的基础。
总的来说,这堂课的内容全面覆盖了网络营销的历史、理论、实践和未来趋势,对理解电子商务的运作机制及其对商业的影响具有重要的价值。通过学习,学生可以掌握制定和执行网络营销策略的关键技能,并为未来的商业活动...
通过这堂课,学生们不仅学习了计算机基础知识,还被鼓励去思考和预测计算机技术的未来,培养他们对科技进步的积极态度和探索精神。同时,课程也强调了正确理解和评估计算机技术对日常生活和科技发展的重要性。
通过这些文件,学习者可以系统地学习软件工程的各个方面,从需求收集到项目结束,涵盖了理论和实践的多个层面。这不仅有助于理解和掌握软件开发的过程,还有助于培养解决问题和项目管理的能力。在实际工作中,这些...
此外,每堂课还会安排课堂小结和作业,以检验学习成果并巩固知识。 通过这门课程的学习,学生不仅能够全面理解智能建筑的信息化系统,还能掌握网络系统工程中的实际操作技能,为未来从事相关领域的工程设计、安装和...
【标题】"info_C_cours9_2016_students_Infographie_" 暗示这是一份关于“信息图形”(Infographie)的课程资料,可能属于2016年第九堂课的学生项目。这个标题可能代表了课程的主题,其中“C”可能指的是课程代码或...
2. **课时安排**:合理规划每堂课的时间,确保课程内容能够得到充分讲解和实践。 3. **教学目标**:明确每一项活动的教学目标,以便教师在教学过程中有明确的方向。 4. **活动内容**:详细列出每一项活动的具体内容...
综上所述,《那一串记忆的珍珠——动人的北平》不仅是一篇文学作品,也是一堂生动的文学鉴赏课。通过对林语堂散文的研究,学生可以学习如何深入分析一个作品的外在形式和内在思想,进而提升自己的文学鉴赏能力。同时...
- **Q&A环节**:每堂课结束后,会留出一定时间供学生提问和答疑,鼓励大家积极参与课堂互动,以便更好地理解和消化课程内容。 通过上述介绍,我们可以看出,《管理信息系统》这门课程不仅注重基础知识的教学,更...
整个少先队入队仪式,不仅是新队员加入少先队的庆典,更是一堂生动的爱国主义教育课。在这一过程中,孩子们深刻体验到集体的力量,理解并承担起作为少先队员的责任,同时也激发了他们对国家和民族的热爱之情。通过这...
这款应用程序不仅提供了添加和删除课程的功能,还与其他实用功能相结合,如链接到学校的实时课程页面,可能还包括提醒服务,以确保用户不会错过任何一堂课。 在技术实现方面,该软件是用Java语言编写的。Java是一种...