DevOps的基本原则与介绍

      DevOps这个术语是developer与operations的合并简写。实现还有QA。DevOps描述与精简软件交付流程,在今天已经开始广泛的使用。强调从生产环境到开发的生命周期快速地反馈学习。DevOps不只是让你更快地交付软件,更多是帮助你产出高质量,与个人需求一致的软件。

鼓励运维工程师与开发工程师积极合作是至关重要的。 DevOps原则有如下: 

l 与人合作

       从你的坐位上起来与其他运维工程师或开发人员面对面交流。在这儿你不能用Email或电话等方式进行沟通。想象试着通过电话与朋友们开个Party一样。是的,现在去和某人交流下一个项目,问题,解决方案,你需要对他们像一个Team一样。

l 穿他们的鞋走路

      如果你准备好理解软件工程师与运维工程师的每天如何工作的,使用工具如何工作,那你最好在现实工作场景一起和他们工作。例如,如果你是一个运维人员,你没有花时间去理解源代码管理系统,而开发人员坚定他们信念使用GitSubversion, 那么需要站在他们立场上去思考问题。需要更多时间去学习系统,因为你能应用你的技能去构建工具从而支持软件开发过程。

l 为其他人而工作
      使每个人工作轻松点儿。为运维构建工具,它也为你了构建工具。如<<Time Management for System Administrators>> 的作者Tom Limconcelli说的,“我们现在是程序员了。” 甚至,我们有补充缺乏的技能集。没有一个人能精通一切,所以构建一个新工具能帮助你的运维人员或开发人员自动化交付过程。它不是正式环境的一部分,甚至是个简单的桌面工具。这是像”交换工具”来实现提高效率,同时也能使TEAM之间巩固关系与加强协作。

      这些基本原则可以应用到大型开发与运维团队的大公司,同样适用刚起步小团队公司。

走近DevOps

越来越多的开发人员和运维人员相互学习各自专长。更多像他们构建一个共同的愿景什么需要做,如何做。开发人员需要学习一些常规高层知识:

l 操作系统

l 网络构架

l 网络安全

l 应用程序安全

l 配置管理

l 自动化实践

与开发人员在一起工作的运维人员需要构建与维护一个复杂在线网站,更需要这些技能:

l 沟通

l 配置管理

l 编程

l 软件设计与构架

 

演化

让我们来看下面这张图,假设已经实现了些基本的打包,配置管理自动化过程

上图开发人员与运维人员有一些协作,开发人员可能不了解管理WEB服务器的配置,可能不清楚在特定操作系统如何使用命令行配置。运维人员管理服务器,让他们能点击一个按钮完成发布应用程序到应用服务器,实现部署工作,提供应用服务器。最好的环境是开发人员与运维人员在一个TEAM开发一个新环境。但新的环境一旦推出后,需要花费一些管理成本,去跟踪与管理所有的新环境。不幸的是,网络管理,配置管理更多的压力让运维人员来支持整个环境正在运转。看下面图示是如何演化的:

上面的图我们设想了比较理想的场景,减少编译、构建与部署的依赖。 自动化系统提供一个WEB应用服务器的事实没有变,变的是需要与运维交互的WEB服务器配置,日志配置,部署应用程序操作都是由开发人员来完成了。运维演化为适应开发人员的持续集成,发布管理,测试,调试源代码。开发人员需要学习操作系统核心,网络,配置管理与自动化。开发与运维能相互接管各自角色的工作,感觉像开发人员需要两个角色技能合集,也对开发人员有下一个级别的需求。

2013年一份对4000IT组织调研报告,组织实现DevOps的好处有如下:

今天先到这儿,后续有时间,我们将介绍更多内容。

希望对您软件开发管理有帮助。

关于DevOps更新您可以参考:

http://devopscafe.org/

DevOps is Everywhere

http://devops.com/

http://dev2ops.org/

 

作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog

DevOps的基本原则与介绍的更多相关文章

  1. 转载 DevOps的基本原则与介绍

    转载原地址:  http://www.cnblogs.com/wintersun/p/3339047.html DevOps的基本原则与介绍 DevOps这个术语是developer与operatio ...

  2. 数据库的DevOps实践

    ---------------------------------------------------------------------------------------------------- ...

  3. 精益IT组织与分享式领导

    精益IT组织       未来的组织将专注于同行业的产品或业务流--其他的一切,包括专家和管理者在内,都是为了让一线工作人员可以第一时间就做好,而又不会遇到任何麻烦.最大的制约不是技术:真正的挑战是变 ...

  4. 年度十佳 DevOps 博客文章(前篇)

    如果说 15 年你还没有将 DevOps 真正应用起来,16 年再不实践也未免太落伍了.国内 ITOM 领军企业 OneAPM 工程师为您翻译整理了,2015 年十佳 DevOps 文章,究竟是不是深 ...

  5. `DevOps`相关知识搜集

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

  6. DevOps详解

    最近我阅读了很多有关DevOps的文章,其中一些非常有趣,然而一些内容也很欠考虑.貌似很多人越来越坚定地在DevOps与chef.puppet或Docker容器的熟练运用方面划了等号.对此我有不同看法 ...

  7. DevOps 在公司项目中的实践落地

    原文出处:https://www.cnblogs.com/beef/p/7743594.html ref: [DevOps]团队敏捷开发系列--开山篇 https://www.cnblogs.com/ ...

  8. DevOps的概念

    DevOps(英文Development和Operations的组合)是一组过程.方法与系统的统称,用于促进开发(应用程序/软件工程).技术运营和质量保障(QA)部门之间的沟通.协作与整合.它的出现是 ...

  9. 持续集成与devops

    持续集成 持续集成 持续集成(Continuous integration,简称CI),简单的说持续集成就是频紧地(一天多次)将代码集成到主干,它的好处主要有两个: 1.快速发现错误.每完成一次更新, ...

随机推荐

  1. Android开发学习—— Broadcast广播接收者

    现实中:电台要发布消息,通过广播把消息广播出去,使用收音机,就可以收听广播,得知这条消息.Android中:系统在运行过程中,会产生许多事件,那么某些事件产生时,比如:电量改变.收发短信.拨打电话.屏 ...

  2. iOS从零开始学习直播之2.采集

      直播的采集由采集的设备(摄像头.话筒)不同分为视频采集和音频采集,本篇文章会分别介绍. 1.采集步骤   1.创建捕捉会话(AVCaptureSession),iOS调用相机和话筒之前都需要创建捕 ...

  3. FineReport如何用JDBC连接阿里云ADS数据库

    在使用FineReport连接阿里云的ADS(AnalyticDB)数据库,很多时候在测试连接时就失败了.此时,该如何连接ADS数据库呢? 我们只需要手动将连接ads数据库需要使用到的jar放置到%F ...

  4. jmeter之线程组的使用

    线程组 在使用jmeter性能测试时,我们都得先添加个线程组,右键testplan-->添加-->Threads-->线程组.在线程组下执行. 问题:为了能够让jmeter在做性能测 ...

  5. .JavaWeb文件上传和FileUpload组件使用

    .JavaWeb文件上传 1.自定义上传 文件上传时的表单设计要符合文件提交的方式: 1.提交方式:post 2.表单中有文件上传的表单项:<input type="file" ...

  6. 聊聊从web session的共享到可扩展缓存设计

    先从web session的共享说起   许多系统需要提供7*24小时服务,这类系统肯定需要考虑灾备问题,单台服务器如果宕机可能无法立马恢复使用,这必定影响到服务.这个问题对于系统规模来说,从小到大可 ...

  7. 2016年我们重新思考移动互联网创业的风险, 微信还是APP?

    感觉这两年前端开发又火起来了,很多做内容创业和做微电商创业的人,往往都选择了运营微信号.对于做纯技术开发的人来说,一般是看不上微信号的,感觉没什么技术含量,或者说没什么技术壁垒.也有另一批人观点相反的 ...

  8. Linux简单指令操作

    Linux CentOS运维中,常用的操作和命令记录下: 1.DNS设置 在Linux服务器上,当我们ping出现这个错误时:ping: unknown host,很大可能是系统的DNS没有设置或者设 ...

  9. 使用自定义 classloader 的正确姿势

    详细的原理就不多说了,网上一大把, 但是, 看了很多很多, 即使看了jdk 源码, 说了罗里吧嗦, 还是不很明白: 到底如何正确自定义ClassLoader, 需要注意什么 ExtClassLoade ...

  10. 【PRINCE2是什么】PRINCE2认证之七大主题(1)

    进入第一个主题,PRINCE2商业论证:PRINCE2指出,商业论证就是进行判断是否值得对项目进行投资,值不值的问题.PRINCE2的商业论证有四个 在项目开始时,开发商业论证.在整个项目生命周期中, ...