欢迎阅读我的笔记博客

31) devop理念概述

1- Devops介绍

_ _ _ devops本质是一种理念,
_ _ _ devops是软件开发,运维和质量保证三个部门之间的沟通、协作和集成所采用的流程、方法和体系的一个集合。它是人们为了及时生产软件产品或者服务,以满足某个业务目标,对开发与运维之间相互依存关系的一种新的理解。

1.1- 特点

  1. Dev和Ops具有不同的世界观:
    • 运维人员要求稳定可靠,认为变更充满风险。
    • 开发人员则被鼓励频繁发布新代码,认为运维部门对流程的坚持,阻碍了开发的进度。
  2. 开发和运维之间的脚本,配置,过程和环境存在差别:
    • 脚本\程序在开发的环境上ok,但是在运维的机器却出现问题。
  3. 沟通壁垒:
    • 开发和运维团队处于公司组织的不同部门,不同的管理者,不信任的关系或者不同的工作地点。

DevOps是敏捷理念从开发领域运维领域 的延伸。
_ _ _ 在DevOps方法论指导下,所有运维人员不仅要参与到软件开发的整个流程,还需要一定的敏捷理念。

  • 计划阶段:运维人员为开发提供需求,制定发布计划。
  • 编码/构建/验证阶段: Scrum、极限编程和精益生产、持续集成、自动化测试。
  • 部署阶段: 开发团队负责部署,监控部署过程,以及部署后的运行。

1.2- DevOps的具体定义:

_ _ _ 是一套实践方法,在保证高质量的前提下缩短系统变更从提交到部署生产环境的时间。

1.3- 驱动DevOps不断发展并付诸于实践的因素:

  • 业务负责人要求加快产品交付的诉求
  • 并发团队大规模使用敏捷软件开发过程与方法
  • 虚拟化和云计算基础设施日益普遍
  • 虚拟数据中心自动化技术和配置管理工具的普及

1.4- 核心思想: IT与运营团队的相互融合。#####

  • 运营人员参与开发过程,指导开发人员生产运营友好的应用程序
  • 开发人员参与运营环节,了解运营需求并及时清除代码中不利于运营的缺陷。
  • 实现开发环境,测试环境,生产环境的高度相似度,可编程,自动化的全生命周期的配置维护管理,从而适应软件的高高变动性高可用性高可靠性要求

1.5- DevOps实践的原则

  • 部署对系统变更时,质量很重要: 保证方法上有生产环境前跑通自动化测试用例,先让一小部分用户对生产环境的变更进行测试,对新部署的代码密切监控。
  • 交付机制是高质量的:交付机制应具备的可靠性和可重复性。
  • 时间重要性: 开发人员提交新代码的时间,代码部署到生产环境的时间。
  • 目标导向: 不拘泥于实践形式或者是否使用工具,目标是减少提交代码到部署生产环境之间的时间。
  • 用户测试和部署实践: 在需求阶段就包含运维人员的视角。

1.6- DevOps其他要素:

  • 文化: 建立一体化的全功能团队,打破开发与技术的运营隔阂。
  • 自动化: 一切可以自动化。
  • 精益: 以精益的方式
  • 度量: 建立有效的监控与度量手段快速获得反馈,推动产品和团队的持续改进。
  • 分享: 不同职能、产品之间经验分享。

1.7- 具体工作

  • 提升软件部署质量
  • 更新软件发布
  • 提升IT过程和需求的可视化程度
  • 改变合作协同文化
  • 相应更多的业务需求
  • 开发更敏捷
  • 管理过程更敏捷
  • 提升代码质量

1.8- 所需理念或者工具

  1. 人员:自治的团队。开发人员向全栈工程师发展并融合不同团队。
  2. 流程: 开发过程中最小化可执行产品、持续集成/交付/部署、测试驱动开发。
  3. 技术: 开发者自服务,基础设施即代码、集成工具链
  4. 文化: 合作文化、持续体验

1.9 -遇到问题

_ _ _ DevOps实践能够使企业以更加精简、高效的方式运作。但也有很多障碍,比如不同部门的思维不同,对开发团队要求比较高等。

  • 各环节能力没有自动化拉通,交付周期长;
  • 问题不能早发现,不断向后积累,交付质量差;
  • 解决问题不能自动化验证,效率低;
  • 研发过程缺乏统一视角,沟通效率差,导致大量浪费和返工;

1.10- DevOps生命过程


实现自动化流水线,包含:

  1. 需求
  2. 编码
  3. 测试
  4. 构建
  5. 发布
  6. 部署
  7. 运维

posted @ 2020-03-02 11:39  lemanlai  阅读(845)  评论(0编辑  收藏  举报