转载自:http://os.51cto.com/art/201404/436794.htm

DevOps这个新理念的出现,是为了应对IT环境中普遍面临的一些挑战。开发团队要求的不断满足新的客户需求,并快速实现新的功能。而运营最关心的是“稳定压倒一切”,任何差错都有可能对生产环境中的用户造成直接影响。本文分享了DevOps从理念到实施的工具和方法。

为什么会有DevOps的出现?

DevOps这个新理念的出现,是为了应对IT环境中普遍面临的一些挑战。

敏捷的出现缩小了上图所示的第一个隔阂,也就是商业需求和开发之间的隔阂,有效的加快了产品开发的周期和效率。那么这无疑为运营团队增加了很多压力。

于是上图中第二个隔阂,也就是开发和运维之间的隔阂需要解决,于是DevOps的理念应运而生。

如何解决开发和运维的隔阂呢?

首先要明白隔阂产生的原因。开发人员和运维人员认识的方法,以及各自所处的角色,都存在根本性的差别。

开发团队要求的不断满足新的客户需求,并快速实现新的功能。而运营最关心的是“稳定压倒一切”,任何差错都有可能对生产环境中的用户造成直接影响。有些服务提供商都和客户签署Service Level Agreement。服务中断意味着直接的财政损失。衡量指标不同,自然工作的重点不同。

那么我们首先要从文化上着手。

根本上要从文化上着手。文化的改变是第一位。了解自己的工作队全局的影响。

运维团队必须明确的认识到,如果不能快速把开发成果推倒生产环境,企业就很可能被其他竞争对手超越。长久以来就很有可能被市场淘汰。覆巢之下,焉有完卵?那么运维团队也就没有存在的意义了。但不是说稳定不重要,我们需要实施一系列手段来实现即快又稳。

开发团队必须明确认识到开发代码或者更改设置时,可能会对整个系统稳定性和性能的影响。

其次要从组织结构上着手,考虑开发团队和运维团队的直接领导是同一个人,尽量避免部门直接互相指责和扯皮。

第三要实施一些工具及方法。

如何具体实施?

正如很多企业采用敏捷开发一样,这需要一个准备,尝试和逐步实施的过程。其实DevOps仅仅是一个理念,而且这个理念在不断变化和发展中。无论公司大小,IT环境面临的有很多挑战是共通的。大公司组织结构相对发杂,人员理念和文化的形成非一夕一朝之功。在实施DevOps反面,反而小公司有很多的优势。

除了IT企业外,DevOps对于传统的行业(金融,电信等等)也同样有借鉴意义。因为在不久的将来,每一个公司都是数字化的公司。没必要强调你的企业是不是采用DevOps,应该开始深入了解你的环境中需要解决的问题是什么,再看DevOps中的一些方法是不是会帮到你,然后再具体实施一些措施和借用一些工具来帮助你。比如我所关注的虚拟化平台的运维,就可以借鉴DevOps的很多思想。

标准化和自动化:

尽量采用模板和指定好的流程来更新Master Image,采用Puppet,Chef等工具来实现系统管理自动化,尽量减少人为干预。同时也避免了不必要的人为失误。

像管理代码一样管理系统配置:

很多应用的配置,因为需求变化而更改。但文档往往没有同步更新。需要有工具来记录系统的配置参数。也就是说借鉴软件开发中管理Code的方式,来对系统环境的设置进行版本控制和同一的管理。从而保证环境的一致性和稳定性。

这样可以捕捉到和规定配置不一致的情况,也可以快速的找到问题所在,提高排错的效率并缩短时间。

要有独立Dev/Test环境

新的配置必须在独立的Dev环境中充分测试后,才能在生产环境中实施。

测试自动化

采用一些工具和方法,自动测试系统改动后的各项功能和指标。大大减少测试需要的人力和时间。

开发人员能自己创建开发环境

vCloud Director 可以很好的满足这个需求。系统管理员可以把运算、网络和存储的资源专门分配给开发团队,并授予适当权限。开发人员自己可以瞬间创建模板以及新的环境。

DevOps:从理念到实施的更多相关文章

  1. DevOps on DevCloud|如何采用流水线践行CI/CD理念【华为云技术分享】

    [摘要] 持续集成/持续交付(CI/CD,Continuous Integration/Continuous Deployment)在DevOps CMALS理念中具有支柱性地位,因而CI/CD流水线 ...

  2. `DevOps`相关知识搜集

    本文记录的是搞清楚什么是DevOps过程中检索资料时发现的有价值的帖子. 传送门: 我眼中的DevOps 作者简介:申思维,2005年本科毕业于华南理工大学计算机学院.一直从事Web领域的开发,3年多 ...

  3. DevOps/TestOps概念

    天下大势分久必合合久必分,早期的软件开发只有软件工程师一人完成,为了提高效率逐渐实行分工模式:开发.测试.运维.不同角色担任不同的任务.分工越来越细之后带来了问题也越来越突出,那就是各角色之间的沟通成 ...

  4. 一个都不能少: DevOps的3大核心基础架构

    DevOps的涵盖面非常广,因为这个概念的火热,又有很多文章和技术都在把DevOps的帽子扣在自己头上,让很多人迷惑不解.其实,DevOps的知识体系如果从顶层上来分解,只有2块:方法论和工具链.方法 ...

  5. DEVOPS落地实践分享

    DEVOPS落地实践分享 转载本文需注明出处:微信公众号EAWorld,违者必究. 引言: DevOps的理念已经说了很多年,其带来的价值逐渐被接受,很多企业也逐渐引入了DevOps.目前普元DevO ...

  6. DevOps“五宗罪”,这样向DevOps过渡注定会失败

    云计算提供的速度响应.敏捷性和规模效应,契合了如今不断变化的数字商业环境.企业基于最新的IT技术,重构IT架构,加速产品创新和服务交付的速度,从而提高运营效率和市场占有. 不过,企业IT管理者在利用云 ...

  7. [转帖]DevOps/TestOps概念

    发现收藏不好用..还是转吧.. https://www.cnblogs.com/fnng/p/8232410.html DevOps/TestOps概念 2018-01-07 22:02 by 虫师, ...

  8. [转载]金融行业 DevOps 解决方案概述

    2009 年 6 月份,John Allspaw 及 Paul Hammond 在速度大会 (Velocity) 上分享了在 Flickr 中如何通过加强 Dev(开发团队)和 Ops(运维团队)之间 ...

  9. 【DevOps】为什么我们永远疲于奔命?

    作者:范军 (Frank Fan) 新浪微博:@frankfan7   微信:frankfan7 在[DevOps]谁说大象不能跳舞?一文之后,本文对DevOps的理念作进一步探讨. 最近在读一本书& ...

随机推荐

  1. 使用iptables禁止外网访问tomcat的8080端口

    如果项目同时使用了nginx反向代理服务器和tomcat等web服务器,并且两台服务器都暴露于公网中,那么通常我们会禁止外网直接访问tomcat,因为以下原因: 1.如果可以直接访问tomcat,那么 ...

  2. 第二章 向量(c)无序向量

  3. CentOS 查找某个软件安装路径

    1.通过rpm查看 查看软件是否安装.首先我们需要查看软件是否已经安装,或者说查看安装的软件包名称.如查找是否安装mysql 2.接着根据 rpm -ql 列出软件包安装的文件 3.综合上述以上的问题 ...

  4. Mac安装MySQL数据库

    一 下载及安装社区版MySQL和MySQL Workbench. 二 如果MySQL Workbench无法登陆,则系统偏好设置-MySQL-Initialize Database,选择legacy开 ...

  5. MyBatis高级映射查询(3)

    一.数据库数据和项目搭建过程 1.主要要四张表,分别为user用户信息表.items商品表.orderdetail订单明细表.orders订单表.表的结构和数据如下: 表结构 CREATE DATAB ...

  6. go流程控制与函数

    package main; import ( "fmt" ); func main() { isRun := true; //条件判断 if isRun { fmt.Printf( ...

  7. spyder在编辑过程中被自己弄乱了,想要恢复成安装时默认的格式或者重置页面格式的解决办法

    打开spyder,tools-->Reset Spyder to factory defaults,按照如上操作即可恢复成安装时的默认格式.

  8. sqlserver window身份验证时切换账户的快捷键

    sqlserver window身份验证时切换账户的快捷键:ctrl+alt_del

  9. 在ubuntu16.04编译安装httperf

    在网上偶尔看到httperf可以在测试中使用.网上苦苦找不到ubuntu编译安装的方法.自己琢磨了一下,现在总结如下: apt install httperf vim /etc/security/li ...

  10. 理解Linux中的shutdown、poweroff、halt和reboot命令

    原文  http://os.51cto.com/art/201706/541525.htm   在本篇中,我们会向你解释 shutdown.poweroff.halt 以及 reboot 命令.我们会 ...