应用云平台的可用性——从新浪SAE看云平台设计
云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Amr Elssamadisy 译者 张逸 发布于 2008年2月28日
如果你所在的开发团队正在采纳敏捷方法,或者正在考虑向敏捷的方向转变。你可以考虑选择Scrum或者其他任何敏捷方法,也可以将它们混合使用。如果你打算从局部开始实践敏捷方法,就可能会与所在的组织格格不入。你或许听说过敏捷方法中有这样一个角色,他的职责是保护团队不受到非敏捷世界的干扰。或者,你所听到的恰恰相反——他是团队不健全的标志,会导致产生我们与他们(Us vs. Them)之间的壁垒,形成局部优化。那么,哪一种观点才是正确的?你应该如何执行ScrumMaster或者与之等价的角色的职能?
早在2003年,Scott Ambler就撰写了一篇文章Running Interference,从一开始他就提到:
在理想的世界里,你希望做正确的事情:开发可以工作的软件,它能够以最适当的方式满足利益相关者的需求。你能够与利益相关者紧密合作,创建你认为适用的工件,而不是被迫创建不能增加价值的工件,并且总能在项目开发生命周期里最合适的时间去完成相应的功能。你需要在合适的时间能够找到合适的人员,并有权拒绝别人的“帮助”。换句话说,你能够完全掌控自己的命运。
现在,你可以停止大笑了。
接着,Scott给出了恳切的建议,以指导如何处理不太好的情形:
如果其他人顽固不化,无法将他们的开发方式转变为更为敏捷的一种,甚至在你竭尽所能地对他们进行培训,与他们沟通之后,他们依旧如此,你该如何应对?答案很简单——将他们排除在外。在美式足球队里,前锋线上总会有那么几个大块头,他们唯一的职责就是确保对方成员不能攻垒到四分卫位置(这会阻止球队向前移动)。在软件开发中,屏蔽者(Blocker)扮演的就是与之相似的角色,虽然不是从身体上,但却从方法和态度上阻止其他团队成员干扰自己的开发人员的进度。
一个屏蔽者需要完成官僚们要求的文档,参加他们的会议,并建立一个假象,让它看起来你的项目团队实际上就是在与其它小组一同工作。这样就能防止因为官僚们对开发人员的干扰而造成的进度延迟,使得开发人员能够“两耳不闻窗外事”地安心工作。官僚们总是打着他们“帮助”了团队的旗号,并以此来证明他们的存在意义。
最近,InfoQ就这类屏蔽的危险性采访了Scott:
InfoQ:屏蔽究竟是好,还是坏?
Scott:是的;) 正如我写到的那样,它应该并且只能是最后的选择。你应该设法就你正在使用的技术对其他人进行培训,这与了解他们正要完成的内容一样重要。多次的团队会议和讨论可以解决很多问题。如果这些都不奏效,那么你就可能需要采取屏蔽,这很令人遗憾,但却是使你走向成功的唯一策略。
InfoQ:ScrumMaster应该成为屏蔽者吗?
Scott:团队中的每个人都可以担负屏蔽者的职责。这个角色可以由每个人轮流担任,但通常都是由高级人员/负责人担任。
InfoQ:这难道不是创造一个我们与他们壁垒分明的心态吗?你是否同意这种心态通常会阻碍项目的成功通过?
Scott:是的,这样做确实带来很大的风险,可能不是一件好事情。我们需要齐心协力去理解每个小组试图达到的目标。我发现有许多敏捷开发者已经沉沦到为“邪恶官僚”粉饰太平的地步,这通常是因为他们并没有真正理解项目的远大前景。敏捷运动在为开发者提供指导原则方面贡献颇多,但是从另一方面来讲,它加剧了对开发新手的偏见,无视他们的价值。
InfoQ:那么,要用什么方式来代替呢?一个团队应该如何发展,才能够采用敏捷增加其价值,同时还能处理好与采取不同方式做事的其他人之间的关系?
Scott:答案就是明确各个小组的目标。如果你能够现身说法,通过敏捷方式可以达到这些目标,那么通常你就能够继续前行。也许你就会发现他们询问你的内容实际上是有意义的。
这不是第一次就屏蔽者的问题展开讨论。这是一个争论不休的问题,相关内容可以查看我们之前在InfoQ上讨论的内容 。
因此,如果你在一个非敏捷环境中采用敏捷,你可能需要一个屏蔽者——但必须谨慎。需要注意到“我们”与“他们”之间产生的壁垒,会滋生一种坏气味。要聆听非敏捷者的声音——他们同样在努力地干好工作,并为整个组织作出了贡献。
查看英文原文:Is the ScrumMaster-as-Blocker a Pattern to Follow or a Smell to Avoid?译者 张逸 是一个怀揣梦想的架构师,沉迷于设计之美,著译作包括《软件设计精要与模式》、《WCF服务编程》等。
云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪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分布式远程服务技术受到越来越多的关注,本文将对各种相关实现以示例的形式逐一介绍,并总结其中的优缺点,使读者能够在技术选型时有所准备。这是文章的下篇。
没有回复
关注此讨论 回复