如何实施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 文章,究竟是不是深 ...
随机推荐
- Mysql5.7在忘记密码的情况下如何修改密码?
1.停止服务 2.mysqld --skip-grant-tables 3.回车之后就不要动了,再新打开一个命令提示符窗口,同样进入mysql的安装目录下, 输入:mysql -u root -p 密 ...
- Codeforces Round #183 (Div. 2)
A. Pythagorean Theorem II 暴力,\(O(n^2)\). B. Calendar 每个日期计算到0年1月1日的天数,相当于转化成前缀和形式. 闰年数计算\[\lfloor\fr ...
- VisualStudio 使用多个环境进行调试
在 VisualStudio 2017 支持使用 launchSettings.json 文件定义多个不同的环境进行调试 先给大家一张图看一下效果 可以看到原来的是启动的按钮,现在被我修改为 lind ...
- 【t093】外星密码
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 有了防护伞,并不能完全避免2012的灾难.地球防卫小队决定去求助外星种族的帮助.经过很长时间的努力,小 ...
- windows命令行下redis读取中文字符乱码
我在eclipse上对redis进行了一个操作,添加了一个中文字符串进去,可以看到是添加成功了的 但是在命令行中读取的时候却成了乱码,如下图所示 这是因为windows命令行的编码是gbk 可以通过如 ...
- 从http到https--phpStudy2018
0. 将SSL证书解压到以下目录,申请方式见 百度 Apache/cert/ 分别更名为 my_public.crt my.key my_chain.crt 1. phpStudy->其它选项菜 ...
- HDU 5912 Fraction(模拟)
Problem Description Mr. Frog recently studied how to add two fractions up, and he came up with an ev ...
- asp dotnet core 图片在浏览器没访问可能原因
我写了一个项目用来广告就用到广告的图片,但是广告的图片放在博客的链接无法访问,连我的方法都没有调用,而我尝试网页直接访问图片链接是可以访问的,最后找到原因是广告插件禁用了图片访问 我在一个方法创建了广 ...
- POJ 2778 DNA Sequence (ac自动机+矩阵快速幂)
DNA Sequence Description It's well known that DNA Sequence is a sequence only contains A, C, T and G ...
- ZR1153
ZR1153 首先我们可以发现一个比较简单的容斥做法 直接暴力枚举\(2^m\)个限制强制不合法,算贡献 注意如果两个限制冲突那么答案为0 直接暴力差分就好了 这样就有了快乐的\(30\)分了 接下来 ...