DevOps已经占据了软件行业舞台的中心,DevOps工程师在工作中扮演的角色也越来越重要。今天,笔者要跟大家分享自己的一些想法,关于如何成为一名优秀的DevOps工程师。
什么是DevOps?
DevOps这个名词来源于developers和operations的组合。维基百科中对它的解释是:
DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
如今,数字化转型正发生在每一个部门中——而如果你无法跟上技术发展的步伐,你的业务很可能会在未来几年内走向死亡。自动化会是其中的关键部分,每一个公司都想要摆脱重复的任务,然后让其自动运转,以尽可能提高工作效率。这就是DevOps出现的原因。它衍生于Agile和Lean技术,不过它目前在软件行业中仍然是一项新兴技术。
随着像Docker、AWS、Puppet、GitHub等工具和平台使用率的增加,公司可以更简单地利用自动化,完成他们的目标。
什么是DevOps工程师?
采用DevOps有一个重要的部分就是在开发与运营团队之间建立更好的合作关系。关于这个部分,建议将这些团队聚集在一起,解决每个人在进程与工作流程中所遇到的问题,甚至可以设立一个能做任何事的跨职能团队。当然,在这个办法里,Dev仍然是Dev,Ops仍然是Ops。
DevOps工程师存在的意义就在于填补Dev和Ops之间的鸿沟,公司在雇佣这类工程师时,一般会寻找那些拥有极佳的编码能力和能够掌控所有运营功能的人。简单来说,一名DevOps工程就是具备运营思维的开发者。同时,应掌握以下几种技能:
·能够熟练掌握各种Ops和自动化工具
·善于编写脚本
·熟悉处理频繁测试和增量发布
·了解Ops所存在的挑战以及它们是如何在设计与开发过程中被解决的
·具备能够更好地与团队合作的软技能
如何成为一名优秀的DevOps工程师?
要成为一名优秀的DevOps工程师,应该关注以下几点:
·了解DveOps的基本概念,并将自动化的思想深植于脑海
·了解各种不同的DevOps工具,如AWS、GitHub、Puppet、Docker、Chef、New Relic、Ansible、Shippable、JIRA、Slack等
·拥有长远的Ops思维模式。当开发者们设计软件时,会遇到很多常见的Ops陷阱。在设计开发软件时,及时提醒开发者会对避免这些问题大有帮助,这样比带着问题运营然后再修复它们要强得多。试着建立一个设计综述模板来让这个过程标准化。
·端对端合作以及帮助他人解决问题时非常重要的
·你应该成为一个脚本专家——Bash、Powershell、Perl、Ruby、JavaScript、Python,你必须能够编写代码自动完成重复的任务。
衡量DevOps是否成功的因素
·部署频率
·代码更改的交付周期
·回退率
·CI/CD的自动化工具的使用
·测试自动化
·满足业务目标
·更快的上市时间
·顾客满意率
本文转自d1net(转载)