《Puppet权威指南》——2.1 DevOps介绍

2.1 DevOps介绍

Puppet是DevOps运动重要的工具成员之一,所以在介绍Puppet之前首先来了解一下DevOps运动。DevOps是英文Development和Operations的组合,是一组过程、方法与系统的统称。DevOps有助于促进开发、运维和质量等部门之间的沟通、协作与整合,如图2-1所示。

在传统的软件组织中,将开发、运维和质量等设为各自独立的部门,这样不仅降低了各部门之间沟通的效率,同时也会引发很多问题。如,开发部门接到项目经理和产品经理的指示需要开发一款新产品,而目前市场上还没有类似的产品。如果公司能够在短时间内开发出此产品,则不仅能填补相应的市场空白,也可以为公司带来可观的收益。而实际情况往往是这样的:各部门之间没能有效地沟通便开始了各自的工作,很可能开发部门在未与运维部门做足够的沟通前,便没日没夜地开发起这款新产品,最后终于在限期内将这款新产品开发出来,然后将开发后的相关产品一次性推给运维上线和后期维护。而当开发将新产品交于运维部门后问题便产生了,运维部门发现目前线上系统从硬件到软件都比较老,不适合这款新产品运行,无奈之下运维部门只能没日没夜地加班更新线上软硬件系统,强行将新产品运行在线上系统。这不仅容易导致新产品线上故障频出,给公司带来经济损失,同时也伤害了用户的产品体验,最后新产品以失败告终。在实际工作中这些问题层出不穷,但并不是无计可施。DevOps运动的出现就是为了解决软件行业存在的这些问题,而Puppet就是DevOps运动中一个重要的工具成员,作为集中管理配置工作同时面向开发与运维。正如Puppet Labs的运维总监Kartar所说:DevOps运动就是试图避免重大失误,并更聪明且高效地工作,它是一种旨在促进开发和运维两个团队相互合作、学习的思想、原则和框架。在一个DevOps环境中,为开发人员和系统管理员建立关系、流程和工具,让他们可以更好的交互,并最终为产品提供更好的服务。

时间: 2024-08-28 02:13:19

《Puppet权威指南》——2.1 DevOps介绍的相关文章

《Puppet权威指南》——导读

**前言**早在2009年的时候,笔者就梦想能出版一本属于自己的书,虽然那时用业余时间写过一本,但并不专业也没有正式发行.时隔5年,随着工作经验的积累和知识的增长,经过了2年多的构思,编写的这本书终于面市了,这算是圆了笔者一个小小的梦想.笔者从事互联网行业已有7年左右的时间了,与传统行业相比,7年的时间仅能算是初出茅庐,但对于年轻的互联网行业来说不算短了,因为互联网在1995年才正式进入中国,目前还处于"花样年华"阶段.2008年-2011年5月,笔者就职于新浪网技术中国有限公司.当时

《Puppet权威指南》——3.1 Puppet 各环境的安装

3.1 Puppet 各环境的安装 第1章介绍过Puppet和其他的几个自动化运维工具的异同,Puppet的优势有很多,安装方便只是其中之一.本节介绍Puppet在各主要环境下的安装方式.相信读者学完本章以后会深深体会到Puppet的安装是多么简单.由于Puppet是用Ruby语言编写的,所以先从Ruby版本支持Puppet状况讲起:接着介绍包管理工具和源:最后再来介绍Puppet在各环境下的安装方式.3.1.1 Ruby不同版本对Puppet的支持状况 目前Puppet 提供了对多系统.多环境

《Puppet权威指南》——第2章 Puppet介绍

第2章 Puppet介绍 本章主要希望读者在掌握Puppet之前对它的版本情况.工作流程和常见问题有一些基本的了解.首先介绍当前流行的DevOps运动,它是一组过程.方法与系统的统称,用于促进开发.运维和质量保障(QA)部门之间的沟通.协作与整合, Puppet也是它重要的工具成员之一.其次介绍Puppet发行版本状况,并重点介绍开源社区版本的细节,如何升级,以及它对各系统发行版本的支持情况.然后介绍Puppet的基本工作流程,让读者了解Puppet内部的工作逻辑,为后续深入学习作铺垫.接着介绍

《Puppet权威指南》——2.2 Puppet版本介绍

2.2 Puppet版本介绍 Puppet目前提供两种发行版本,即开源社区版本和企业版本,我们稍后会介绍两个版本的区别.而本书从应用的角度出发,主要介绍开源社区版本,对企业版只做了解性的介绍.截至本书出版前,Puppet官方网站共为用户提供了4个Puppet开源社区版的版本分支,不同版本分支之间主要是性能和功能上的差别(注:本书中介绍的案例多以开源社区2.7.25版本为例来做介绍).目前Puppet支持不同分支版本之间的混用,稍后我们会介绍如何混用.但是为了避免不必要的麻烦,笔者建议尽量不要混用

《Puppet权威指南》——1.2 自动化运维工具箱

1.2 自动化运维工具箱 1.2.1 Cfengine Cfengine是一个借助C语言开发的.功能强大的自动化UNIX管理工具,最早出现于1993年.通过Cfengine可以轻而易举地管理客户端上的设备.Cfengine不仅运行成本低.效率高.功能强大,而且使用范围广.Cfengine可以管理各种环境下的设备,从一台到上千台服务器的集群均适用.如果运维工程师想同时修改2000台服务器的root密码,通过Cfengine可以轻松地在几分钟内实现.Cfengine还包含以下主要的功能: 检查和配置

《Puppet权威指南》——2.5 Puppet开发工具

2.5 Puppet开发工具 工欲善其事,必先利其器.Puppet官方不但提供了对服务器的配置管理解决方案,还为用户提供了多种开发工具以提高配置管理的效率.这里主要介绍Geppetto与Vim两种常用开发工具. 1 . Geppetto 下载 Geppetto是一款官方推荐的图形界面开发工具,可以帮助我们开发Puppet的modules和manifests.Geppetto 通过Eclipse工具构建开发环境,它提供了语法高亮.内容补全.错误跟踪.代码调试和编译等功能.Geppetto还通过接口

《Puppet权威指南》——1.1 浅谈运维工程师

1.1 浅谈运维工程师 想必大家都看过<好的程序员是普通程序员效率的数十倍>这篇文章,这句话是比尔·盖茨说的,被很多文章引用和转载.笔者读后感同身受,觉得这篇文章讲的并不夸张.程序员如此,运维工程师也是如此,一个优秀运维工程师的效率确实是普通运维工程师的数十倍.本节笔者将带领大家了解一下优秀运维工程师和普通运维工程师之间的不同之处.我们从运维工程师的定位和职责开始介绍,继而详细分析普通运维工程师和优秀运维工程师的差别,最后落脚到自动化运维工具.1.1.1 运维工程师定位和职责 要想了解普通运维

《Puppet权威指南》——3.2 版本控制工具安装与配置

3.2 版本控制工具安装与配置 Puppet是一款配置管理工具,其优势不仅在于配置和管理线上系统文件,还可以利用版本控制工具对线上系统和配置文件进行版本控制,如图3-6所示.这样,当线上系统出现问题时可以根据版本控制工具进行及时回滚,而回滚的功能可以将配置文件回退到上一版本或历史的某一版本,快速的回滚可以让我们将故障时间降到最低.目前流行的版本控制工具有很多,在这里推荐两款版本控制工具--Subversion和Git,这两款工具各有优势,都可以与Puppet结合使用,本书中案例主要使用Subve

《Puppet权威指南》——第3章 Puppet及相关工具的配置与安装

第3章 Puppet及相关工具的配置与安装 万事开头难,所以本章首先重点介绍安装Puppet环境所需要的软件依赖包和各发行版本系统的安装步骤和注意事项,为读者应用Puppet奠定基础:然后介绍Puppet的辅助工具之一,即版本控制工具的安装方式,Puppet与版本控制工具的整合,实现了线上配置与SVN强一致性的功能,同时可以对线上文件进行版本控制,以便出现问题时及时回滚,为提供稳定服务保驾护航:还介绍流程版本控制工具的安装与对比,进一步探讨在使用Puppet时应该选用的版本控制工具的安装方式及其