如何实施DevOps
对于长期在孤立的架构下工作的组织来说,转移到协作式DevOps系统似乎是难以成功的。为了进一步提高效率,必须改变观念,并进行团队文化改变。例如:许多人认为只有自动化工具才能解决DevOps,其实这是不准确的。
只有当团队团结一致并朝着一个共同的目标努力时,DevOps才会取得成功。
这是成功实现DevOps的前提:
DevOps实施需要时间
DevOps并不像开发和运维整合在一起那样简单。适应了孤立工作的团队都发现很难适应协作工作。这是一次巨大的转变,正确实施需要时间。
测试的质量成为贯穿交付管道的连续过程。这样可以确保产品快速完成,并在到达交付时间点时就已经进行了足够质量检查和测试,以确保没有错误。
分步实施
任何更改都需要时间。因此,更好地分阶段实施DevOps。
- 步骤1:根据公司的要求,DevOps更改的第一步将是建立敏捷的开发过程。
- 步骤2:如果要为DevOps进行自动化,则组织需要适当的框架。
- 步骤3:实施持续集成的过程。编码人员经常将其代码推送到公共源代码存储仓库中。编码人员不是在周期结束时提交代码,而是在软件开发的每个节点都及时提交代码,以便可以更早解决冲突。
- 步骤4:接下来是持续交付阶段,这是集成阶段的扩展。使用连续交付系统,确保最新代码及时部署。
- 步骤5:然后将部署和测试阶段设置为自动化。
- 步骤6:最后一步将是连续部署阶段。此阶段扩展了连续交付阶段,在此阶段,如果所有测试均通过,则软件将自动部署。这样做可以快速获得反馈,并可以迅速进行处理。
领导的重要性
通过孤立的运营,所有领导角色的人物都被固定在了他们的核心领域。但是在DevOps中,leader们必须与其他流程团队合作以确保操作顺利进行。随着团队之间交互方式的可能变化,领导者必须对团队成员的努力提供必需的支持。
在DevOps环境中,所有部门相互混合,以便每个人都知道在每个阶段都会发生什么。这些过程是连续的。在这里,领导角色至关重要,以确保各个模块之间的集成顺利进行。DevOps的leader必须建立一个环境,使每个成员都能为项目的成功做出贡献。
自动化和工具
尽管DevOps的成功很大程度上取决于团队和流程,但不能否认工具在实现正确自动化方面的重要作用。从传统的软件工具转移到DevOps工具是具有挑战性的。但是,通过为合适的人员分配合适的工具,公司可以轻松地遵循连续的部署,集成,测试和交付过程。
DevOps成功的一些最佳工具是:
- 代码存储库管理 –Subversion,Git,CloudForce,Docker Hub
- 服务器构建 –SonarQube,Jenkins,Artifactory
- 管理配置 – Ansible,Saltstack ,Puppet,Chef
- 连续测试自动化 –Selenium,RF,Jenkins,appium,UiAutomator,IBM Rational Functional Tester
- 虚拟基础架构 – Microsoft Azure,Google Cloud,AWS Cloud,VMware vCloud
- 基础架构云端管理 –Docker,Azure Manager,Google Cloud Deployment Manager,AWS CloudFormation
即使市场上有数百种工具可用,公司也要决定合适的工具来集成和耦合,以实现连续的过程,确保了各阶段之间的平稳运行。
团队支持
短时间内的文化转变似乎是不可能的。将开发,运营,测试和质量保证部门的人员,工具和流程整合到一个统一的流程中,这是一个很大的挑战,必须耐心地解决。
DevOps的转换过程必须以获取长期利益的方式进行。从入门级到管理职位的团队必须组成团队,并且必须告知每个团队所带来的价值。成功的跨职能工作需要得到奖励,领导者必须随时提供帮助,以便顺利过渡。
持续监控绩效
领导者必须亲身实践,以确定限制产出的瓶颈。过渡和变化的系统将带来一些挑战。DevOps流程需要在开发,集成,测试,部署和工具操作中进行连续监控。确保建立适当的反馈系统,以便可以发现问题并使用所选工具纠正问题。
- 持续集成:通过在DevOps中进行持续集成,确保快速发布新开发的代码。
- 连续交付:通过连续交付,您可以合并其他自动化和测试功能,以便准备部署最新代码。
- 持续部署:在持续部署的最后阶段,代码将经过自动测试,然后在没有任何人工干预的情况下投入生产。
结论
DevOps是一个巨大的转变,不能一蹴而就。成功的DevOps环境需要逐步增加,团队协作,强大的领导能力,正确的工具和自动化。
- 郑重声明:文章首发于公众号“FunTester”,禁止第三方(腾讯云除外)转载、发表。
技术类文章精选
- java一行代码打印心形
- Linux性能监控软件netdata中文汉化版
- 性能测试框架第二版
- 如何在Linux命令行界面愉快进行性能测试
- 图解HTTP脑图
- 将swagger文档自动变成测试代码
- 基于java的直线型接口测试框架初探
- Selenium 4.0 Alpha更新日志
- Selenium 4.0 Alpha更新实践
- 如何统一接口测试的功能、自动化和性能测试用例
非技术文章精选
- 为什么选择软件测试作为职业道路?
- 写给所有人的编程思维
- 成为自动化测试的7种技能
- 如何在DevOps引入自动化测试
- Web端自动化测试失败原因汇总
- 如何在DevOps引入自动化测试
- 测试人员常用借口
- API测试基础
- API自动化测试指南
- 未来的QA测试工程师
如何实施DevOps的更多相关文章
- Atlassian如何实施DevOps
DevOps是推动开发和运维团队之间沟通和协作的手段.它不是一个工具或产品.相反,其成功的首要因素就是文化.目的是更快的创新和更好的客户体验. "2015年DevOps状态报告"调 ...
- 企业实施DevOPS的七大挑战(转)
从别人的演讲视频中摘抄,做笔记. 什么是DevOPS 如何衡量DevOPS 企业实施DevOPS的七大挑战 自动化测试投入不足 单元测试 API测试 界面测试 功能测试 高度集中的IT服务 标准化 脚 ...
- 你所在的公司是如何实施DEVOPS的?
工欲善其事,必先利其器,现在大家在DevOps领域最关注的还是在工具层面.下面是我跟这么多公司接触下来,大家使用比较多的工具:1.监控工具比较老牌的就是Zabbix,Nagios,用Zabbix的感觉 ...
- 收藏!如何有效实施devops?
当今IT行业的竞争日益激烈,各家公司都在寻找优化软件研发过程的方法,因为交付比对手更具竞争力的产品已经越发成为一件成本高昂的事情.这也是DevOps发挥作用的地方,因为它可以在工程管理的各个方面提供帮 ...
- DevOps:从理念到实施
转载自:http://os.51cto.com/art/201404/436794.htm DevOps这个新理念的出现,是为了应对IT环境中普遍面临的一些挑战.开发团队要求的不断满足新的客户需求,并 ...
- DevOps实施的三种IT障碍
[TechTarget中国原创] 现今DevOps可谓是红遍半边天,但正因为它是新的东西,企业也在不停的犯同样的错误.从这些挑战中学习,让你的DevOps项目取得成功. DevOps正在以一种更有效的 ...
- 切忌一步到位,谈谈DevOps实施落地
2020年6月19日,由云计算开源产业联盟指导,高效运维社区和 DevOps 时代社区联合举办的GNSEC 2020线上峰会圆满举办.BoCloud博云参加了本次峰会并分享了博云帮助客户实施DevOp ...
- 给 DevOps 初学者的入门指南
当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念.那么,到底什么是"DevOps"呢? 什么是DevOps 随着软件发布迭代 ...
- 年度十佳 DevOps 博客文章(前篇)
如果说 15 年你还没有将 DevOps 真正应用起来,16 年再不实践也未免太落伍了.国内 ITOM 领军企业 OneAPM 工程师为您翻译整理了,2015 年十佳 DevOps 文章,究竟是不是深 ...
随机推荐
- UVA 11584 "Partitioning by Palindromes"(DP+Manacher)
传送门 •题意 •思路一 定义 dp[i] 表示 0~i 的最少划分数: 首先,用马拉车算法求解出回文半径数组: 对于第 i 个字符 si,遍历 j (0 ≤ j < i),判断以 j 为回文中 ...
- H3C 配置路由器作为FTP服务器端
- 如何在很短的时间内将大量数据插入到ConcurrentHashMap(转)
将大批量数据保存到map中有两个地方的消耗将会是比较大的:第一个是扩容操作,第二个是锁资源的争夺.第一个扩容的问题,主要还是要通过配置合理的容量大小和扩容因子,尽可能减少扩容事件的发生:第二个锁资源的 ...
- Checkpoint checkup中文报告模板使用
步骤: Step1:下载中文版语言包和字体 https://supportcenter.checkpoint.com/supportcenter/portal?action=portlets.DCFi ...
- 学习Java第二周
这是学习java的第二周,又这样不知不觉的结束了 上周想要学习的这一周也都做到了,可是觉得进度有些慢了,学习了: 1. 接口和抽象类: 2. 集合与数组: 3. 方法的定义: 4. 递归算法: 5.对 ...
- There is no Action mapped for namespace [/] and action name [login] associate解决办法 .
写了一个JSP项目,在配置struts2时遇到了这个错误,在网上逛了一大圈后终于解决了这个问题.具体解决方法是: 1.struts.xml的名字和位置 这里特别提一点,很多人遇到这个错误都是名字错误, ...
- JAVA8学习——深入浅出Lambda表达式(学习过程)
JAVA8学习--深入浅出Lambda表达式(学习过程) lambda表达式: 我们为什么要用lambda表达式 在JAVA中,我们无法将函数作为参数传递给一个方法,也无法声明返回一个函数的方法. 在 ...
- Kafka学习笔记4--Kafka消费者的客户端(PHP)开发
一.准备工作 虽然 Kafka 是用 Java/Scala 语言编写的,但这不妨碍它对多语言的支持.可以在 Kafka 官网的 CLIENTS 查看 Kafka 支持的语言,其中包括 C/C++.Py ...
- 015 Ceph的集群管理_1
一.理解Cluster Map cluster map由monitor维护,用于跟踪ceph集群状态 当client启动时,会连接monitor获取cluster map副本,发现所有其他组件的位置, ...
- 洛谷$P2523\ [HAOI2011]\ Problem\ c$ $dp$
正解:$dp$ 解题报告: 传送门$QwQ$ 首先港下不合法的情况.设$sum_i$表示$q\geq i$的人数,当且仅当$sum_i>n-i+1$时无解. 欧克然后考虑这题咋做$QwQ$. 一 ...