出版时间:2013-1 出版社:人民邮电出版社 作者:[美] Martin L. Abbott,[美] Michael T. Fisher 译者:张欣
Tag标签:无
内容概要
任何持续发展的公司,最终都需要考虑如何扩展它的系统、组织和流程。这不仅仅是技术问题,还涉及组织、流程、架构等方方面面。扩展组织、流程和系统使之相互支持,达到良性循环,也不仅仅是门科学,还是一门艺术。Martin L.Abbott、Michael T.Fisher编著的《可扩展的艺术(现代企业的Web架构流程及组织)》正是对此提供了全面的、实践证明确实有效的解决思路和实用技巧。
对于负责非技术类业务的执行主管或产品经理来说,《可扩展的艺术(现代企业的Web架构流程及组织)》会帮助你明确地提出正确的可扩展性问题,分析并做出正确的决策。而对于技术主管和工程师来说,本书会帮助你解决对扩展造成负面影响的组织和流程方面的问题,并为构建具有更高可扩展性的平台提供了技术模型和建议。
作者简介
Martin L.Abbott增长和扩展咨询公司AKF Partners的创始合伙人之一。在此之前,他是Quigo公司的COO,负责产品战略、产品管理、技术开发和客户服务。在Quigo之前,他在eBay工作了将近六年,最后的职位是技术部的SVP、CTO和执行主管团队成员。在eBay之前,他在Gateway和摩托罗拉担任过程序员、管理者及执行主管。他现任onForce、LodgeNet Interactive(NASD: LNET)以及Bullhorn的董事会成员。此外,他还在Rearden Commerce、Goldmail和LiveOps担任咨询委员会的成员。在西点军校取得计算机科学的学士学位后,他在佛罗里达大学取得了计算机工程的硕士学位,并还参加过哈佛商学院的高级经理培训课程,现正在美国凯斯西储大学攻读管理学的博士学位。Michael T. Fisher增长和扩展咨询公司AKF Partners的创始合伙人之一。他曾在Quigo担任了两年的CTO,在Quigo被AOL收购后的过渡期,还担任过这家公司的总裁。在Quigo之前,他是PayPal公司(eBay旗下公司之一)的开发和架构副总裁,负责建立一个有两百多位工程师的组织。在加入PayPal之前,他在GE工作过7年,致力于开发公司的技术战略和流程。在西点军校取得了计算机科学的学士学位后,他在夏威夷太平洋大学取得了硕士学位,后在肯尼迪西部大学取得了信息管理系统的博士学位,在美国凯斯西储大学获得了MBA。此外,他还是六西格玛黑带大师,现正在美国凯斯西储大学攻读管理学的博士学位。
书籍目录
目 录导言 1第一部分 可扩展组织的人员配备第1章 人员和领导力对可扩展性的影响 61.1 AllScale简介 61.2 为什么要考虑人员 71.3 为什么要考虑组织 81.4 为什么要考虑管理和领导力 121.5 结论 14本章要点 14第2章 可扩展技术组织中的角色 152.1 失败的后果 152.2 角色的定义 162.3 执行主管的职责 172.3.1 CEO 182.3.2 CFO 192.3.3 业务单元责任人和P&L责任人 192.3.4 CTO/CIO 192.4 组织的职责 202.4.1 架构团队的职责 212.4.2 软件开发团队的职责 212.4.3 生产运营团队的职责 212.4.4 基础设施团队的职责 222.4.5 质量保证团队的职责 222.4.6 产能计划团队的职责 222.5 个人贡献者的职责和特征 232.5.1 架构师 232.5.2 软件工程师 232.5.3 操作员 242.5.4 基础设施工程师 242.5.5 QA工程师/分析师 242.5.6 产能计划员 252.6 一个组织示例 252.7 定义职责的工具 262.8 结论 28本章要点 29第3章 设计组织 303.1 影响可扩展性的组织因素 303.2 团队规模 323.2.1 警示信号 353.2.2 扩大团队或拆分团队 363.3 组织架构 383.3.1 职能型组织 383.3.2 矩阵型组织 403.4 结论 42本章要点 43第4章 领导力101 444.1 什么是领导力 454.2 领导力的一个概念模型 464.3 评估你是谁 474.4 身先士卒 494.5 保持谦虚的态度 494.6 使命第一,人员至上 504.7 做出及时、合理、符合道德的决策 514.8 给团队授能和可扩展性 514.9 一切围绕股东价值 524.10 愿景 534.11 使命 554.12 战略目标 554.13 整合愿景、使命和战略目标 574.14 通向成功的因果图 594.15 结论 61本章要点 61第5章 管理101 635.1 管理是什么 635.2 项目和任务管理 645.3 建设团队——一个运动比喻 655.4 提升团队——一个花园比喻 665.5 衡量方法、指标和目标评估 695.6 目标树 715.7 为成功铺路 725.8 结论 72本章要点 73第6章 进行商业论证 746.1 理解经验的鸿沟 746.1.1 为什么业务主管可能成为问题所在 756.1.2 为什么技术主管可能成为问题所在 756.2 破除企业思维定式 766.2.1 建立关系 786.2.2 树立榜样 786.2.3 培训其他主管 786.2.4 利用RASCI模型 796.2.5 用商业语言交谈 796.2.6 让他们参与进来 796.2.7 用事实让主管团队感到恐慌 806.3 为扩展论证 806.4 结论 83本章要点 83第二部分 制定扩展流程第7章 理解流程对扩展的重要性 867.1 流程的目的 877.2 正确的时间,正确的流程 897.2.1 需要有多严苛 907.2.2 需要有多复杂 917.3 好的流程何时会变成坏的 937.4 结论 93本章要点 94第8章 管理故障和问题 958.1 什么是故障 968.2 什么是问题 968.3 故障管理的步骤 978.4 问题管理的步骤 998.5 化解故障管理与问题管理之间的冲突 1008.6 故障和问题的生命周期 1008.7 召开每日故障例会 1018.8 召开季度故障回顾会议 1028.9 事后分析流程 1028.10 综合应用 1048.11 结论 106本章要点 106第9章 管理危机和升级 1079.1 什么是危机 1079.2 为什么要把危机与其他故障区分开来 1089.3 危机如何改变一个公司 1089.4 为混乱赋予秩序 1099.4.1 “问题经理”的角色 1109.4.2 团队经理的角色 1119.4.3 首席工程师的角色 1129.4.4 个人贡献者的角色 1139.5 沟通和控制 1139.6 作战室 1149.7 升级 1159.8 状态沟通 1159.9 危机事后分析会议 1169.10 危机后续跟进和沟通 1179.11 结论 117本章要点 118第10章 控制生产环境中的变更 11910.1 什么是变更 12010.2 变更识别 12110.3 变更管理 12210.3.1 变更建议 12310.3.2 变更批准 12510.3.3 变更日程安排 12510.3.4 变更实施和记录 12710.3.5 变更验证 12710.3.6 变更审查 12710.4 变更控制会议 12810.5 持续的流程改善 12810.6 结论 129本章要点 129第11章 确定应用的余量 13111.1 流程的目的 13111.2 流程的步骤 13211.3 理想的使用比例 13511.4 结论 137本章要点 138第12章 探讨架构设计原则 13912.1 原则和目标 13912.2 原则选择 14212.3 AKF的十二条架构设计原则 14312.3.1 N+1设计 14312.3.2 设计为能够回退的 14412.3.3 设计为能够禁用的 14412.3.4 设计为能够监控的 14412.3.5 设计为多个活动站点 14412.3.6 采用成熟的技术 14412.3.7 设计为异步的 14512.3.8 无状态系统 14512.3.9 进行横向扩展而不是纵向扩展 14512.3.10 设计为至少可以在两条轴上进行扩展 14512.3.11 非核心的组件可以购买 14512.3.12 采用同质化硬件 14512.4 扩展原则深度解析 14612.4.1 设计为能够监控的 14612.4.2 设计为多个活动站点 14712.4.3 设计为异步的 14712.4.4 无状态系统 14812.4.5 进行横向扩展而不是纵向扩展 14812.4.6 设计为至少可以在两条轴上进行扩展 14912.5 结论 150本章要点 150第13章 联合架构设计 15113.1 修正组织的功能障碍 15113.2 设计为能够跨部门扩展 15313.3 开始条件和结束条件 15513.4 结论 157本章要点 157第14章 架构评审委员会 15914.1 通过审查确保可扩展性 15914.2 委员会成员 16014.3 会议实施 16214.4 开始条件和结束条件 16414.5 结论 165本章要点 166第15章 关注核心竞争力:构建还是采购 16715.1 构建还是采购与可扩展性的关系 16715.2 关注成本 16815.3 关注竞争优势 16815.4 “非我所建”现象 16915.5 结合成本和竞争优势 17015.5.1 这个组件能够创造竞争优势吗? 17015.5.2 我们是这个组件或资产最好的责任人吗? 17115.5.3 这个组件上的竞争如何? 17115.5.4 我们能经济有效地构建这个组件吗? 17115.6 AllScale公司的构建还是采购难题 17215.7 结论 173本章要点 174第16章 确定风险 17516.1 风险管理对扩展的重要性 17516.2 衡量风险 17616.3 管理风险 18116.4 结论 183本章要点 184第17章 性能测试和压力测试 18517.1 执行性能测试 18517.1.1 判断标准 18617.1.2 测试环境 18617.1.3 定义测试 18717.1.4 执行测试 18817.1.5 分析数据 18817.1.6 报告给工程师 18917.1.7 重复测试和分析 18917.2 压力测试不要有压力 19017.2.1 确立目标 19017.2.2 识别关键服务 19117.2.3 确定负载 19117.2.4 测试环境 19217.2.5 识别监控项 19217.2.6 制造负载 19217.2.7 执行测试 19317.2.8 分析数据 19317.3 可扩展性的性能测试和压力测试 19417.4 结论 195本章要点 196第18章 屏障条件和回退 19718.1 屏障条件 19718.1.1 屏障条件和敏捷开发 19818.1.2 屏障条件和瀑布开发 20018.1.3 屏障条件和混合模型 20018.2 回退能力 20118.2.1 回退窗口需求 20118.2.2 回退的技术考量 20218.2.3 回退的成本考量 20318.3 功能减负——设计为能够禁用的 20318.4 结论 204本章要点 205第19章 要快还是要正确 20619.1 业务上的权衡 20619.2 与可扩展性的关系 20919.3 如何做决策 21019.4 结论 213本章要点 214第三部分 构建可扩展的方案第20章 不受技术限制的设计 21620.1 实现并非架构 21620.2 不受技术限制的设计 21720.2.1 TAD和成本 21720.2.2 TAD和风险 21820.2.3 TAD和可扩展性 21920.2.4 TAD和可用性 22120.3 TAD方法 22120.4 结论 222本章要点 222第21章 创建故障隔离的架构 22421.1 故障隔离的架构的术语 22421.2 故障隔离的好处 22621.2.1 故障隔离和可用性——限制影响 22621.2.2 故障隔离和可用性——故障检测和解决 22821.2.3 故障隔离和可扩展性 22821.2.4 故障隔离和上市时间 22921.2.5 故障隔离和成本 22921.3 如何进行故障隔离 23021.3.1 原则1:什么都不能共享 23021.3.2 原则2:什么都不能跨过泳道边界 23121.3.3 原则3:在泳道内交易 23121.4 何时实现故障隔离 23121.4.1 方法1:把最赚钱的功能放入泳道 23221.4.2 方法2:把最容易引发故障的功能放入泳道 23221.4.3 方法3:根据自然界限划分泳道 23221.5 如何测试故障隔离的设计 23321.6 结论 233本章要点 234第22章 AKF扩展立方入门 23522.1 概念,还是规则和工具 23522.2 AKF扩展立方介绍 23622.3 扩展立方的含义 23722.4 扩展立方的X轴 23822.5 扩展立方的Y轴 23922.6 扩展立方的Z轴 24022.7 综合应用 24122.8 何时何地使用扩展立方 24322.9 结论 243本章要点 244第23章 为扩展划分应用 24523.1 应用的AKF扩展立方 24523.2 AKF应用扩展立方的X轴 24623.3 AKF应用扩展立方的Y轴 24823.4 AKF应用扩展立方的Z轴 24923.5 综合应用 25123.6 应用扩展立方的实际应用 25323.6.1 电子商务平台 25323.6.2 人力资源管理系统 25423.6.3 后台办公IT系统 25523.6.4 经验之谈 25523.7 结论 256本章要点 257第24章 为扩展划分数据库 25824.1 数据库的AKF扩展立方 25824.2 AKF数据库扩展立方的X轴 25924.3 AKF数据库扩展立方的Y轴 26224.4 AKF数据库扩展立方的Z轴 26424.5 综合应用 26524.6 数据库扩展立方的实际应用 26724.6.1 电子商务平台 26724.6.2 人力资源管理系统 26924.6.3 后台办公IT系统 26924.6.4 经验之谈 27024.6.5 时间方面的考量 27024.7 结论 271本章要点 271第25章 为性能和扩展进行缓存 27225.1 缓存定义 27225.2 对象缓存 27525.3 应用缓存 27725.3.1 代理缓存 27825.3.2 反向代理缓存 27925.3.3 缓存软件 28025.4 内容交付网络 28125.5 结论 282本章要点 282第26章 实现扩展的异步设计 28426.1 同步的定义 28426.2 同步调用,还是异步调用 28526.2.1 同步扩展,还是异步扩展 28626.2.2 异步系统示例 28826.3 定义状态 29026.4 结论 293本章要点 294第四部分 解决其他的问题和挑战第27章 数据太多 29627.1 数据的成本 29627.2 数据的价值和成本-价值难题 29827.3 让数据成为有利可图的 29927.3.1 期权价值 30027.3.2 竞争优势 30027.3.3 成本合理的解决方案(分层的存储方案) 30127.3.4 转换数据 30227.4 处理大量的数据 30227.5 结论 305本章要点 306第28章 云和网格 30728.1 历史和定义 30728.1.1 网格计算 30928.1.2 公共云和私有云 31028.2 云的特征和架构 31128.2.1 按用量付费 31128.2.2 按需扩展 31128.2.3 多租户 31228.2.4 虚拟化 31328.3 云和网格的区别 31428.4 结论 315本章要点 316第29章 在云上翱翔 31729.1 云计算的利弊 31729.1.1 云计算的优点 31829.1.2 云计算的缺点 32029.2 云计算的不同用法 32329.2.1 环境 32329.2.2 技能集合 32529.3 决策流程 32529.4 结论 327本章要点 328第30章 接上网格 32930.1 网格的利弊 32930.1.1 网格的优点 33030.1.2 网格的缺点 33130.2 网格计算的不同用法 33330.2.1 生产网格 33330.2.2 编译网格 33430.2.3 数据仓库网格 33530.2.4 后台办公网格 33530.3 决策流程 33630.4 结论 338本章要点 338第31章 监控应用 34031.1 “为什么我们没能及早发现它?” 34031.2 实现监控的框架 34231.2.1 用户体验和业务指标 34531.2.2 系统监控 34531.2.3 应用监控 34631.3 衡量监控:什么有价值,什么无价值 34731.4 监控和流程 34831.5 结论 349本章要点 349第32章 规划数据中心 35032.1 数据中心的成本和约束 35032.2 位置、位置、还是位置 35232.3 数据中心与增量增长 35432.4 三条三之原则 35532.4.1 第一条三之原则:数据中心的三个成本驱动力 35532.4.2 第二条三之原则:三对服务器来说是个神奇数字 35632.4.3 第三条三之原则:三对数据中心来说是个神奇数字 35632.5 构建多个活动数据中心要考虑的因素 35932.6 结论 360本章要点 361第33章 综合应用 36233.1 接下来做什么 36333.2 案例分析 36533.2.1 eBay:巨大的成功和可扩展性大爆炸 36533.2.2 Quigo:出现可扩展性问题的年轻产品 36633.2.3 ShareThis:一个创业公司的故事 36733.3 参考资料 368附录附录A 计算可用性 372附录B 产能规划计算 378附录C 负载和性能计算 383
媒体关注与评论
本书的内涵比你所想的要深刻得多。所谓扩展,并不只是为了设计用户过多时不会崩溃的Web站点。它所要设计的,是在业务需求增长时,不会崩溃的公司。本书的作者们战斗在我们这个时代最成功的Internet公司的前沿,他们与我们分享的,并不只是如何在竞争中生存下去,也包括如何在其中兴旺繁荣的经验教训。——Marty Cagan,Silicon Valley Product Group创始人本书是那些为大规模市场构建Web服务的人必读的。——Dana Stalder,Matrix Partners普通合伙人Abbott和Fisher在大型企业和小型企业中都有过丰富的扩展经验。他们采用的扩展方法的独到之处在于是从真正的基础着手,即关注的是人员和流程,而这正是打造真正的可扩展性所必需的。Abbott和Fisher把他们多年的经验熔铸成了一种非常容易理解并且可行的扩展方法,这种方法已经被他们长期的巨大成功所验证。——Geoffrey Weber,Shutterfly公司Internet Operations/IT部门副总裁如果我想为自己做健康检查,我会去Mayo诊所。如果我想为我的公司的性能和可扩展性做最好的检查,我会打电话给Martin和Michael。他们会为性能和可扩展性的问题推荐解决方案,而这些方案会为我的公司节省大笔资金,因为我们不必再重新编写系统了。——Warren M. Weiss,Foundation Capital普通合伙人当我在PayPal/eBay工作时,我是Michael Fisher和Martin Abbott手下的一个经理,这使我获得了直接吸取本书中所介绍的经验和教训的机会,它们对于我现在在Facebook的工作来说,价值无限。——黄易山,Facebook软件开发部门的主管本书是迄今为止我们能见到的最好的介绍可扩展性的书。本书的作者从流程、人员、性能和高科技等方面全面阐释了与可扩展性相关的问题。无论你是一个新建的组织,正在制定自己的流程,还是一个成熟的组织,这本书都能给你处理在故障发生之前、之中和之后带来的各种可扩展性问题提供帮助。我已经有过几个构建项目和方案的经验,还有过组建公司的经验,从小规模的公司到超大规模的公司,我发自内心地想说,如果一年前、五年前或者十年前我有这本书就好了。——Jeremy Wright,b5media公司CEO对于Fisher和Abbott在eBay、Paypal和其他公司时所面对的超高速发展带来的挑战,这个世界上经历过的人不多。而能够战胜这种困难的人更是少之又少。本书是对他们在扩展有史以来两家最大的互联网公司时得到的经验教训的总结。对于任何一个超高速发展的公司的管理人员来说,本书都是必
编辑推荐
可扩展性的权威指南,全面涵盖组织、人员、流程、架构、技术等多方面,总结三十多年实战经验,经eBay、PayPal等公司实践检验,适于技术以及非技术类的管理人员和工程师阅读
图书封面
图书标签Tags
无
评论、评分、阅读与下载