我们之前已经听到很多谈论DevOps和DevOps世界的最新趋势的事情,但是就DevOps工程师本身,到底干些什么呢?
在最纯粹的存在形式上来说,DevOps工程师是为了加快开发和运营团队之间的交付效率而存在的桥梁。

DevOps工程师在软件生命周期中能带来什么?
在传统的交付周期中,软件开发人员会在经年累月的编写代码后,将软件交给QA团队进行测试,然后将最终版本交给运营团队部署。这三个阶段,即开发,测试和部署之间是缺乏协作的。
开发编写的代码最终并交给运维团队,然后运维团队来解决代码部署过程中出现的问题,或者将代码交还给开发团队来解决遇到的问题。所有这些都导致了软件开发过程的放慢。

但是在DevOps模式下,这三个团队不再孤立。大多数时间内,从开发、测试、部署到运营,相关的工程师合并成一个团队并且贯穿整个软件生命周期,开发不再限制于某一个技能而是一整套技术解决方案。当然安全团队也因此有可能在这个软件生命周期中与开发和运营更紧密地工作,及早发现安全问题。
为什么DevOps工程师的角色各不相同呢?
DevOps工程师并不是什么新鲜事物。比如系统工程师,自动化工程师,软件工程师,Linux工程师等等工程师都能成为DevOps工程师。
但是,DevOps工程师的工作性质因组织而异。比如有些是在基础设施自动化和维护中发挥作用,而在另外一些组织中却是在整个交付链中发挥作用而已。

DevOps工程师的角色各不相同,因为他必须通过克服传统协作障碍与开发和运维人员进行协作。而不同的组织有不同的障碍,因此其扮演的角色自然不同。
DevOps工程师日常工作中最重要的两个方面
尽管DevOps工程师的角色各不相同,但几乎所有DevOps工程师每天都会触及两件事 - 自动化和持续集成。
自动化:
与维护基础设施有关的大部分任务仍然是手动的。公司更喜欢使用传统的经过验证的方法,而不是自动化相同的流程,因为他们不想冒任何风险。但事实是自动化任务将有助于更快速地开发和部署软件,这意味着能加快公司从客户处赚取利益的速度。
为了阐述清楚这一点,我们可以考虑下面这个情况,系统工程师如果每天按要求手动备份所有服务两次,那么他可以通过在云端设施上编写脚本来完成这项工作而不是浪费时间来完成这项工作。通过自动执行备份过程,您可以让系统工程师更专注于重要的事情,例如对由于某些因为虚拟机问题而需要关闭的服务进行故障排除。手动执行相同的操作会导致您的系统工程师的负担过重,而这些工程师的效率将大大降低。这只是一个非常简单的例子,通过不实施自动化来阐述资源浪费的概念。

DevOps因此可以作为敏捷的扩展,因为它可以降低由于开发人员、QA和运维团队之间的非协作而可能出现的风险。DevOps通过认识到高质量的软件开发要求包括质量保证和运营专家在内的所有利益相关方的持续参与和反馈,扩大了敏捷原则的范围。
有很多事情可以通过自动的方式来完成,比如在发布新的补丁的时候更新ApacheWeb服务器,更新部署在服务器上的开源软件的版本。
DevOps工程师可以通过创建脚本环境自动完成配置服务器的过程。您可以在一个节点上运行脚本,但如果在数千上百个节点上手工运行相同的脚本将变得不切实际。脚本在这里就变得不再是一个可扩展的解决方案了。
因此,需要以可扩展的方式跨大量节点自动化进行软件配置、配置管理和应用程序部署。这是配置管理工具(如Chef,Puppet和Ansible)在DevOps世界中派上用场的地方。

持续集成:
关于DevOps的另一个重要方面是在软件开发实践中实施持续集成(CI), CI允许开发人员不断更新自动化构建、测试使用到的资源库。
持续集成系统通常包含一个可以持续监控版本控制系统的工具。只要检测到对版本控制系统的更改,系统就会自动构建并测试您的应用程序。如果构建或测试没有通过的,系统会立即通知开发人员解决问题。
持续集成可确保持续交付,因为所有代码更改都会不断部署到构建阶段之后的测试和生产环境中。
通过持续集成,开发人员可以从人工任务中解脱出来,提高工作效率,因为现在在CI中以自动化方式完成自动构建任务,并且由于更加频繁的测试,错误和bug更容易找到和解决,从而最终用户的更新可以更快,更频繁地进行。
有不同的产品和工具可以帮助您在组织中实现持续集成。有些工具可让您将CI 服务器托管在您自己的网络基础架构中。最受欢迎的是从Sun的Hudson项目更名为Jenkins的工具。
还有一些其他托管的CI产品,如完全托管在云中的CircleCI和Travis CI.这些托管的CI产品越来越受到小组织的欢迎,因为它使工程团队能够尽快开始持续集成。

总结
DevOps工程师扮演的最重要角色是弥合软件开发和运营团队之间的差距,提高软件交付速度。尽管DevOps工程师在组织中的角色各不相同,但有两个共同点:自动化和持续集成。

DevOps工程师到底做些什么?相关推荐

  1. DevOps工程师到底是做什么的?

    点击上方"朱小厮的博客",选择"设为星标" 做积极的人,而不是积极废人 DevOps是当前的最新趋势,但是有很多朋友还是不知道DevOps工程师到底是做什么的? ...

  2. 嵌入式工程师开发工作主要做些什么,以后收入怎样

    很多人问嵌入式工程师到底负责些什么,月薪有多少?这我就和大家探讨一下! 在这里我和大家说说主要负责驱动.gui开发等等,硬件主要做电路.pcb等等,还有系统工程师,做系统配置,内核定制等等,工资还可以 ...

  3. 大数据运维到底是什么 又需要做些什么

    疫情期间,大数据的广泛应用发挥了巨大的作用,作为新兴的IT领域技术,大数据行业受到越来越多的人关注,于是想要入行的.转行的纷纷选择大数据学习,那么大数据运维到底是什么?又需要做些什么? 直白的解释大数 ...

  4. 运维工程师到底都在做些什么?

    我们群里最近讨论500台服务器安装系统的问题.我特意找了一篇高人写的文章来与大家分享,希望对大家能有所帮助哈!(以下为作者原文,未加任何修改哈) 看到chinaunix最近出的门户网站运维板块veyr ...

  5. 一个菜鸟的暑期到底做了些什么

    一个菜鸟的暑期都做了些什么 linux虚拟机的搭建 PhotoShop的学习 暑期主攻:Web前端 总结 linux虚拟机的搭建 先从最简单的开始说起,依据网上的流程以及学长的帮助,搭建好了虚拟机,但 ...

  6. python中mod是什么意思_【python中,mod_python到底做了些什么呢?】mod python 教程

    python 编程小白 ,不会用doctest 请大神指教怎么用!! >>> >>> def is_between(v, lower, higher): ...   ...

  7. linux运维工程师到底是做什么的?

    linux运维工程师到底是做什么的? 如果你想要进入运维管理领域这一行,首先你应该了解linux运维工程师是干什么的.他主要是对Linux下各种网络服务.应用系统.监控系统等进行自动化脚本开发的工作, ...

  8. Linux运维工程师是做什么的?运维发展前景到底怎么样?

    Linux运维工程师到底是做什么的? 如果你想要进入运维管理领域这一行,首先你应该了解linux运维工程师是干什么的.他主要是对Linux下各种网络服务.应用系统.监控系统等进行自动化脚本开发的工作, ...

  9. 【zhailu】国外产品经理到底在做些什么?【转载内容】

    产品经理在国内可以算是比较新兴的行业.起步晚.环境不同,自然有所需.有所缺. 一开始接触,就感觉,这是要把product从无到有培育起来,--这个product的PM似乎与project的PM雷同只是 ...

  10. 软件在安装时,到底做了些什么?

    软件在安装时,到底做了些什么? 大家每天都在用电脑,可能也经常在自己的电脑上安装软件.就算自己没安装过,至少也看到人家安装过软件.在这里,我不是想教你怎么安装软件,而是想向你展示,软件在安装的过程中, ...

最新文章

  1. 电源完整性仿真让电路板更完美
  2. 密码学-hash加密
  3. .NET 云原生架构师训练营(模块二 基础巩固 引入)--学习笔记
  4. 软件测试技术——软件测试概述
  5. h5评论直接显示代码_全套H5教程免费学,让你0基础自学制作H5页面
  6. TransferQueue实现线程通信
  7. python有什么用-python有什么用
  8. ios 获取最后一个cell_ios – UICollectionView estimatedItemSize – 最后一个单元格未对齐...
  9. android简单小游戏开发工具,傻瓜化开发Android小游戏
  10. STM32通过BC28用mqtt协议连接onenet及simulate-device的使用
  11. 最好用电脑录音软件推荐
  12. 竞品分析:网易云音乐和QQ音乐,音乐类app的战场
  13. 什么是软件测试?简介,基础知识和重要性
  14. 理想,努力了才叫梦想,放弃了那只是妄想
  15. 从一循环到150,并在每行打印一个值,另外在每个3的倍数行上打印出“foo“,在5的倍数行打印biz,在7的倍数行打印baz
  16. 解决Anaconda安装包时报错CondaVerificationError: The package for pytorch located at...
  17. 【Windows 问题系列第 7 篇】电脑卡跟C盘容量有关系吗?
  18. linux oracle 查看版本
  19. php 公众号验证回调方法_微信公众号运营的技巧和方法?
  20. Y7000开机出现Checking media无法开机

热门文章

  1. 正态分布下贝叶斯决策的特例(三)
  2. 高德地图如何取消订单_一文教你如何爬取高德地图
  3. 智力问答选择题_智力问答题
  4. 2021-09-14Apriori 算法是基于关联规则的高效数 据挖掘算法
  5. JAVA----简单的自旋锁
  6. CNN反向传播公式推导
  7. Python模拟新浪微博登录转载,是我的那篇资料来源
  8. 类别不平衡学习的常用策略
  9. BurpSuite Pro 2021.2 最新版本
  10. python写的代码怎么发给别人_用python 代码 怎么给别人发邮件的两种写法