写给架构师的Linux实践:设计并实现基于Linux的IT解决方案pdf/doc/txt格式电子书下载
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询
书名:写给架构师的Linux实践:设计并实现基于Linux的IT解决方案pdf/doc/txt格式电子书下载
推荐语:
作者:(哥斯)丹尼斯·萨拉曼卡(哥斯)埃斯特班·弗洛雷斯,爱飞翔译
出版社:机械工业出版社
出版时间:2020-05-01
书籍编号:30616690
ISBN:9787111654353
正文语种:中文
字数:127665
版次:1
所属分类:计算机-理论教程
架构师书库
写给架构师的Linux实践:设计并实现基于Linux的IT解决方案
Hands-On Linux for Architects: Design and implement Linux-based IT solutions
(哥斯)丹尼斯·萨拉曼卡(Denis Salamanca) (哥斯)埃斯特班·弗洛雷斯(Esteban Flores) 著
爱飞翔 译
ISBN:978-7-111-65435-3
。
版权所有,侵权必究
客服热线:+ 86-10-68995265
客服信箱:service@bbbvip.com
官方网址:www.hzmedia.com.cn
新浪微博 @华章数媒
微信公众号 华章电子书(微信号:hzebook)
译者序
这是一本直观的Linux解决方案架构教程。作者不谈高深的理论,而是直接指出基于Linux的开源方案所具备的优势。通过书中的四个部分,讨论在制作解决方案时应处理的存储、可用性、数据监控以及系统管理事务。在面对具体问题时,作者首先指出解决该问题的几项指标,然后介绍可供选择的工具与做法,并对比它们在这几项指标方面的优劣,接下来通过详细的配置文件、程序代码及控制台命令,告诉我们怎样采用较为恰当的工序解决问题。
在这个过程中,我们还会看到云平台与本地环境(或企业内部环境)相比具备哪些特性,并了解到怎样对虚拟机等云计算资源进行配置才能充分发挥该平台的优势,从而架构出高效且易于管理的解决方案。
本书末尾分别罗列了适合放在实体机与虚拟机上运行的工作,并介绍了把本地方案迁移到云端可供选择的路径,此外,还讨论了如何通过DevOps促进开发团队与运维团队之间的合作。这些经验与原则值得我们思考并尝试。
感谢机械工业出版社的王春华老师,给我介绍了许多优秀的计算机书籍。希望这本书能给大家的工作提供实用的建议。
由于译者水平有限,书中难免存在错误与疏漏,请广大读者批评指正!请发邮件至jeffreybslee@163.com,或访问https://github.com/jeffreybaoshenlee/holfa-errata/issues留言。
爱飞翔
2020年5月
前言
欢迎阅读本书,本书将带你深入了解架构师在设计基于Linux的解决方案时的思路,帮助你提升知识水平,学会架构并实现各种IT解决方案。
本书会向你展示各种开源软件的灵活用法,告诉你怎样采用业界最为流行的产品,从头到尾打造一套完整的解决方案。笔者会从设计阶段一直讲到实现阶段,其中也包括如何构建设计阶段所拟定的基础设施。
在设计方案的过程中,我们会深入地讲解每一个技术层面,并详细分析如何实现与调整基于Linux的开源解决方案。
本书的目标读者
本书适合Linux系统管理员、Linux支持工程师、DevOps工程师、Linux顾问,以及使用各种开源技术的专业工作者阅读,可以帮助大家学习基于Linux及开源软件的解决方案,并提高架构、设计与实现水平。
本书的内容
第1章提出一个问题,并对此做出分析,告诉大家在设计解决方案时应该从哪些方面入手才能提取到必要的信息,从而准确地定义自己所面对的问题。
第2章详细讲解GlusterFS,并定义存储集群。
第3章讨论由GlusterFS及其各组件实现的存储解决方案的设计问题。
第4章解释在云端实现GlusterFS必须进行哪些配置。
第5章详细讲述早前配置的解决方案的具体配置方式,并对实现性能做出测试。
第6章讲述IT业怎样从单体式应用程序演进为原生于云端的、容器化的、高度可用的微服务。
第7章研究Kubernetes的核心组件,讲解每个组件及如何用该组件解决顾客的问题。
第8章讲解Kubernetes集群的需求与配置。
第9章讲解Kubernetes集群的实际安装与配置。
第10章解释Elastic Stack由哪些组件构成,以及这些组件如何连接。
第11章讲解部署Elastic Stack时需要考虑的设计问题。
第12章描述Elastic Stack的实现、安装与配置。
第13章讨论为什么需要用Salt这样的集中式管理工具来搭建基础设施。
第14章讲解怎样安装并配置Salt。
第15章讲解一些原则,帮助你设计有弹性、不易出故障的解决方案。
怎样充分利用本书
本书不会讲解Linux管理工作的基础知识,在阅读前需了解这些知识。
本书的范例既可以在云端实现,也可以在本地实现。其中有一些配置方案要部署在Microsoft的云平台Azure上,因此建议准备一个Azure账号,以便更好地学习这些范例。在正式购买Azure前,可以先免费试用并尝试部署。详细信息请参见https://azure.microsoft.com/free/。
此外,还可在https://azure.microsoft.com/了解与Azure有关的其他信息。
由于本书完全是围绕Linux讲解的,因此必须连接互联网。你可以通过装有Linux操作系统的台式机(或笔记本电脑)、macOS操作系统的终端,或Windows操作系统的WSL(Windows Subsystem for Linux,适用于Linux的Windows子系统)来上网。
本书演示的范例是用开源软件编制的,这些软件很容易就能在软件库或代码库里找到,也可以从各自的源网站免费获取。
请访问各项目的网页以支持其开发者:
·https://github.com/gluster/glusterfs
·https://github.com/zfsonlinux/zfs
·https://github.com/kubernetes/kubernetes
·https://github.com/elastic/elasticsearch
·https://github.com/saltstack/salt
下载示例代码及彩色图像
本书的示例源码及所有图表,可以从http:www.packtpub.com通过个人账号下载,也可以访问华章图书官网http://www.hzbook.com,通过注册并登录个人账号下载。
作者简介
Denis Salamanca是一名技术爱好者,从20岁就开始从事IT工作,先后为VMware、微软等业界最具影响力和领导地位的公司工作。他目前拥有超过10个不同领域的技术认证,如云、存储、Linux、Docker和虚拟化等,还参与了Linux认证的开发,并且是CompTIA Linux主题专家和技术咨询委员会的成员。
Salamanca热爱技术,这促使他在不同领域的多个职位之间游走,并帮助他了解到:技术解决方案应该从多个视角予以审视。
Esteban Flores从8岁就开始摆弄电脑,有一次“修电脑”时把家人的许多关键数据弄丢了,由此走上了IT专家之路。Flores先后在惠普公司、VMware、Akamai和微软等多家顶尖公司工作过。凭借10年的工作经验和对前沿技术的热情,他在职业生涯中扮演了多种不同的角色。存储技术一直是他的强项,尤其是性能调整与优化。Flores从第一份工作开始就一直在做与Linux有关的事情,从小型笔记本到超级计算机,他都能在其中享受到Linux的乐趣。
评审者简介
Donald Tevault也叫Donnie,2006年开始从事Linux工作,他是专业Linux培训师,拥有LPI(Linux Professional Institute,Linux国际专业协会)的Level 3-Security和GIAC(Global Information Assurance Certification,全球信息安全认证)的Incident Handler认证。Donnie也是Packt出版社的作者,在Packt出版了首部作品Mastering Linux Security and Hardening。此外,他还是YouTube频道BeginLinux Guru的创意人,并在VDOO IoT安全公司担任Linux顾问。
我要感谢Packt出版社的工作人员给我机会审阅本书,还要感谢我的猫咪们让我能把这项工作做完。
——Donald Tevault
第一部分 用GlusterFS制定高性能的存储解决方案
通过对本部分的学习,读者将要了解到用GlusterFS制定高性能的存储解决方案时,需要做出哪些决策。
本部分包括下列5章。
·第1章:设计方法简介
·第2章:定义GlusterFS存储
·第3章:架构存储集群
·第4章:在云基础设施上使用GlusterFS
·第5章:分析Gluster系统的性能
第1章 设计方法简介
目前,许多IT专家都面临这样一种挑战,就是要设计出性能越来越高、数据可用性越来越强的IT解决方案,并且要拿出健壮的实现成果,以满足这些需求。
本章会讲解各种基础知识,包括如何架构出适合任意环境的IT解决方案、虚拟化的基础设施、纯底层/纯硬件的方案,乃至公共云等,这些都是在设计解决方案时所需掌握的基本概念。
本章将要探讨以下主题:
·定义解决方案设计的多个阶段及其意义?
·分析问题并准确地提出问题。
·考虑可行的解决方案。
·把解决方案实现出来。
要想把项目做成功,在给解决方案做架构的时候,一定得充分了解有哪些方面是必须顾及的。只有做到这一点,才能把软件、硬件与配置方式确定下来,从而更好地实现出客户想要的功能。
1.1 定义解决方案设计的多个阶段及其意义
设计解决方案与其他工作一样,都要按步骤进行,而且其中涉及的不仅是技术问题或技术人员。一般来说,会有客户经理或项目经理与你沟通,更好一些的情况是,CTO会跟你谈客户所提的需求中与技术有关的部分。他们需要寻找一位专家来帮助他们向客户交付一套解决方案,然而他们所说的那些需求,通常无法把交付该方案的全部信息呈现出来。尽管如此,你还是要从这些需求出发,来摸清该方案的目标。
例如,你收到了项目经理发来的邮件,其中写道:
我们要做一个至少支持10000次网站点击的解决方案,在更新或停机的时候,这个方案依然要能够使用。预算相当少,因此要尽量压低开销,而且最好是能免去预付成本(upfront cost)。我们还希望,这个方案能够让项目在其生命期内得以持续壮大。
这封邮件只能让你对所要做的方案有个大概的印象,并没有给出具体的细节。因此,你只能了解基本的信息,也就是该方案必须支持至少10000次网站点击。这条信息对设计工作来说,是不够明确的,你还必须了解相当多的信息,才能知道怎样解决客户提出的要求。这正是你需要继续追问细节的地方,只有把细节问清楚,才能知道客户的需求到底有哪几条,而客户也可以由此形成对该项目的第一印象。这部分工作很关键,因为它可以帮助你意识到,自己究竟有没有理解客户的想法。
同样重要的是,你还必须意识到应该提出几套不同的方案给客户选择,客户会从中选出最符合需求的一个。每个备选方案都有优点与缺点,不过客户一旦选好,你就得把实现该方案所需的必要工作给处理好,此时通常会遇到许多难题。而且到了方案即将完成的时候,你可能还得做出某些调整或变更,这些情况在早前的POC(Proof of Concept,概念验证)阶段是无法预料到的。
从前面的分析可知,为了交付最终产品,需要经历4个阶段,如图1-1所示。
图 1-1
除了这4个阶段,还可以定义其他一些阶段,或是按照其他方法来设计解决方案,但那些都不在本书的讲解范围内。本书主要根据上述4个阶段来帮助你了解如何给解决方案做架构。
1.2 分析问题并准确地提出问题
了解到需要解决的首要问题后,你需要将其拆分成小的部分,以探明要满足哪些需求。每一个部分都会促使你稍后向客户提出不同的问题。这些问题将会帮你完善POC中没有说清楚的地方,从而确保这些问题合起来,可以把各个角度(也就是业务角度、功能角度,以及技术角度)的业务需求全都照顾到。你可以列一张清单把每个问题的出发点,以及该问题想要解决或回答的事情罗列出来,这样便于记录问题本身,以及它们所针对的业务需求。
此外还要注意在回答问题的过程中,你可能会发现一些限制或障碍,这些挑战也需要在POC阶段予以处理或考虑。你所
....
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询