一. 什么是DevOps 是什么?
DevOps (英文 Development 和 Operations 的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序 / 软件工程)、技术运营和质量保障( QA )部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。
可以把 DevOps 看作开发(软件工程)、技术运营和质量保障( QA )三者的交集。
传统的软件组织将开发、
IT
运营和质量保障设为各自分离的部门。在这种环境下如何采用新的开发方法(例如敏捷软件开发),这是一个重要的课题:按照从前的工作方式,开发和部署不需要
IT
支持或者
QA
深入的、跨部门的支持,而却需要极其紧密的多部门协作。然而
DevOps
考虑的还不止是软件部署。它是一套针对这几个部门间沟通与协作问题的流程和方法。
需要频繁交付的企业可能更需要对
DevOps
有一个大致的了解。
Flickr
发展了自己的
DevOps
能力,使之能够支撑业务部门
“
每天部署
10
次
”
的要求
──
如果一个组织要生产面向多种用户、具备多样功能的应用程序,其部署周期必然会很短。这种能力也被称为持续部署,并且经常与精益创业方法联系起来。
从
2009
年起,相关的工作组、专业组织和博客快速涌现。
DevOps
的引入能对产品交付、测试、功能开发和维护(包括
──
曾经罕见但如今已屡见不鲜的
──“
热补丁
”
)起到意义深远的影响。在缺乏
DevOps
能力的组织中,开发与运营之间存在着信息
“
鸿沟
”──
例如运营人员要求更好的可靠性和安全性,开发人员则希望基础设施响应更快,而业务用户的需求则是更快地将更多的特性发布给最终用户使用。这种信息鸿沟就是最常出问题的地方。
二. DevOps 文化
DevOps强调3个部门之间合作和一些从开发到最后交付环节的自动化。从而实现高效的CI/CD实践。
真正的DevOps就是围绕着软件和人之间的关系,从而实现一种文化,一种为提高企业竞争力和提高各技术部门协作的文化。
最终目标以高效,敏捷,高质量,最大化价值将产品交付给用户.
目前DevOps常用的应用的开源技术(工具)是:Ansible、Jenkins、Docker、Kubernetes、Git、Python