GMTC北京站本周日开幕,58个议题全部上线,点击查看 了解详情
写点什么

DevOps 工程师需要必备哪些技能?

2021 年 7 月 01 日

DevOps工程师需要必备哪些技能?

随着企业对软件快速高效交付的需求不断增加,DevOps 工程师的招聘需求也在持续增长,这也使得 DevOps 工程师成为当今市场上最抢手的技术职位。


要想成为一位成功的 DevOps 工程师,并在这个竞争异常激烈的世界中站稳脚步,你必须具备以下五个专业技能。


1.自动化


自动化是 DevOps 的核心。


作为一位 DevOps 工程师,你可能经常会问其他人这样的问题:“你每天都手动做这项任务,每次都要花一个小时,是吗?”


几乎所有手动执行的开发和发布任务都应该由 DevOps 工程师实现自动化。因为在软件开发生命周期中,开发人员应当尽可能的减少手动步骤。如果你想让软件发布变得更有效、更一致(谁不想呢),那么自动化就是最佳方案。


那么,一个 DevOps 工程师需要自动化什么呢?


首先,DevOps 工程师需要将开发和发布过程中的所有方面自动化。作为 DevOps 工程师,你需要创建一个完全自动化的端到端管道,从存储库中构建代码开始,到将软件发布到生产中结束。这个管道通常还包括基础设施的创建、配置管理和安全自动化。


此外,你还要充分利用各种可用的 DevOps 工具,并且能够编写一两个脚本。虽然你不需要掌握每一种 DevOps 技术,也不需要成为一个编码大师,但你需要掌握以下各组工具中至少一个工具:



对于脚本而言,你还需要熟练掌握 Ruby、Python 和 Shell 等语言。

2.沟通与协作


对 DevOps 工程师来说,沟通和协作的重要性不言而喻,要想理解这一点,你需要先了解 DevOps 实践形成的原因。


DevOps 背后的一个主要驱动力,是开发和运营团队在发布方面的意见分歧。


一方面,开发人员希望尽可能多地发布特性。“客户需要这种特性。我们需要发布”,这是他们的观点。另一方面,运营部门希望较少发布软件。他们的观点是:“每次发布都是一种变化,而变化就是一种风险”。


DevOps 对这个问题的解决方案是,让一群人负责确保以安全、可靠和高效的方式创建、测试和部署软件,这个群体就是 DevOps 工程师。


那么,这与沟通或协作有什么关系呢?


DevOps 就是要打破上述团队之间的“孤岛”,也就是说,DevOps 工程师需要能够与人们建立联系,并将他们从整个组织的团队中召集起来。通过这样的团结,所有的团队都将致力于将高质量的软件交付给客户。

3.云计算


当涉及到基础设施时,许多公司选择云计算来支持他们的 IT 服务和应用程序,而不再使用传统的现场选择。有数据显示,90% 的公司都使用某种类型的云服务。


云允许企业创建可扩展、灵活和安全的应用。DevOps 工程师可以通过云供应商提供的服务,无缝地管理基础设施。


对 DevOps 工程师而言,需要了解的云服务的基本类型包括:


  • 网络

  • 虚拟化(虚拟机 / 容器 / 无服务器)

  • 安全

  • 存储

  • 监控


假如你在一家将基础设施应用托管到云端的公司工作,那么你就可以很容易地设计和开发云架构。比如,知道什么时候用 IaaS 产品或者什么 PaaS 产品更好。

4.安全


对 DevOps 工程师而言,如果在软件发布后才考虑安全性问题,那么 DevOps 提供的高速软件发布可能会有危险。作为 DevOps 工程师,必须确保在软件开发生命周期的各个阶段都考虑到安全性。


新增一项应用功能?在进入生产环境之前,让我们先检查一下漏洞。增加了一项云服务?请确保仅允许我们希望访问的资源访问此服务。


要想尽可能地减少漏洞,DevOps 工程师需要在应用程序开发的生命周期中引入安全性,而这也通常被称为 DevSecOps。

5.运营支持


优秀的 DevOps 工程师不只从事开发方面的工作。DevOps 是全方位的,所以你也应该对 IT 运营有所了解。


DevOps 工程师应该确保所有系统都有监控和警报,以帮助提高生产服务的可用性和正常运行时间。对于这一点,有许多工具可以采用,比如 Prometheus 、Grafana 等。有了这些技能,在出现问题时就能快速解决各自操作系统上的技术故障。


当然,在此之外,你还需要了解 Linux 和 Windows 服务器。DevOps 工程师通常会在服务完全停止的情况下启动灾难恢复流程,以恢复服务。从理论上来说,灾难恢复流程也应该是自动化的。

结语


要想成为 DevOps 工程师,就必须要掌握这些技能。总的来说,DevOps 工程师是一名具备一定技术实力的团队成员,能够优先考虑客户满意度,并能够对更改作出响应,同时对 DevOps 工具也有良好的理解。


作者介绍:


Liam Witterick,DevOps 工程师,专注于自动化、创新与协作。


原文链接:


https://betterprogramming.pub/5-skills-you-need-to-be-a-devops-engineer-c8f53370f92b

2021 年 7 月 01 日 10:2720

评论

发布
暂无评论
发现更多内容

大作业二

golangboy

架构师训练营第 1 期

赫拉利其人其书之我见(1)

石君

科技 28天写作 简史 社科

第十二章作业

孤星

Week12作业

lggl

案例研究之聊聊 QLExpress 源码 (二)

小诚信驿站

源码分析 小诚信驿站 28天写作 QLExpress源码 聊聊源码

架构师训练营第 1 期 大作业一

李循律

一款基本靠谱,略微出圈的2021十大科技预测

脑极体

软件架构知识树

andy

架构入门感悟之十二

莫问

OpenLookeng连接器-Clickhouse connector性能测试报告

Galaxy数据平台

数据库 数据分析 Clickhouse

第十二周课后练习

晴空万里

架构师训练营第2期

上链智能合约系统开发|上链智能合约APP软件开发

开發I852946OIIO

系统开发

Week12总结

lggl

联想小新潮7000安装CentOS8.8步骤

莫问

架构师设计大作业二

小诗

「架构师训练营第 1 期」

性能优化 - 2

raox

架构师训练营第二周作业

架构师训练营 4 期

软件设计原则

架构师训练营 4 期

学非探其花 要自拔其根

看山

闲聊

第十二周课后练习

落朽

架构师训练营第 1 期 大作业二

李循律

关于坚持的思考

.

28天写作

十二周作业

水浴清风

十二周总结

水浴清风

解析底层原理!2021年移动开发者未来的出路在哪里,论程序员成长的正确姿势

欢喜学安卓

android 程序员 面试 移动开发

解密Android开发常见误区!耗时两个礼拜,8000字安卓面试长文,详细的Android学习指南

欢喜学安卓

android 程序员 面试 移动开发

第十二周学习总结

晴空万里

架构师训练营第2期

极客时间 架构大作业,快递平台架构搭建

博古通今小虾米

极客时间 架构

供应链产品溯源介绍

无誉

区块链 产品 电商 供应链 盘点2020

他们说飞机很安全,你信吗?

Justin

心理学 概率 28天写作

从代码到部署微服务实战(一)

万俊峰Kevin

go 微服务 microservice go-zero

DevOps工程师需要必备哪些技能?-InfoQ