大规模视频网站的计费与流量管理
本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Amr Elssamadisy 译者 孙向晖 发布于 2007年9月6日
一份来自Cutter Consortium的报告向我们提出了这样一个问题:“敏捷方法和企业架构兼容吗?”并且也给出了这样一个答案:“是的,但需要付出努力”。该报告的作者推荐运用特殊技巧以允许敏捷方法和企业架构互相受益。此外,他们的观察结果、分析和建议也直接是适用于敏捷方法和“面向服务的架构SOA”之间的结合。
企业架构(EA)和敏捷方法(AM)拥有共同的目标——交付能够跟业务需要对齐的软件,并响应对这些业务需要无可避免的变更。然而,EA和AM在达成这个目标时却采用了截然不同的方式。在报告中,对EA和AM定义如下:
EA处理如下的企业级问题:
- 通过提供一个整体的业务过程蓝图将业务策略连接到IT系统,蓝图可以映射到架构模式、核心服务和应用兼容性等方面。
- 通过维护一个当前的数据模式(schemas)、过程流和服务定义等内容的详细目录来改进贯穿于整个企业的一致性
- 通过减少系统间的冗余以及标识可以统一的组件和系统来改进操作效率
- 确保灵活的IT能力,能够响应技术厂商以及新的或者增强性的业务流程自动化的变化
- 通过维护IT 组合(portfolio)、当前和目标架构以及迁移路线图来支持项目成本化和优先级划分
- 为正在进行中的操作和系统开发提供一个稳定的、可信赖的基础设施平台和公用服务
敏捷方法关注于以下观念:
- 改进效率:关注于近期的问题,仅开发能够满足当前需要的的部分,允许以后形成设计
- 改进项目可见的可管理性:关注于允许任务的完成能被有效评估的短期的、迭代的开发周期
- 通过提供一个完整的过程,关注于广泛的自动化测试、尽可能早并且经常解决集成问题、允许多个(缺少丰富经验的)开发人员在共同的代码上开展工作以及从最终用户处得到持续反馈等方式来改进质量。
- 通过建立在持续重构过程上的集成来改进(内部质量的)可维护性
- 改进处理变更的能力:它是一个需求变更、一个澄清、一个新的需要优先处理的特性?通过综合客户反馈计划迭代内容。
- 通过隐式知识的使用、共享的团队空间以及关注问题的小的组成部分来改进交流效果。
我们会先从EA的视角来检验AM然后反过来检验以分析EA和AM之间的鸿沟。从EA的视角来看:
从AM的视角看,EA也不是非常有意义的:
报告的标题确实说:“是的,但需要付出努力”,所以仍然还有希望。但需要EA组和AM项目认识到对方有价值的贡献,并在他们的工作中做出适应性调整。EA组和AM团队可以相互得到以下收益:
InfoQ同报告的两位作者(Michael Rosen和Jim Watson)就该专题的内容以及导致他们给出的推荐方案的客户经验等方面进行了交谈。Jim Watson描述了最场景的场景:
一个曾经使用过其中一种但因为缺乏对另一个的使用而失败了的项目会最大程度拥有使用两者的经验。例如,一个重要的文档处理系统可以使用最好的AM实践开发出来,但不能协调好系统的EA需要如跨越需求、接口、和操作性问题等。作为选择,一个采用瀑布方式的项目会准备妥当它的所有的企业架构,但是却不能向及早的向客户展现它的价值,或者不能够通过有意义的迭代来解决风险问题。所以,这些paper都是来自于经验的,例如:项目是如何因为忽略了其他可行的规程才陷入这种境地的,有效的处理方式是什么等。
一个意义更加深远的案例可能是在项目启动时均衡EA和AM。 然而,这其实非常难,很少发生,主要是因为组织性问题,以及谁在过程的哪个部分被涉及的角度。你会看到很多的失败,例如架构师跟客户(更惨的是在根本没有客户)但没有开发团队参与的情况下整理需求,然后开发团队脱离开架构师进行接管。
Jim Watson和Michael Rosen告诉我们,关于这个专题的范围,SOA可以被看作是EA的一个实例。因此这里所有相关的问题和解决方案适用于采用了SOA并存在AM团队的组织(无需惊讶,这与InfoQ上的文章SOA和敏捷:是朋友?还是敌人?相吻合)
EA和AM的交互并不依赖于SOA,但值得注意的是SOA提供了相互的兴趣和问题以允许进程一起使用EA和AM。例如,想在一个SOA主导的项目定义真正有用的业务级别的服务可能具有难度,一个缺乏AM开发实践的由EA主导的SOA会产生许多的SOA shelfware,因为它很难实现或者仅仅定义出不是真正需要的接口。
一个推荐的方案是, 对一个AM团队而言它被当作架构的一个包含部分,作为每个团队的成员与EA组进行联络。当被要求阐明推荐Architect Reloadus 或是 Architect Oryzus(其定义见Martin Fowler的Who Needs an Architect? )中的哪种架构类型时,Michael Rosen建议哪种也不采用。在大的组织中会拥有重要的EA组,一个典型的IT组可能拥有2000个员工,500个架构性的重大项目,在EA组中只有70个架构师。没有足够的架构时可供应因此Architect Oryzus很难应用。Architect Reloadus同样不能得到应用,因为它们没有可实施的环境。有效的架构师的使用方式是作为一个单独的AM团队的咨询顾问,这样,一个来自EA组的架构师就可以发挥效用而不是嵌入到团队中。
所以,拥有EA组和AM团队的组织不必要互相容忍,虽然他们拥有共同的目标,他们的缺省操作模式是不与其它成对的并且(成对使用通常会)产生问题。因此这些实践等对达成企业的战略目标和交付战术性的软件项目非常有用。
最后,完整的报告可以从http://www.cutter.com/events/multimedia/agilemethods.html 处下载,在页面的底部还包括推广报告所用的代码。
查看英文原文:Making Agile Methods and Enterprise Architecture Play Nice本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011。
Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。
云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪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。
本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。
没有回复
关注此讨论 回复