首页>参考读物>公共基础课>心理生活

云原生基础架构:构建和管理现代可扩展基础架构的模式及实践
作者 : [美]贾斯汀·加里森(Justin Garrison),克里斯·诺娃(Kris Nova)著
译者 : 孙杰 肖力 译
出版日期 : 2018-08-29
ISBN : 978-7-111-60784-7
定价 : 55.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 157
开本 : 16
原书名 : Cloud Native Infrastructure: Patterns for Scalable Infrastructure and Applications in a Dynamic Environment
原出版社: OReilly Media, Inc.
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

图书特色

图书前言

技术基础架构正处于引人入胜的历史阶段,由于惊人巨大的需求规模,经历了快速的颠覆性的变革。除了早期的计算机和互联网,基础架构的创新速度是无与伦比的。这些创新使基础架构更快、更可靠、更有价值。
那些将基础架构的边界推到极限的人和公司,已经找到了自动化和抽象的方法来获取更多的业务价值。通过提供灵活的可消费资源,他们将曾经的昂贵成本中心转变为必需的业务公共设施。
然而,公共设施很少为业务提供财务价值,这意味着基础架构常常被忽视,被视为不需要的成本。企业几乎不投入时间和资金来进行基础架构的创新或改进。
这样一个重要的、吸引人的业务部分怎么会如此容易被忽视呢?当基础架构发生故障时,业务显然会受到影响,那为什么很难改善呢?
一方面基础架构已经达到使消费者感到无聊的成熟度。然而,另一方面它的潜力和新的挑战已经激发了实施者和工程师的激情。
扩展基础架构和开创新的经营方式,使得来自不同行业的工程师找到解决方案。开源软件(Open Source Software,OSS)和社区相互帮助的力量已经引发了新的概念和创新的激增。
如果管理得当,每天基础架构和应用方面的挑战将会不一样。这使得基础架构建设者和维护者能够持续取得进展,进行新的、有意义的工作。
一些公司已经解决了可扩展性、可靠性和灵活性等挑战,创建了封装有他人可以遵循的模式的项目。实施者有时可以很容易地发现这些模式,但在其他情况下,这些模式则不那么明显。
在本书中,我们将分享来自于云原生技术前沿公司的经验,使你能够克服可靠地运行可扩展的应用的问题。现代业务发展很快,本书中的模式将使你的基础架构能够跟上业务发展的速度,并满足敏捷性需求。更重要的是,当你需要使用这些模式时,能自己做出决定。
许多模式已经在开源项目中得到了验证。其中一些项目由云原生计算基金会(CNCF)维护。项目和基金会不是模式的唯一体现,但忽略它们是你的失职。以它们为例,但是要自己对所使用的每个解决方案做出足够的评估。
我们将向你展示云原生基础架构的优势以及可扩展系统和应用程序的基本模式,包括如何测试基础架构以及如何创建适应需求的灵活基础架构。你会知道什么是重要的,以及如何知道相应的结果。
希望这本书能激励你继续前进,带给你更加激动人心的机会,并可以在社区分享你学到的东西。
本书读者对象
如果你是一名开发基础架构或管理基础架构工具的工程师,这本书就是为你准备的。它将帮助你了解用于创建在云环境中运行的基础架构的模式、流程和实践。通过了解情况,你可以更好地理解应用程序的角色,以及何时应该构建基础架构或使用云服务。
应用程序工程师还可以发现哪些服务应该是应用程序的一部分,哪些服务应该由基础架构提供。通过这本书,他们还将发现他们与编写应用程序来管理基础架构的工程师的共同责任。
系统管理员如果希望提高自己的技能,并在使用云原生设计基础架构和运维基础架构方面发挥更大的作用,也可以学习本书。
你是否在公有云中运行所有的基础架构?本书将帮助你了解何时使用云服务以及何时构建自己的抽象或服务。
如何使用数据中心或私有云?我们将概述现代应用程序对基础架构的期望,并将帮助你理解为当前的投资提供必要的服务。
这本书不是一个指南,除了给出实现例子外,我们没有规定具体的产品。对于经理和管理人员来说,这可能过于专业,但可能会有所帮助,这取决于该职位人员的参与度和技术专长。
最重要的是,如果你想了解基础架构对业务的影响,以及如何创建被证明可以在全球互联网规模运营的业务的基础架构,请阅读这本书。即使没有需要扩展到这种规模的应用程序,但是如果你的基础架构是按照这里描述的模式构建的,并且考虑到灵活性和可操作性,那么仍然能够更好地提供价值。
为什么写这本书
我们希望通过关注模式和实践来帮助你,而不是针对特定的产品和供应商。因为那样会存在太多的解决方案而不了解它们能解决的问题。
我们相信通过云原生应用管理云原生基础架构的好处,并且想要给任何初入行的人提供思路。
我们希望回馈社会,推动行业向前发展。我们找到的最好方法是解释业务和基础架构之间的关系,阐明问题,并解释由工程师和组织发现的解决方案。
用产品无关的方式解释模式并不总是那么容易,但是理解产品存在的原因是很重要的。我们经常使用产品作为模式的例子,但只在需要它们作为解决方案的实现示例时才使用。
如果没有志愿者日以继夜地编写代码、帮助他人、投资社区,我们就不会来到这里。我们热爱并感谢那些帮助我们理解模式的人,希望回馈和帮助下一代的工程师。这本书是我们表达谢意的方式。
本书主要内容
本书的组织结构如下:
第1章解释了什么是云原生基础架构,以及目前的发展情况。
第2章帮助你决定是否以及何时采用在后续的章节中提到的那些模式。
第3章和第4章展示了如何部署基础架构,以及如何编写应用程序来管理它。
第5章告诉你如何从测试开始设计可靠的基础架构。
第6章和第7章展示了管理基础架构和应用程序的情况。
第8章总结并对未来进行了展望。
如果你和我们一样,就不用看完整本书。以下是一些关于更广泛的书籍主题的建议:
如果你是一个专注于创建和维护基础架构的工程师,至少要阅读第3~6章。
应用程序开发人员可重点阅读第4章、第5章和第7章,这些章节讨论如何开发作为云原生应用的基础架构工具。
任何不构建云原生基础架构的人都将受益于第1章、第2章和第8章。
在线资源
你应该通过访问CNCF网站(https://www.cncf.io/)来熟悉云原生计算基金会(CNCF)和它拥有的项目。这些项目中有很多都是贯穿全书的例子。
通过查看CNCF项目全景(https://github.com/cncf/landscape)(见图P-1),你还可以很好地了解哪些项目适合更大的场景。
云原生应用从Heroku的12个因素的定义开始。我们解释了它们的相似之处,但是你应该熟悉这12个因素是什么(参见http://12factor.net)。
还有很多书、文章和关于DevOps的讨论。虽然我们在本书中不关注DevOps的实践,但是在不使用DevOps提供的工具、实践和思想的情况下,很难实现云原生基础架构。

图P-1:CNCF项目全景
排版约定
本书使用以下排版约定:
斜体(Italic)
表示新术语、URL、电子邮件地址、文件名和文件扩展名。
等宽字体(Constant width)
用于程序列表以及在段落中表示程序要素,如变量名或函数名、数据库、数据类型、环境变量、语句和关键字。
等宽粗体(Constant width bold)
显示命令或其他应该由用户输入的文本。
等宽斜体(Constant width italic)
显示应该由用户提供的值或者由上下文所决定的值替换的文本。
此图标表示提示、建议或一般性说明。
此图标表示警告或应引起注意之处。
O'Reilly Safari
Safari(之前的Safari在线图书)是针对企业、政府、教育工作者和个人的会员制培训和参考平台。
会员可以访问成千上万的书籍、培训视频、学习路径、互动式教程和引导式清单,这些资源来自250多个出版商,包括O'Reilly Media、Harvard Business Review、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Adobe、Focal Press、Cisco Press、John Wiley & Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones & Bartlett和Course Technology等。
更多信息请访问http://oreilly.com/safari。
联系方式
美国:
O'Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室(100035)
奥莱利技术咨询(北京)有限公司
本书的网站列出了勘误表、示例和所有附加信息。你可以访问http://bit.ly/cloud_native_infrastructure_1e。
关于本书的评论或技术问题,请向bookquestions@oreilly.com发送电子邮件。
关于本书的更多信息,如教程、会议和新闻,请参见我们的网站:
http://www.oreilly.com
http://www.oreilly.com.cn
致谢
Justin Garrison
感谢Beth、Logan、我的朋友、家人以及支持我们写作的同事们。感谢社区和社区领袖,他们教会了我们很多东西,也感谢那些给予我们宝贵意见的评论者们。感谢Kris通过各种方式让这本书更好,也感谢读者们花时间阅读本书并提高你们的技能。
Kris Nova
感谢Allison、Bryan、Charlie、Justin、Kjersti、Meghann和Patrick,为了我写这本书,他们忍受了我很长时间的唠叨。我爱你们,永远感激你们所做的一切。

上架指导

计算机/云计算

封底文字

云原生基础架构不仅仅是构成云的服务器、网络和存储,而且还包含与健康运营相关的弹性和可扩展性。在本书中,你将学习与创建满足要求的基础架构相关的实践、模式和需求,以便能够管理云原生应用程序的整个生命周期。
Justin Garrison和Kris Nova从Google、Amazon和Netflix等公司架构基础架构方面获得了丰富的经验。他们从云原生计算基金会(CNCF)采用的项目中获得灵感,并提供了从现有工具(如Kubernetes)中得到的模式示例。
通过阅读本书,你将会:
·理解为什么云原生基础架构是有效运行云原生应用程序所必需的。
·使用指南来决定你的业务是否应该以及何时采用云原生实践。
·学习部署和管理基础架构和应用程序的模式。
·设计测试以证明你的基础架构按预期工作,即使在各种极端情况下也是如此。
·了解如何以策略即代码保护基础架构。

作者简介

[美]贾斯汀·加里森(Justin Garrison),克里斯·诺娃(Kris Nova)著:贾斯汀·加里森(Justin Garrion)是著名媒体公司的工程师。他热爱社区和开源,努力解决人们的需求,而不只是修复问题。
克里斯·诺娃(Kris Nova)是微软的高级开发人员,主要负责容器和Linux操作系统。她也是后端基础架构工程师和Kubernetes维护者。

译者序

企业在IT基础架构方面需要长期巨额的投入,在云计算时代,如何使巨额的投入获得更高的效率?答案就是构建云原生基础架构。云原生基础架构可以极大地提高企业IT敏捷性,为业务赋能,从而增强企业的竞争力。
本书讨论的基础架构是广义的,是指所有业务层以下的软件和硬件,具体包括数据中心、操作系统、部署流水线、配置管理以及支持应用程序生命周期所需的任何系统或软件。本书讨论的基础架构可以构建在裸机之上,可以构建在私有云之上,也可以构建在公有云之上。
当前DevOps的理念深入人心,企业在业务方面需要建立研发、测试、发布、部署的流水线,这就需要实现云原生的业务应用,云原生的业务必须建立在云原生基础架构之上,否则将不能保证业务的弹性扩展、敏捷性、可运维性、可视化、可用性和稳定性。
构建云原生基础架构的过程,就是将基础架构自动化和抽象化,并为上层提供稳定弹性扩展服务的过程。在具体构建云原生基础架构方面,每家企业的情况各不相同,需要结合自己的业务情况、实际的IT状况定制策略。本书不是对某个产品的介绍,而是偏重方法论和最佳实践,是帮助读者根据自己的实际情况,构建自己的云原生基础架构的指南。
本书从多个维度讨论构建云原生基础架构,包括构建云原生基础架构的技术因素;业务、人、系统的因素;讨论了云原生部署从图表、脚本、代码到软件的演变过程;讨论了云原生基础架构设计、开发、测试、维护、实施的原则和方法;讨论了云原生基础架构应用的安全。
本书作者Justin Garrion在世界著名的在线媒体公司工作,另一位作者Kris Nova在微软工作,两位作者都对开源社区有巨大贡献,本书是作者多年工作的实践总结。译者在本书的翻译过程中,能够感受到本书作者对构建云原生基础架构的深刻理解和来自一线的切身实践心得。
感谢两位作者分享了极有价值的实践,感谢机械工业出版社华章分社王春华引进了如此优秀的一本书,感谢机械工业出版社华章分社编辑刘锋的专业审校,使本书能顺利出版。
最后,限于译者的知识,翻译中难免存在错误和遗漏,恳请广大读者批评指正。

译者
2018年5月

图书目录

前言1
第1章 什么是云原生基础架构9
1.1 云原生的益处10
1.2 服务器11
1.3 虚拟化11
1.4 基础架构即服务12
1.5 平台即服务13
1.6 云原生基础架构14
1.7 什么不是云原生基础架构15
1.8 云原生应用17
1.9 云原生应用如何影响基础架构25
总结26
第2章 何时采用云原生27
2.1 应用28
2.2 人29
2.3 系统29
2.4 业务31
2.5 何时不需要云原生基础架构32
总结35
第3章 云原生部署的演进37
3.1 表述基础架构38
3.2 部署工具46
总结50
第4章 设计基础架构应用52
4.1 引导问题53
4.2 API54
4.3 万物的状态55
4.4 协调器模式59
4.5 协调器模式的方法63
4.6 审计关系65
总结67
第5章 开发基础架构应用69
5.1 设计API69
5.2 添加特征70
5.3 弃用特征71
5.4 改变基础架构73
总结76
第6章 云原生基础架构测试77
6.1 测试的内容是什么78
6.2 编写可测试代码79
6.3 自知82
6.4 测试类型84
6.5 监控基础架构95
总结96
第7章 云原生应用管理97
7.1 应用设计98
7.2 实现云原生模式99
7.3 应用的生命周期100
7.4 应用对基础架构的要求104
总结111
第8章 保护应用程序113
8.1 策略即代码113
8.2 审计基础架构120
8.3 不可变基础架构122
总结123
第9章 实现云原生基础架构125
9.1 关注变革的地方126
9.2 预测未来131
总结132
附录A 网络弹性模式134
附录B 关于被锁定140
附录C Box公司案例研究143

教学资源推荐
作者: [美]安妮塔·伍尔福克(Anita Woolfolk) 著
作者: (美)罗伯特S.费尔德曼(Robert S. Feldman)
作者: (美) 约翰 W.桑特洛克(John W.Santrock) 著
作者: [美]玛格丽特·马特林(Margaret W.Matlin)著
参考读物推荐
作者: [法]玛丽昂·沙罗(Marion Charreau)[美]珍妮弗·约翰逊(Jenifer L. Johnson) 著
作者: [日]小堀纯子(コボリジュンコ) 著