应用云平台的可用性——从新浪SAE看云平台设计
云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Gavin Terrill 译者 王丽娟 发布于 2008年5月13日
卡内基梅隆®软件工程学院(SEI)最近发表了“适用于评价和改进架构能力的模型”,这篇87页的报告分析了软件架构师和组织怎样才能营造持续生产高质量架构的环境。摘要摘抄如下:
软件架构能力是个人或组织获取、使用、胜任对开展以软件架构为中心的实践来说必不可少的技能和知识。以前架构的工作主要集中在它的技术方面:创建、分析、 使用架构的方法和工具。然而,不同的观点认为,这些活动由组织中的人来执行,而那些人和组织可以利用有助于持续产生高质量架构的帮助。
报告认为人类行为和能力的四大模型同样适用于软件架构师:职责、技能和知识;人类绩效技术;组织协调;以及组织内学习。
软件架构师必备的职责、技能和知识(DSK)
作者(Len Bass、Paul Clements、Rick Kazman和Mark Klein)认为“职责、技能和知识构成了支撑其它个人架构能力的铁三角”,并根据从大量原始数据中得出的相当可观的研究成果,列出了每个领域的属性。
确认的职责包括:
确认的技能包括:
确认的知识面包括:
报告建议个人可以通过以下三种方式来提升自己的DSK能力:
人类绩效技术,一种适用于提高个人能力的工程学方法
在本节中,作者论述了如何利用由Thomas F. Gilbert创始的人类绩效技术(HPT):
(HPT的一个现代演化可参看六盒模式)。
作者确定了应用HPT的两个问题——如何度量架构师的绩效价值?计算这个价值需要什么基础设施?
到现在为止,我们只是初步思考了第一个问题,第二个问题还没有相关的报告。我们建议使用DSK模型中的职责来分离出架构师工作的各个方面。
组织协调,研究人和小组如何在组织中共享信息
报告的这一部分侧重于多地开发。报告提议,在每个小组都在处理同一个模块的前提下,依赖结构矩阵(Dependency Structure Matrix,DSM)可用来揭示模块之间的交互。DSM可以度量组织内需要多少协调:
满足协调要求的协调能力,架构施加给组织的这一能力是架构能力的一个方面。
报告接着讨论了协调的方法,包括讨论了架构师如何在各团队之间扮演一个协调者:
举例来说,有一位架构师在两组开发人员之间做协调,其好处就是可能获得额外的背景信息,并能在对前景做决定时利用两组的决定。协调者的损失则会包括瓶颈的可能性、引起延迟的可能性、以及在开发人员之间传递时信息丢失的可能性。
组织内学习,组织如何获取、吸收、利用知识来提升绩效的方法学
报告宣称,具有架构能力的组织有能力通过被称为“内观(mindfulness)”的方式把经验转化为知识:
比如在完成模块或子系统之后,架构团队对其进行评审或架构分析,以意识到什么进行得很好、什么进行得很糟,这样的架构团队就可做为使用用心学习的团体的范例。
结论
报告最后面的几章重点概况了模型的主题,比如:
指导其他架构师很有可能产生高质量的架构。因为接受辅导是获取真实世界经验的有效方式,从而成为一名更有能力的架构师。
此外,报告论述了能力评价的一些问题该如何实行,比如在考虑职责的时候:
职责:创建一个架构
问题:如何创建一个架构?
- 如何确保架构与业务目标是相匹配的?
- 架构创建过程的输入是什么?提供给架构师的输入是什么?
- 架构师如何验证提供的信息?输入不充分/不适当的情况下,架构师该怎么做?
作者没有推出一套堂皇的“能力统一模型”,相反,提供了一些利用多个模型来改进的策略,最后总结道:
四个模型合起来能用多种方式提供强有力的覆盖。它们提供了对过去绩效和当前活动的一种基本度量方法。它们覆盖到的可观察的可能性有:工件、过程、人和组 织。最后,它们能以一组的方式很好地应用于个人、团队和组织。这样的覆盖给了我们信心,相信这四种模式合起来将产生有价值并可靠的结果。
该报告可以从此处下载(PDF,990 KB)。
查看英文原文:Evaluating and Improving Architectural Competence - A New SEI Paper
译者 王丽娟 王丽娟,04年大学毕业后持续从事Java EE中间件产品的开发,现在主要关注Java技术及中间件产品在云计算环境中的发展趋势和应用。
云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。
淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011。
2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。
12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011。
篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011。
本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。
随着JDK 7的发布,字节码指令集终于迎来了第一位新成员——invokedynamic指令。这条新增加的指令是JDK 7实现“动态类型语言(Dynamically Typed Language)”支持而进行的改进之一,也是为JDK 8可以顺利实现Lambda表达式做技术准备。在这篇文章中,我们将去了解JDK 7这项新特性的出现前因后果和它的意义。
随着互联网应用的发展,Java分布式远程服务技术受到越来越多的关注,本文将对各种相关实现以示例的形式逐一介绍,并总结其中的优缺点,使读者能够在技术选型时有所准备。这是文章的下篇。
没有回复
关注此讨论 回复