内容简介
本书分为两个部分——设计和运营。一部分捕捉我们在大规模、复杂、基于云的分布式计算系统设计上的想法。在引言之后,我们从底向上逐层介绍设计的每个要素。我们从系统管理员(而非计算机科学家)的角度介绍分布式系统,要运营一个系统就必须理解其内部原理。第二部分描述如何运营这些系统。前面几章介绍基本的问题。后面几章深入更为复杂的技术活动,然后是概要规划和将以上要素组合起来的战略。
目录
第一部分设计:构建系统
第1章分布式世界中的设计概述分布式系统的设计
第2章为运营而设计为了实现平稳运营而应该具备的软件功能
第3章选择服务平台物理机和虚拟机,私有云和公共云
第4章应用程序架构创建Web和其他应用程序的基本组件
第5章伸缩性设计模式扩增服务所用的基本组件
第6章弹性设计模式
创建可幸免于故障的系统的基本组件
第二部分运营:运行系统
第7章分布式世界中的运营
分布式系统运行方式概述
第8章 DevOps文化
DevOps文化、历史和实践简介
第9章服务交付:构建阶段
如何构建服务和准备投产
第1 0章服务交付:部署阶段
服务如何测试、批准和投产
第11章升级运行中的服务
如何在不停机的情况下升级服务
第1 2章 自动化
创建工具和自动化运营工作
第1 3章设计文档
书面交流设计和意图
第14章随时待命
处理异常情况
第1 5章灾难准备
通过规划和实践强化系统
第1 6章监控基础知识
监控术语和策略
第1 7章监控架构与实践
监控组件和方法
第1 8章容量规划
在需要之前规划并提供附加资源
第19章建立KPI
通过计量和反思科学地推动行为
第20章卓越运营
持续改善的战略
第三部分附录
附录A评估
附录B分布式计算和云的起源及未来
附录C伸缩性术语和概念
附录D模板和示例
附录E推荐读物
后记
参考文献
前言/序言
下面的表述是否真实?1)最为可靠的系统是使用廉价、不可靠的组件构建的。 2) Google为数十亿用户服务所用的技术遵循的模式,与你处理数千名用户的系统所遵循的模式相同。 3)某种过程的风险越大,你越应该尝试。 4)某些最重要的软件功能是用户从未发现的。 5)你应该随意选择一些机器,并关闭其电源。 6) Facebook在接下来六个月中所要发布的代码,其功能可能已经在你的浏览器中出现了。 7)每天多次更新软件所需要的人工很少。 8)随时待命并不一定是一种紧张、痛苦的体验。 9)你不应该监控机器是否启动。 10)运营和管理可以通过试验和证明的科学原理进行。 11)Google已经对僵尸攻击时的对策进行了演练。 这些表述都是真实的,当你读完本书,就会知道原因。 本书讲述的是大规模云服务(数百万甚至数十亿用户使用的基于互联网的服务)的构建和运行。每天,都有越来越多的企业采用这些技术,因此,本书是为所有人写的。 本书的目标读者是系统管理员和他们的经理。你无需计算机科学的背景,但是你应该有Unix/Linux系统管理、联网的经验,以及操作系统的概念。 我们重点关注构建和运营组成“云”的服务,而不是指导云服务的使用。 云服务必须是可用的、快速的和安全的。考虑到云的规模,这将是独特而杰出的工程成就。因此,云规模服务设计不同于典型的企业服务。可用性很重要,因为互联网是7×24开放的,用户处于各个时区。快速的重要性在于用户会因为慢速的服务而感到沮丧,所以缓慢的服务会被更快的竞争者所取代。安全的重要性则在于,作为他人数据的托管者,我们义不容辞(而且负有法律责任)地要保护人们的数据。 这些要求是互相交织的。如果网站不安全,当然也就不可能可靠。如果网站速度不快,可用性也就不足。如果网站下线,当然就不可能快速。 最明显的云规模服务是网站。但是,还有一个巨大的无形互联网访问服务生态系统,这些服务不是通过浏览器访问的。例如,智能手机应用通过API调用访问云服务。 在本书余下的部分中,我们倾向于使用“分布式计算”而非“云计算”。云计算是一个营销用语,对不同的人有不同的含义。分布式计算描述了使用许多机器(而非单一机器)提供应用程序和服务的一种架构。 本书介绍的是不受时间影响的基本原理及方法。因此,我们不推荐使用特定的产品或者技术。我们可以提供前5种最流行的Web服务器、NoSQL数据库或者持续构建系统的对比,但是如果这么做,本书就会在出版的那一刻过时。相反,我们讨论的是选择这些系统时应该注意的特质,提供一种工作模式。这种方法的意图是帮助你在技术不断变化的漫长职业生涯中始终做好准备。当然,我们将用具体的技术和产品说明我们的观点,但是不代表我们支持这些产品和服务。 本书有时看似理想化,这是故意为之。我们想为读者提供事物将会如何发展、该坚持什么原则的愿景,目的是更上一层楼。 关于本书本书分为两个部分——设计和运营。 第一部分捕捉我们在大规模、复杂、基于云的分布式计算系统设计上的想法。在引言之后,我们从下向上逐层介绍设计的每个要素。我们从系统管理员(而非计算机科学家)的角度介绍分布式系统,要运营一个系统就必须理解其内部原理。 第二部分描述如何运营这些系统。前面几章介绍最基本的问题。后面几章深入更为复杂的技术活动,然后是概要规划和将以上要素组合起来的战略。 最后是附加材料,包括运营团队的评估系统、被歪曲的分布式计算历史、正文中提及的表单模板、建议阅读的材料以及其他参考材料。 我们满怀兴奋之情介绍本系列书籍中的一个新特征:运营评估系统。这个系统由一系列评估活动组成,你可以用它们评估自己的运营,找出需要改进的领域。评估问题和“搜索”建议可以在附录A中找到。第20章是该系统的说明。 致谢没有我们所在社区及来自全球的帮助及反馈,本书就不可能出版。DevOps社区慷4慨地提供了帮助。 首先,我们要感谢我们爱人和家人:Christine Polk、Mike Chalup、Eliot和Joanna Lear。 他们的爱和耐心成就了一切。 之所以我们能够看得更远,那是因为我们站在巨人的肩上。某些章节在很大程度上得到了下列人士的支持和建议:John Looney和Cian Synnott(第1章);Marty Abbott和Michael Fisher(第5章);Damon Edwards Alex Honor和Jez Humble(第9章和第10章);John Allspaw(第12章);Brent Chapman(第15章);Caskey Dickson和Theo Schlossnagle(第16章和17章);Arun Kejariwal和Bruce Yan(第18章);Benjamin Treynor Sloss(第19章);Geoff Halprin(第20章和附录A)o感谢Gene Kim“有策略”的启发和鼓励。有几十位人士帮助过我们——有些人提供奇闻轶事,有些人审核某些部分或者整本书。感谢他们所有人的公平方式是按照字母顺序排列,并预先向我们遗漏的所有人道歉:Thomas Baden. George Beech. RaymondBlum. Kyle Brandt. Mark Burgess. Nick Craver. Geoff Dalgas Robert P.J.Day,Patrick Debois. Bill Duane. Paul Evans. David Fullerton. Tom Geller. Peter Grace.Elizabeth Hamon Reid. Jim Hickstein Zachary Hueras. Matt Jones. Jennifer Joy. JimmyKaplowitz. Daniel v.Klein. Steven Levine. Cory Lueninghoener. Shane Madden. JimMaurer. Stephen McHenry. Dinah McNutt. Scott Hazen Mueller Steve Murawski. MohitMuthanna. Lenny Rachitsky. Amy Rich. Adele Shakal Bart Silverstrim. Josh Simon.Joel Spolsky. Desiree Sylvester. Win Treese. Todd Underwood Nicole Forsgren Velasquez和Dave Zwiebacko最后(但并非不重要),感谢Addison-Wesley的所有人,特别要感谢Debra WilliamsCauley将我们引见给Addison-Wesley,并在整个过程中为我们掌舵;感谢Michael Thurston对本书初稿的编辑和改进,使之更加完美;感谢Kim Boedigheimer的协调工作以及在我们惊慌的时候帮助我们保持镇静;感谢我们的LaTeX奇才Lori Hughes;感谢产品经理Julie Nahil;感谢文字编辑Jill Hobbs;还要感谢John Fuller和Mark Taub忍受我们的特殊要求! 第一部分设计:构建系统第1章分布式世界中的设计概述分布式系统的设计。 第2章为运营而设计为了实现平稳运营而应该具备的软件功能。 第3章选择服务平台物理机和虚拟机,私有云和公共云。 第4章应用程序架构创建Web和其他应用程序的基本组件。 第5章伸缩性设计模式扩增服务所用的基本组件。 ?第6章弹性设计模式 创建可幸免于故障的系统的基本组件。 第二部分运营:运行系统 第7章分布式世界中的运营 分布式系统运行方式概述。 第8章 DevOps文化 DevOps文化、历史和实践简介。 第9章服务交付:构建阶段 如何构建服务和准备投产。 第1 0章服务交付:部署阶段 服务如何测试、批准和投产。 第11章升级运行中的服务 如何在不停机的情况下升级服务。 第1 2章 自动化 创建工具和自动化运营工作。 第1 3章设计文档 书面交流设计和意图。 第14章随时待命 处理异常情况。 第1 5章灾难准备 通过规划和实践强化系统。 第1 6章监控基础知识 监控术语和策略。 第1 7章监控架构与实践 监控组件和方法。 第1 8章容量规划 在需要之前规划并提供附加资源。 第19章建立KPI 通过计量和反思科学地推动行为。 第20章卓越运营 持续改善的战略。 第三部分附录 附录A评估 ?附录B分布式计算和云的起源及未来 附录C伸缩性术语和概念 附录D模板和示例 附录E推荐读物 后记 最后的一些想法。 参考文献
云系统管理:大规模分布式系统设计与运营 下载 mobi epub pdf txt 电子书 格式