美文网首页DevOps/SREDevopsDevOps
DevOps:10本DevOps推荐书及47个DevOps兼容工

DevOps:10本DevOps推荐书及47个DevOps兼容工

作者: 生活的探路者 | 来源:发表于2019-02-01 08:48 被阅读12次

    版权归作者所有,任何形式转载请联系作者。

    作者:北京老李(来自豆瓣)

    来源:https://www.douban.com/note/647732431/

    一:DevOps十本推荐书

    1. TheGoal: A Process of Ongoing Improvement

    Eliyahu M. Goldratt&Jeff Cox

    本书前言就很不同寻常:这是一本关于工业管理的惊险小说,关于 DevOps 的早期预言。 1984 年, Goldratt 和 Cox 虚构了一个工厂经理 Alex Rogo ,他必须想方设法在 90 天内改善工厂的业绩,否则工厂将要倒闭,数百员工将失去工作。和同事一起, Rogo 试着以一种非传统的方式来解决工厂困境。

    在 DevOps 这个词还未诞生之时,这本书已经出版,故事阐述了商业顾问 Goldratt 的约束理论,表明管理者必须明确过程中影响业绩的瓶颈,努力去解决它们然后提高生产效率。这本小说如今在无数的大学和商学院作为教科书使用。

    2. ThePhoenix Project: A Novel about IT, DevOps, and Helping Your Business Win

    Gene Kim , Kevin Behr , George Spafford

    本书于 2013 年出版,受前一本书影响:它讲述了一个汽车零部件公司的 IT 经理 Bill ,接手一个全新的 IT 首创代码工程叫做 Phoenix ,然而这个项目已经严重超支和超时。就如同前本书的主角 Alex 一样, Bill 也必须在 90 天内解决问题,否则他的整个部门将会被外包。他学习到 IT 在制造业工厂的工程中有很多共性,弄清楚了如何组织工作流,让各个部门之间流线型通信,提升 IT 运维效率。

    3. TheDevOps Handbook: How to Create World-Class Agility, Reliability, and Securityin Technology

    Gene Kim , Patrick Debois , John Willis , Jez Humble

    DevOps 手册建立在 Phoenix 项目概述的课程之上,充当了企业实践 DevOps 解决方案的操作指南。本书包括来自 Google 、 Amazon 、 Target 、 Netflix 和其他公司的案例研究,证明 DevOps 实践有利于提升企业的业绩。它为 IT 管理者提供了一系列技巧,让他们能够将产品经理,开发人员, QA , IT 运维和信息安全人员整合在一起,从而使公司更加成功、具有竞争力。

    4.Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling atScale

    Jennifer Davis&Katherine Daniels

    《高效 DevOps 》是一本覆盖一系列 DevOps 技能和理论的实用手册,包括对工作流各种基础概念的介绍。作者为提升团队内部合作、跨团队之间的联系、选择正确的工具和工作流、以及高效实践提供了多种不同的方法途径。

    5.Continuous Delivery: Reliable Software Releases through Build, Test, andDeployment Automation

    Jez Humble&David Farley

    本书获得了 2011 年的优秀震撼大奖,它阐述了企业如何将想法快速可靠地实现。作者列举了将软件快速发布交付用户的种种原则和技术实践,提供了在自动化、部署、测试和提升开发测试运维团队之间合作的许多技巧。同时也介绍了自动化基础设施管理、数据迁移、虚拟化等技术。

    6.Implementing Lean Software Development: From Concept to Cash

    Mary Poppendieck&Tom Poppendieck

    2006 年的这本《实现精益软件开发》是作者 2003 年精益软件开发的后续,介绍了利用“ Lean ”原则实现快速交付价值。本书指引读者实现精益软件开发,包括设法达成利用敏捷实践,创建开发团队,以及通过快速反馈驱动质量提高,也包含了软件公司的许多案例研究。

    7. ThePrinciples of Product Development Flow: Second Generation Lean ProductDevelopment

    Donald G. Reinertsen

    2009 年, Reinertsen 在本书中断言,目前管理产品开发的主流模型是完全错误的。他解释了为什么无形的非管理队列是产品开发表现糟糕的根源,并提供了改变和提供效率的指引。 Reinertsen 在精益生产中提取原则的同时,也合并了电信网络、运输系统、计算机操作系统、军事系统等诸多想法,提出了改善商业决策、加速反馈和管理流的方法。

    8. TheDevOps 2.0 Toolkit: Automating the Continuous Deployment Pipeline withContainerized Microservices

    Viktor Farcic

    《 DevOps 工具箱 2.0 》于 2016 年出版,阐述了最新的高效软件架构技术,微服务中的容器向服务器持续地进行测试和部署。 Farcic 也解释了微服务使用例如 Docker 、 Kubernetes 、 Ansible 、 Ubuntu 、 Consul 和 Registrator 等工具和技术进行开发和部署的生命周期。本书提供的理论知识对于企业的 DevOps 实践非常有帮助。

    9.Leading the Transformation: Applying Agile and DevOps Principles at Scale

    Gary Gruver&Tommy Mouser

    在多个行业中,软件变得越来越重要,许多技术高管们争相改造老旧系统和生产过程,向能够快速交付大型软件项目的 DevOps 和敏捷原则进行规模扩展。本书出版于 2015 年,作为管理层的一本指南,提供了一个让企业关注改善开发和交付、尤其是跨团队的协调工作的框架。

    10.Practical DevOps

    Joakim Verona

    《 DevOps 实践》,出版于 2016 年,是一本关于 DevOps 、持续交付、以及它们如何影响架构的初级读本。本书帮助读者熟悉提高 DevOps 效率的各种工具,教会他们利用 DevOps 实践设计一个适合持续部署系统的应用软件。同时它引导读者高效存储和管理代码,例如使用 Git , Gerrit 和 Gitlab ,然后进行代码的测试、部署和监控。

    作者: Alison DeNisco 原文链接:http://www.techrepublic.com/article/10-books-to-add-to-your-devops-reading-list/#ftag=MSF8469b3d

      二:DevOps47个兼容工具

    1. 开发工具

    版本控制&协作开发

    版本控制系统 Git

    Git 是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。开源中国 Git 代码托管平台:http://git.oschina.net/

    代码托管平台 GitLab

    GitLab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。开源中国代码托管平台 git.oschina.net 就是基于 GitLab 项目搭建。

    代码评审工具 Gerrit

    Gerrit 是一个免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。它使用 Git 作为底层版本控制系统。

    版本控制系统 Mercurial

    Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。

    版本控制系统 Subversion

    Subversion 是一个版本控制系统,相对于的 RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上免费的版本控制服务多基于Subversion。

    版本控制系统 Bazaar

    Bazaar 是一个分布式的版本控制系统,它发布在 GPL 许可协议之下,并可用于 Windows、GNU/Linux、UNIX 以及 Mac OS 系统。

    2. 自动化构建和测试

    Apache Ant

    Apache Ant是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。

    Maven

    Maven 除了以程序构建能力为特色之外,还提供 Ant 所缺少的高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目,而使用 Ant 则需要十几行。

    事实上,由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目现在使用 Maven,而且公司项目采用 Maven 的比例在持续增长。开源中国的 Maven 库

    http://maven.oschina.net

    Selenium

    Selenium (SeleniumHQ) 是 thoughtworks公司的一个集成测试的强大工具。

    PyUnit

    Python单元测试框架(The Python unit testing framework),简称为PyUnit, 是Kent Beck和Erich Gamma这两位聪明的家伙所设计的 JUnit 的Python版本。

    QUnit

    QUnit 是 jQuery 的单元测试框架。

    JMeter

    JMeter 是 Apache 组织的开放源代码项目,它是功能和性能测试的工具,100% 的用 java 实现。

    Gradle

    Gradle 就是可以使用 Groovy 来书写构建脚本的构建系统,支持依赖管理和多项目,类似 Maven,但比之简单轻便。

    PHPUnit

    PHPUnit 是一个轻量级的PHP测试框架。它是在PHP5下面对JUnit3系列版本的完整移植,是xUnit测试框架家族的一员(它们都基于模式先锋Kent Beck的设计)。

    3. 持续集成&交付

    Jenkins

    Jenkins 的前身是 Hudson 是一个可扩展的持续集成引擎。

    Capistrano

    Capistrano 是一个用来并行的在多台机器上执行相同命令的工具,使用用来安装一整批机器。它最初是被开发用来发布 Rails 应用的。

    BuildBot

    BuildBot 是一个系统 的自动化编译/测试周期最需要的软件,以验证代码的变化。通过自动重建和测试每次发生了变化的东西,在建设迅速查明之前,减少不必要的失败。

    Fabric

    fabric8 是开源 Java Containers(JVMs) 深度管理集成平台。有了 fabric8 可以非常方便的从 UI 和 UX 一致的中央位置进行自动操作,配置和管理。fabric8 同时提供一些非功能性需求,比如配置管理,服务发现故障转移,集中化监控,自动化等等。

    Tinderbox

    Travis CI

    Travis CI 是一个基于云的持续集成项目, 目前已经支持大部分主流语言了,比如:C,PHP,Ruby,Python, Nodejs等等。

    Continuum

    Apache Continuum 是最新的 CI 服务器之一,也是值得关注的一个新进入者。基于 Web 的界面使得配置项目很容易。

    而且,还不需要安装 Web 服务器,因为 Continuum 内置了 Jetty Web 服务器。并且,Continuum 可以作为 Windows 服务运行,还在应用程序的某些部分嵌入了上下文敏感的文档,从而提供了很多帮助。

    LuntBuild

    LuntBuild 是一个强大自动构建的工具。通过一个简洁的web接口就可以很容易地进行系统的持续构建。

    CruiseControl

    CruiseControl 是一个针对持续构建程序(项目持续集成)的框架,它包括一个email通知的插件,Ant和各种各样的CVS工具。CruiseControl提供了一个Web接口, 可随时查看当前的编译状况和历史状况

    Integrity

    Integrity 是 Ruby 开发的持续集成服务器。

    Gump

    Gump 是 Apache 的整合工具。它以 Python 写成、完全支持 Apache Ant、Apache Maven 等等软件组建工具。

    Go

    Go 是 Google 开发的一种编译型,并发型,并具有垃圾回收功能的编程语言。

    4. 部署工具

    4.1 容器平台

    Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

    Rocket

    Rocket (也叫 rkt)是 CoreOS 推出的一款容器引擎,和 Docker 类似,帮助开发者打包应用和依赖包到可移植容器中,简化搭环境等部署工作。

    Ubuntu(LXC)

    LXD 是 ubuntu 基于 LXC 技术的重构,容器天然支持非特权和分布式。LXD 与 Docker 的思路不同,Docker 是 PAAS,LXD 是 IAAS。LXC 项目由一个 Linux 内核补丁和一些 userspace 工具组成。这些 userspace 工具使用由补丁增加的内核新特性,提供一套简化的工具来维护容器。

    4.2 配置管理

    Chef

    Chef 是一个系统集成框架,为整个架构提供配置管理功能。

    Puppet

    Puppet,您可以集中管理每一个重要方面,您的系统使用的是跨平台的规范语言,管理所有的单独的元素通常聚集在不同的文件,如用户, CRON作业,和主机一起显然离散元素,如包装,服务和文件。

    CFengine

    Cfengine(配置引擎)是一种 UNIX 管理工具,其目的是使简单的管理的任务自动化,使困难的任务变得较容易。Cfengine 适用于管理各种环境,从一台主机到上万台主机的机群均可使用。

    Bash

    bash 是大多数Linux系统以及Mac OS X v10.4默认的shell,它能运行于大多数Unix风格的操作系统之上,甚至被移植到了Microsoft Windows上的Cygwin系统中,以实现windows的POSIX虚拟接口。此外,它也被DJGPP项目移植到了MS-DOS上。

    Rudder

    Rudder 已改名为Flannel,为每个使用 Kubernetes 的机器提供一个子网。也就是说 Kubernetes 集群中的每个主机都有自己一个完整的子网,例如机器 A 和 B 可以有 10.0.1.0/24 和 10.0.2.0/24 子网。

    Powershell

    RunDeck

    RunDeck 是用 Java/Grails 写的开源工具,帮助用户在数据中心或者云环境中自动化各种操作和流程。通过命令行或者web界面,用户可以对任意数量的服务器进行操作,大大降低了对服务器自动化的门槛。

    Saltstack

    Saltstack 可以看做是func的增强版+Puppet的弱化版。使用Python编写。非常好用,快速可以基于EPEL部署。Salt 是一个开源的工具用来管理你的基础架构,可轻松管理成千上万台服务器。

    Ansible

    Ansible 提供一种最简单的方式用于发布、管理和编排计算机系统的工具,你可在数分钟内搞定。Ansible 是一个模型驱动的配置管理器,支持多节点发布、远程任务执行。默认使用 SSH 进行远程连接。无需在被管理节点上安装附加软件,可使用各种编程语言进行扩展。

    4.3 微服务平台

    OpenShift

    OpenShift 是由红帽推出的一款面向开源开发人员开放的平台即服务(PaaS)。 OpenShift通过为开发人员提供在语言、框架和云上的更多的选择,使开发人员可以构建、测试、运行和管理他们的应用。

    Cloud Foundry

    Cloud Foundry 是VMware于2011年4月12日推出的业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发 人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    Kubernetes

    Kubernetes 是来自 Google 云平台的开源容器集群管理系统。基于 Docker 构建一个容器的调度服务。该系统可以自动在一个容器集群中选择一个工作容器供使用。其核心概念是 Container Pod。

    Mesosphere

    Apache Mesos 是一个集群管理器,提供了有效的、跨分布式应用或框架的资源隔离和共享,可以运行Hadoop、MPI、Hypertable、Spark。

    4.4 服务开通

    Puppet

    Puppet,您可以集中管理每一个重要方面,您的系统使用的是跨平台的规范语言,管理所有的单独的元素通常聚集在不同的文件,如用户, CRON作业,和主机一起显然离散元素,如包装,服务和文件。

    Razor

    Docker Swarm

    Docker Swarm 是一个Dockerized化的分布式应用程序的本地集群,它是在Machine所提供的功能的基础上优化主机资源的利用率和容错服务。具体来 说,Docker Swarm支持用户创建可运行Docker Daemon的主机资源池,然后在资源池中运行Docker容器。Docker Swarm可以管理工作负载并维护集群状态。

    Vagrant

    Vagrant 是一个基于 Ruby 的工具,用于创建和部署虚拟化开发环境。它使用 Oracle 的开源 VirtualBox 虚拟化系统,使用 Chef 创建自动化虚拟环境。

    Powershell

    OpenStack Heat

    5. 维护

    日志记录

    Logstash

    Logstash 是一个应用程序日志、事件的传输、处理、管理和搜索的平台。你可以用它来统一对应用程序日志进行收集管理,提供 Web 接口用于查询和统计。

    CollectD

    Collectd 是一个守护(daemon)进程,用来收集系统性能和提供各种存储方式来存储不同值的机制。比如以RRD 文件形式。

    StatsD

    StatsD 是一个简单的网络守护进程,基于 Node.js 平台,通过 UDP 或者 TCP 方式侦听各种统计信息,包括计数器和定时器,并发送聚合信息到后端服务,例如 Graphite。

    6. 监控,警告&分析

    Nagios

    Nagios 是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等。

    Ganglia

    Ganglia 是一个跨平台可扩展的,高 性能计算系统下的分布式监控系统,如集群和网格。它是基于分层设计,它使用广泛的技术,如XML数据代表,便携数据传输,RRDtool用于数据存储和可视化。

    Sensu

    Sensu 是开源的监控框架。主要特性:高度可组合;提供一个监控代理,一个事件处理器和文档 APIs;为云而设计;Sensu 的现代化架构允许监控大规模的动态基础设施,能够通过复杂的公共网络监控几千个全球分布式的机器和服务;热情的社区。

    Zabbix

    Zabbix 是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

    ICINGA

    ICINGA 项目是 由Michael Luebben、HendrikB?cker和JoergLinge等人发起的,他们都是现有的Nagios项目社区委员会的成员,他们承诺,新的开源项 目将完全兼容以前的Nagios应用程序及扩展功能。

    Graphite

    Graphite 是一个用于采集网站实时信息并进行统计的开源项目,可用于采集多种网站服务运行状态信息。Graphite服务平均每分钟有4800次更新操作。

    Kibana

    Kibana 是一个为 Logstash 和 ElasticSearch 提供的日志分析的 Web 接口。可使用它对日志进行高效的搜索、可视化、分析等各种操作。

    欢迎爬楼,看更多北京老李-DevOps相关内容,ITIL内容请关注”豆列“

    https://www.douban.com/note/645016138/ DevOps凤凰沙盘:一场精益敏捷探索之行

    https://www.douban.com/note/629890513/ DevOps凤凰沙盘:一场百玩不厌的质量感悟

    https://www.douban.com/note/630638887/ DevOps课后总结之DevOps游戏系列-DevOps的独孤九剑

    https://www.douban.com/note/660291760/ DevOps Master:如何一次通过DevOps Master考试

    https://www.douban.com/note/647732431/  DevOps:10本DevOps推荐书及47个DevOps兼容工具

    https://www.douban.com/note/637665261/ DevOps Master课程:回忆我与DevOps之父Patrick的交流

    https://book.douban.com/review/9110485/ DevOps:转型从正确地认知开始

    https://www.douban.com/note/651734552/ DevOps:从I型人才到E型人才

    https://www.douban.com/note/651734953/  DevOps:智能服务台是企业不能缺少的基石

    https://book.douban.com/review/8928323/  DevOps布道师:终身学习是终身成长的源动力

    https://book.douban.com/review/8820627/ 《把读到的知识转化为能力三步法及完美学习的四步法》

    https://www.douban.com/note/643862694/ DevOps Master课程:脚踏实地学Pre-Master,一步一个脚印成为DevOps Master

    https://book.douban.com/review/8805640/ DevOps布道师为深度工作写的序:深度工作是心身的一种修练方法

    https://book.douban.com/review/8795275/ 咨询基本功:咨询顾问基本功之书面沟通及“补充大餐”

    https://www.douban.com/note/643251358/ DevOps定义编年史:通过DevOps定义看DevOps发展

    https://www.douban.com/note/637838681/ DevOps应用:光大银行DevOps1.0到DevOps2.0研讨会

    https://www.douban.com/note/639093367/ DevOps应用:民生银行IT一体化管理与自动化发展(1)

    https://www.douban.com/note/638965340/ DevOps应用:工商银行DevOps进行时

    https://www.douban.com/note/641427886/ DevOps应用:DevSecOps云下安全与云等保(云博会内容提前曝光)

    https://www.douban.com/note/646007197/  敏捷辩论

    https://www.douban.com/note/655617439/ 敏捷服务管理:数字化转型核心

    相关文章

      网友评论

        本文标题:DevOps:10本DevOps推荐书及47个DevOps兼容工

        本文链接:https://www.haomeiwen.com/subject/bwvksqtx.html