新書推薦:
《
何以中国·何谓唐代:东欧亚帝国的兴亡与转型
》
售價:HK$
87.4
《
一间只属于自己的房间 女性主义先锋伍尔夫代表作 女性精神独立与经济独立的象征,做自己,比任何事都更重要
》
售價:HK$
44.6
《
泉舆日志 幻想世界宝石生物图鉴
》
售價:HK$
134.2
《
养育女孩 : 官方升级版
》
售價:HK$
50.4
《
跨界:蒂利希思想研究
》
售價:HK$
109.8
《
千万别喝南瓜汤(遵守规则绘本)
》
售價:HK$
44.7
《
大模型启示录
》
售價:HK$
112.0
《
东法西渐:19世纪前西方对中国法的记述与评价
》
售價:HK$
201.6
|
編輯推薦: |
从本书中将会学到
理解DevOps和持续交付的本质并看到DevOps如何支持敏捷流程
了解系统如何相互匹配并组成一个更大的整体
创建并熟悉让DevOps更有效率的工具
用DevOps的思想设计一个适合持续部署的系统
用诸如Git、Gerrit和GitLab等不同方式高效地存储和管理代码
配置一个构建CRUD应用样例的任务
通过Jenkins和Selenium使用自动化回归测试来测试代码
使用诸如Puppet、Ansible、PalletOps、Chef和Vagrant等工具部署代码
使用Nagios、Munin和Graphite监控代码健康
探索Trac的工作方式 一个用于问题跟踪的工具
|
內容簡介: |
本书详细讲解了DevOps的相关知识,可以更好地促进IT团队与软件开发者之间的全方位合作,提高团队效率来确保软件正常的开发和运营。本书的主要内容有:对DevOps和持续交付的简单介绍,DevOps如何影响架构,如何创建企业Java应用程序,如何使用不同的代码库,如何使用一些简单的工具执行代码测试,如何成功配置你的测试,如何监测代码异常以及如何处理日志以及跟踪影响进程的事件。你将会学到:了解DevOps和持续交付的优点以及DevOps如何支持敏捷过程;了解如何将所有系统组装成一个大的整体;安装和熟悉所有你可以用来提高效率的DevOps工具;使用Devops设计一款适合持续部署系统的应用程序;使用不同的选项高效地储蓄和管理代码,例如Git、Gerrit和 Gitlab;配置job来创建CRUD应用样本;使用Jenkins Selenium回归测试测试代码;使用工具来配置你的代码,例如:Puppet、Ansible、Palletops、Chef和Vagrant;使用Nagios、Munin和 Graphite监控代码运行状态;探索Trac(一个跟踪事件的工具)的工作方式。
|
關於作者: |
Joakim Verona是一位擅长持续交付和DevOps的咨询师。自1994年以来,在系统开发的所有方面他都曾工作过。他积极地在诸如web系统、多媒体系统和软硬件混合系统等复杂的多层系统上做出了领导实践者的贡献。自2004年以来,他广泛的技能兴趣把他导向了新兴的DevOps领域。
Joakim在林雪平理工学院完成了计算机科学的硕士学位。他也曾作为咨询师工作在各种各样的工业领域上,例如银行和财务、电信、工程、印刷和排版,还有游戏开发。他也对敏捷领域感兴趣,是一位Scrum认证的敏捷教练、Scrum产品负责人并拥有Java认证。
【译者介绍】
高清华:悦跑圈资深研发工程师。工作十多年以来,在简洁代码、自动化测试、持续集成、DevOps等方面都有着丰富的经验。曾在ThoughtWorks任职多年,从事敏捷软件开发、DevOps咨询等工作。技术博客:http:qinghua.github.io,希望能以通俗易懂的语言普及IT技术。
马博文,ThoughtWorks Senior Consultant,Senior DevOps,西安DevOps Meetup发起人。AWS Certified Solution ArchitectCertified Developer。《Scala Cookbook》译者。熟悉WebRubyJavaScala开发,目前专注DevOps,持续交付,容器技术,微服务,AWS等。
|
目錄:
|
前言 ............................................................................................................ XIII
1 DevOps 和持续交付简介 ........................................................................... 1
DevOps 简介 ........................................................................................................................... 1
多快才算快? ......................................................................................................................... 3
敏捷之轮 ................................................................................................................................. 4
敏捷不只是形式 ..................................................................................................................... 5
DevOps 和 ITIL(信息技术基础架构库) ........................................................................... 7
总结 ......................................................................................................................................... 8
2 洞察全局 .................................................................................................... 9
DevOps 流程和持续交付概览 ........................................................................................ 9
开发人员 .............................................................................................................................................10
版本控制系统 ......................................................................................................................................12
构建服务器 .........................................................................................................................................13
工件库 .................................................................................................................................................13
包管理器 .............................................................................................................................................13
测试环境 .............................................................................................................................................14
预发布生产 ........................................................................................................................................15
发布管理 ............................................................................................................................... 15
Scrum、看板和交付流水线 ................................................................................................. 16
圆满结束一个完整的例子 ............................................................................................ 17
识别瓶颈 ............................................................................................................................... 18
总结 ....................................................................................................................................... 18
DevOps 实践
3 DevOps 如何影响架构 ............................................................................. 19
介绍软件架构 ....................................................................................................................... 19
单块系统场景 ....................................................................................................................... 20
架构经验法则 ....................................................................................................................... 21
关注点分离 ........................................................................................................................... 21
内聚原则 ............................................................................................................................... 21
耦合 ....................................................................................................................................... 22
回到单块系统场景 ............................................................................................................... 22
一个真实例子 ....................................................................................................................... 22
三层系统 ............................................
|
內容試閱:
|
译者序
什么是DevOps?我的前同事李光磊将其译为开发自运维,他还写了篇很有意思的博客来说明:http:liguanglei.nameblogs20150422devops-chinese-name。这个将开发和运维结合起来的词,代表了一种文化,那就是大家共同协作。狭义上的大家,指的是开发和运维,广义上,指的是所有软件生命周期里参与的角色。
共同协作是个富有正能量的词。感觉上,随便往哪儿一套都是正确的。那为什么要在DevOps 里着重强调呢?DevOps 到底解决了什么问题?归根结底,就是提高产品质量。爱思考的你,可能心里已经有千万个提高产品质量的方案从脑海里呼啸而过代码审查、自动化测试、持续集成、代码质量管理工具、程序员鼓励师对对对,这些方案都能在某种程度上解决一些层次的问题。但是,产品质量的根源在哪儿呢?在于人。如果开发者对自己要做的事情不负责,甚至压根儿不知道后果,怎么能指望这样的人能够生产出来高质量的代码呢?举个例子:作为开发者,我知道自己写的代码会由测试部门来进一步测试,在有进度压力的时候,我就会更倾向于去想:那就先这么凑合着吧,反正有问题QA 们会说的。如果我不知道部署和维护产品是怎么一回事,我就不会主动地在产品里写上日志的代码。对于运维人员来说,由于处于软件生命周期的下游,相信对类似的场景感触更甚。DevOps 能够做到的事,就是让人有这个意识:需要对产品的质量负责。DevOps 能够提供一个平台或机制,让我能够从中找到所需的资源。
共同协作也是个虚无缥缈的词。它应该如何落地呢?这就是本书想要给读者们带来的内容。在实践上,从架构开始,到代码的存储、构建、测试、部署、监控,直至流程的跟踪,本书推荐了许多可用的工具和练习,确实无愧于《DevOps 实践》之名。细读全书可以对其有一个全局的概览并充实自己的DevOps 工具箱;而在实际场景中再查阅本书,将其当作一本各种技术的快速参考手册也不失为明智之举。本书的许多实例通过Docker 启动,在紧随潮流技术的同时也简化了练习步骤,值得花些时间试试。在企业里,使用自动化和持续交付来提高代码部署频率、降低代码上线间隔。这样的指标是比较容易统计的,在让管理人员满意的同时,也能减少开发和运维的痛苦。只有让各角色都真切地感受到实惠,大家才会更加愿意从心底接受并积极参与到这一过程中。
共同协作是个看上去很美的词。为什么大家还不赶紧拥抱它?因为它的成本可能还挺高的。大型企业在管理上,通常权责分明,从而导致每个角色的成员都不愿意轻易踏足其他领域;流程烦琐,导致一个小小的改进也需要漫长的批复;安全性要求高,引发各种违规,进一步导致没有和其他人分享的意愿;员工操作权限管理精密,上不了网、下不了包、开不了虚拟机这些问题,虽然不至于疾在骨髓,但起码也在肠胃了。而且,自动化测试、部署流水线等都需要比较高的成本。在看见收益和认清自己之前,可能大多数人也会像蔡桓公那样默认拒绝吧:医之好治不病以为功。成本最低的时候,可能就是开始写第一行产品代码的时候。话虽如此,任何时候都是实现DevOps 的最佳时机,因为随企业的扩大和代码库的膨胀,成本一定是越来越高的。另外,完全地追求技术上的卓越而忽视成本也不是DevOps 的推荐做法。读者们在阅读时,也会看到DevOps 在一些状况下采取的权衡方案。
你希望在一个大家敞开心胸、相互拥抱的环境里共同协作以打造最好的产品,还是守着自己的一亩三分地,与人争辩这是谁的责任,抱怨人们冷漠的同时拒绝其他人的与你无关的要求?从本书开始,应用自己获得的知识,并尝试改造这个世界吧!
|
|