img
share 分享

VIP会员

作者:CSDN

出版社:CSDN《程序员》

ISBN:1111111111117

VIP会员免费 (仅需0.8元/天) ¥ 40000.0

温馨提示: 价值40000元的1000本电子书,VIP会员随意看哦!

电子书推荐

更多资源 展开

可扩展的艺术:现代企业的Web架构、流程及组织.[美]Martin L.Abbott(带详细书签).pdf 评分:

  任何持续发展的公司,**终都需要考虑如何扩展它的系统、组织和流程。这不仅仅是技术问题,还涉及组织、流程、架构等方方面面。扩展组织、流程和系统使之相互支持,达到良性循环,也不仅仅是门科学,还是一门艺术。《可扩展的艺术——现代企业的Web架构、流程及组织》正是对此提供了全面的、实践证明确实有效的解决思路和实用技巧。   对于负责非技术类业务的执行主管或产品经理来说,《可扩展的艺术——现代企业的Web架构、流程及组织》会帮助你明确地提出正确的可扩展性问题,分析并做出正确的决策。而对于技术主管和工程师来说,《可扩展的艺术——现代企业的Web架构、流程及组织》会帮助你解决对扩展造成负面影响的组织和流程方面的问题,并为构建具有更高可扩展性的平台提供了技术模型和建议。 导言 1 第一部分 可扩展组织的人员配备 5 第1章 人员和领导力对可扩展性的影响 6 1.1 AllScale简介 6 1.2 为什么要考虑人员 7 1.3 为什么要考虑组织 8 1.4 为什么要考虑管理和领导力 12 1.5 结论 14 本章要点 14 第2章 可扩展技术组织中的角色 15 2.1 失败的后果 15 2.2 角色的定义 16 2.3 执行主管的职责 17 2.3.1 CEO 18 2.3.2 CFO 19 2.3.3 业务单元责任人和P&L责任人 19 2.3.4 CTO/CIO 19 2.4 组织的职责 20 2.4.1 架构团队的职责 21 2.4.2 软件开发团队的职责 21 2.4.3 生产运营团队的职责 21 2.4.4 基础设施团队的职责 22 2.4.5 质量保证团队的职责 22 2.4.6 产能计划团队的职责 22 2.5 个人贡献者的职责和特征 23 2.5.1 架构师 23 2.5.2 软件工程师 23 2.5.3 操作员 24 2.5.4 基础设施工程师 24 2.5.5 QA工程师/分析师 24 2.5.6 产能计划员 25 2.6 一个组织示例 25 2.7 定义职责的工具 26 2.8 结论 28 本章要点 29 第3章 设计组织 30 3.1 影响可扩展性的组织因素 30 3.2 团队规模 32 3.2.1 警示信号 35 3.2.2 扩大团队或拆分团队 36 3.3 组织架构 38 3.3.1 职能型组织 38 3.3.2 矩阵型组织 40 3.4 结论 42 本章要点 43 第4章 领导力101 44 4.1 什么是领导力 45 4.2 领导力的一个概念模型 46 4.3 评估你是谁 47 4.4 身先士卒 49 4.5 保持谦虚的态度 49 4.6 使命第一,人员到上 50 4.7 做出及时、合理、符合道德的决策 51 4.8 给团队授能和可扩展性 51 4.9 一切围绕股东价值 52 4.10 愿景 53 4.11 使命 55 4.12 战略目标 55 4.13 整合愿景、使命和战略目标 57 4.14 通向成功的因果图 59 4.15 结论 61 本章要点 61 第5章 管理101 63 5.1 管理是什么 63 5.2 项目和任务管理 64 5.3 建设团队——一个运动比喻 65 5.4 提升团队——一个花园比喻 66 5.5 衡量方法、指标和目标评估 69 5.6 目标树 71 5.7 为成功铺路 72 5.8 结论 72 本章要点 73 第6章 进行商业论证 74 6.1 理解经验的鸿沟 74 6.1.1 为什么业务主管可能成为问题所在 75 6.1.2 为什么技术主管可能成为问题所在 75 6.2 破除企业思维定式 76 6.2.1 建立关系 78 6.2.2 树立榜样 78 6.2.3 培训其他主管 78 6.2.4 利用RASCI模型 79 6.2.5 用商业语言交谈 79 6.2.6 让他们参与进来 79 6.2.7 用事实让主管团队感到恐慌 80 6.3 为扩展论证 80 6.4 结论 83 本章要点 83 第二部分 制定扩展流程 85 第7章 理解流程对扩展的重要性 86 7.1 流程的目的 87 7.2 正确的时间,正确的流程 89 7.2.1 需要有多严苛 90 7.2.2 需要有多复杂 91 7.3 好的流程何时会变成坏的 93 7.4 结论 93 本章要点 94 第8章 管理故障和问题 95 8.1 什么是故障 96 8.2 什么是问题 96 8.3 故障管理的步骤 97 8.4 问题管理的步骤 99 8.5 化解故障管理与问题管理之间的冲突 100 8.6 故障和问题的生命周期 100 8.7 召开每日故障例会 101 8.8 召开季度故障回顾会议 102 8.9 事后分析流程 102 8.10 综合应用 104 8.11 结论 106 本章要点 106 第9章 管理危机和升级 107 9.1 什么是危机 107 9.2 为什么要把危机与其他故障区分开来 108 9.3 危机如何改变一个公司 108 9.4 为混乱赋予秩序 109 9.4.1 “问题经理”的角色 110 9.4.2 团队经理的角色 111 9.4.3 首席工程师的角色 112 9.4.4 个人贡献者的角色 113 9.5 沟通和控制 113 9.6 作战室 114 9.7 升级 115 9.8 状态沟通 115 9.9 危机事后分析会议 116 9.10 危机后续跟进和沟通 117 9.11 结论 117 本章要点 118 第10章 控制生产环境中的变更 119 10.1 什么是变更 120 10.2 变更识别 121 10.3 变更管理 122 10.3.1 变更建议 123 10.3.2 变更批准 125 10.3.3 变更日程安排 125 10.3.4 变更实施和记录 127 10.3.5 变更验证 127 10.3.6 变更审查 127 10.4 变更控制会议 128 10.5 持续的流程改善 128 10.6 结论 129 本章要点 129 第11章 确定应用的余量 131 11.1 流程的目的 131 11.2 流程的步骤 132 11.3 理想的使用比例 135 11.4 结论 137 本章要点 138 第12章 探讨架构设计原则 139 12.1 原则和目标 139 12.2 原则选择 142 12.3 AKF的十二条架构设计原则 143 12.3.1 N+1设计 143 12.3.2 设计为能够回退的 144 12.3.3 设计为能够禁用的 144 12.3.4 设计为能够监控的 144 12.3.5 设计为多个活动站点 144 12.3.6 采用成熟的技术 144 12.3.7 设计为异步的 145 12.3.8 无状态系统 145 12.3.9 进行横向扩展而不是纵向扩展 145 12.3.10 设计为到少可以在两条轴上进行扩展 145 12.3.11 非核心的组件可以购买 145 12.3.12 采用同质化硬件 145 12.4 扩展原则深度解析 146 12.4.1 设计为能够监控的 146 12.4.2 设计为多个活动站点 147 12.4.3 设计为异步的 147 12.4.4 无状态系统 148 12.4.5 进行横向扩展而不是纵向扩展 148 12.4.6 设计为到少可以在两条轴上进行扩展 149 12.5 结论 150 本章要点 150 第13章 联合架构设计 151 13.1 修正组织的功能障碍 151 13.2 设计为能够跨部门扩展 153 13.3 开始条件和结束条件 155 13.4 结论 157 本章要点 157 第14章 架构评审委员会 159 14.1 通过审查确保可扩展性 159 14.2 委员会成员 160 14.3 会议实施 162 14.4 开始条件和结束条件 164 14.5 结论 165 本章要点 166 第15章 关注核心竞争力:构建还是采购 167 15.1 构建还是采购与可扩展性的关系 167 15.2 关注成本 168 15.3 关注竞争优势 168 15.4 “非我所建”现象 169 15.5 结合成本和竞争优势 170 15.5.1 这个组件能够创造竞争优势吗? 170 15.5.2 我们是这个组件或资产最好的责任人吗? 171 15.5.3 这个组件上的竞争如何? 171 15.5.4 我们能经济有效地构建这个组件吗? 171 15.6 AllScale公司的构建还是采购难题 172 15.7 结论 173 本章要点 174 第16章 确定风险 175 16.1 风险管理对扩展的重要性 175 16.2 衡量风险 176 16.3 管理风险 181 16.4 结论 183 本章要点 184 第17章 性能测试和压力测试 185 17.1 执行性能测试 185 17.1.1 判断标准 186 17.1.2 测试环境 186 17.1.3 定义测试 187 17.1.4 执行测试 188 17.1.5 分析数据 188 17.1.6 报告给工程师 189 17.1.7 重复测试和分析 189 17.2 压力测试不要有压力 190 17.2.1 确立目标 190 17.2.2 识别关键服务 191 17.2.3 确定负载 191 17.2.4 测试环境 192 17.2.5 识别监控项 192 17.2.6 制造负载 192 17.2.7 执行测试 193 17.2.8 分析数据 193 17.3 可扩展性的性能测试和压力测试 194 17.4 结论 195 本章要点 196 第18章 屏障条件和回退 197 18.1 屏障条件 197 18.1.1 屏障条件和敏捷开发 198 18.1.2 屏障条件和瀑布开发 200 18.1.3 屏障条件和混合模型 200 18.2 回退能力 201 18.2.1 回退窗口需求 201 18.2.2 回退的技术考量 202 18.2.3 回退的成本考量 203 18.3 功能减负——设计为能够禁用的 203 18.4 结论 204 本章要点 205 第19章 要快还是要正确 206 19.1 业务上的权衡 206 19.2 与可扩展性的关系 209 19.3 如何做决策 210 19.4 结论 213 本章要点 214 第三部分 构建可扩展的方案 215 第20章 不受技术限制的设计 216 20.1 实现并非架构 216 20.2 不受技术限制的设计 217 20.2.1 TAD和成本 217 20.2.2 TAD和风险 218 20.2.3 TAD和可扩展性 219 20.2.4 TAD和可用性 221 20.3 TAD方法 221 20.4 结论 222 本章要点 222 第21章 创建故障隔离的架构 224 21.1 故障隔离的架构的术语 224 21.2 故障隔离的好处 226 21.2.1 故障隔离和可用性——限制影响 226 21.2.2 故障隔离和可用性——故障检测和解决 228 21.2.3 故障隔离和可扩展性 228 21.2.4 故障隔离和上市时间 229 21.2.5 故障隔离和成本 229 21.3 如何进行故障隔离 230 21.3.1 原则1:什么都不能共享 230 21.3.2 原则2:什么都不能跨过泳道边界 231 21.3.3 原则3:在泳道内交易 231 21.4 何时实现故障隔离 231 21.4.1 方法1:把最赚钱的功能放入泳道 232 21.4.2 方法2:把最容易引发故障的功能放入泳道 232 21.4.3 方法3:根据自然界限划分泳道 232 21.5 如何测试故障隔离的设计 233 21.6 结论 233 本章要点 234 第22章 AKF扩展立方入门 235 22.1 概念,还是规则和工具 235 22.2 AKF扩展立方介绍 236 22.3 扩展立方的含义 237 22.4 扩展立方的X轴 238 22.5 扩展立方的Y轴 239 22.6 扩展立方的Z轴 240 22.7 综合应用 241 22.8 何时何地使用扩展立方 243 22.9 结论 243 本章要点 244 第23章 为扩展划分应用 245 23.1 应用的AKF扩展立方 245 23.2 AKF应用扩展立方的X轴 246 23.3 AKF应用扩展立方的Y轴 248 23.4 AKF应用扩展立方的Z轴 249 23.5 综合应用 251 23.6 应用扩展立方的实际应用 253 23.6.1 电子商务平台 253 23.6.2 人力资源管理系统 254 23.6.3 后台办公IT系统 255 23.6.4 经验之谈 255 23.7 结论 256 本章要点 257 第24章 为扩展划分数据库 258 24.1 数据库的AKF扩展立方 258 24.2 AKF数据库扩展立方的X轴 259 24.3 AKF数据库扩展立方的Y轴 262 24.4 AKF数据库扩展立方的Z轴 264 24.5 综合应用 265 24.6 数据库扩展立方的实际应用 267 24.6.1 电子商务平台 267 24.6.2 人力资源管理系统 269 24.6.3 后台办公IT系统 269 24.6.4 经验之谈 270 24.6.5 时间方面的考量 270 24.7 结论 271 本章要点 271 第25章 为性能和扩展进行缓存 272 25.1 缓存定义 272 25.2 对象缓存 275 25.3 应用缓存 277 25.3.1 代理缓存 278 25.3.2 反向代理缓存 279 25.3.3 缓存软件 280 25.4 内容交付网络 281 25.5 结论 282 本章要点 282 第26章 实现扩展的异步设计 284 26.1 同步的定义 284 26.2 同步调用,还是异步调用 285 26.2.1 同步扩展,还是异步扩展 286 26.2.2 异步系统示例 288 26.3 定义状态 290 26.4 结论 293 本章要点 294 第四部分 解决其他的问题和挑战 295 第27章 数据太多 296 27.1 数据的成本 296 27.2 数据的价值和成本-价值难题 298 27.3 让数据成为有利可图的 299 27.3.1 期权价值 300 27.3.2 竞争优势 300 27.3.3 成本合理的解决方案(分层的存储方案) 301 27.3.4 转换数据 302 27.4 处理大量的数据 302 27.5 结论 305 本章要点 306 第28章 云和网格 307 28.1 历史和定义 307 28.1.1 网格计算 309 28.1.2 公共云和私有云 310 28.2 云的特征和架构 311 28.2.1 按用量付费 311 28.2.2 按需扩展 311 28.2.3 多租户 312 28.2.4 虚拟化 313 28.3 云和网格的区别 314 28.4 结论 315 本章要点 316 第29章 在云上翱翔 317 29.1 云计算的利弊 317 29.1.1 云计算的优点 318 29.1.2 云计算的缺点 320 29.2 云计算的不同用法 323 29.2.1 环境 323 29.2.2 技能集合 325 29.3 决策流程 325 29.4 结论 327 本章要点 328 第30章 接上网格 329 30.1 网格的利弊 329 30.1.1 网格的优点 330 30.1.2 网格的缺点 331 30.2 网格计算的不同用法 333 30.2.1 生产网格 333 30.2.2 编译网格 334 30.2.3 数据仓库网格 335 30.2.4 后台办公网格 335 30.3 决策流程 336 30.4 结论 338 本章要点 338 第31章 监控应用 340 31.1 “为什么我们没能及早发现它?” 340 31.2 实现监控的框架 342 31.2.1 用户体验和业务指标 345 31.2.2 系统监控 345 31.2.3 应用监控 346 31.3 衡量监控:什么有价值,什么无价值 347 31.4 监控和流程 348 31.5 结论 349 本章要点 349 第32章 规划数据中心 350 32.1 数据中心的成本和约束 350 32.2 位置、位置、还是位置 352 32.3 数据中心与增量增长 354 32.4 三条三之原则 355 32.4.1 第一条三之原则:数据中心的三个成本驱动力 355 32.4.2 第二条三之原则:三对服务器来说是个神奇数字 356 32.4.3 第三条三之原则:三对数据中心来说是个神奇数字 356 32.5 构建多个活动数据中心要考虑的因素 359 32.6 结论 360 本章要点 361 第33章 综合应用 362 33.1 接下来做什么 363 33.2 案例分析 365 33.2.1 eBay:巨大的成功和可扩展性大爆炸 365 33.2.2 Quigo:出现可扩展性问题的年轻产品 366 33.2.3 ShareThis:一个创业公司的故事 367 33.3 参考资料 368 附录 371 附录A 计算可用性 372 附录B 产能规划计算 378 附录C 负载和性能计算 383

...展开详情
上传时间:2018-11 大小:229.15MB
热门图书