DevOps兴起于2010年代,到现在DevOps已经在行业中拥有了一席之地,并在继续发展壮大。

有兴趣成为一名DevOps工程师吗?如果想要成为一名DevOps工程师,需要做到以下五点:

  1. 要有开发者的心态。你要管理的东西是代码,所以需要从开发人员的角度来看待问题和挑战。学会使用Git,写出可以长期维护的代码。

  2. 了解系统工程。理解三层应用架构。能够解释基本的系统管理任务(以及如何实现自动化),学习Linux基础知识。

  3. 具有上云经验。现在,几乎每一家公司都以某种形式或者方式采用云。因此,需要具有企业上云的代码配置经验。

  4. 了解容器。虽然不需要有全面的Kubernetes经验,但确实需要知道什么是容器。关注CI构建过程中容器的使用。

  5. 软技能很重要。DevOps不仅仅是工具和技术,更是一种文化。要成为一名优秀的DevOps工程师,还需要能够交到朋友,互相交流,学习他人长处。

开发者心态

成为一名DevOps工程师需要会Java或者.NET开发吗?答案是:不需要!在采访一些具有潜在的DevOps工程师的时候,我发现大多数人在解释一些,比如Git、pull请求和SDLC之类的开发概念时缺乏信心。但是要能够回答关于这些话题的基本问题。

另外,当你在写脚本或者使用Ansible、Chref或Terraform时,其实就是已经在写代码了。你得为你写的代码做测试,否则你怎么确定自己写的代码是否有用呢?

关于代码维护

正在学习DevOps的人和正在实践DevOps的人之间的区别在于,一个人可以使用任何工具来编写可维护的代码。这不仅仅是编写一次性任务,你还要为之编写脚本。知道你如何编写代码(使用变量)提高代码的可维护性,这样就可以重复使用或者是重构,而不需要完全重做。

系统工程

这主要为有兴趣学习更多关于系统操作方面的开发人员准备的。你应该积累经验,了解操作系统是如何与中间件一起工作的,它们之间都需要配置哪些关键的参数?网络流量是如何从浏览器流向应用服务器的?什么是三层应用架构?

当你了解了关于系统中需要配置的内容之后,你才能将它们作为代码进行配置。因为经过了解之后才会知道哪些配置可能经常更改或者不同的应用程序之间配置可能有所不同,这样你就知道在你的代码中哪些东西可以作为变量暴露出来,而哪些东西可以硬编码。

云计算

当我提到云计算时,估计所有读过这篇文章的人都知道我说的是什么。目前大多数企业都采用了Azure或者AWS,甚至两者都是他们的云计算供应商。作为一名DevOps工程师如果没有云计算方面的项目经验,是很难被企业聘用的。如果你现在的公司没有使用这两个,那就创建自己的账户并开始使用你不需要了解所有可用的AWS服务,但是你确实需要了解足够多的基础知识来讲述它们。它们是做什么的,以及它们为什么如此重要。

另外,请谈谈你使用的基础架构代码工具的经验,比如Terraform、Cloudformation等。如果不把你的云环境配置成代码,将变会难以使用。

容器

随着无服务器应用程序(serverless applications)的兴起,容器的使用引起了争议。对于大多数企业来说,并不是所有应用程序都可以变成Serverless,因为会有中间件或者有状态的服务需要在容器中运行。你不需要通过任何方式成为Kubernetes专家,就能成为DevOps工程师。还是那句话,对于大多数企业来说,全面使用Kubernetes在未来几年都是个挑战。仅仅是在企业环境中安装Docker和运行容器的能力,是现在很多人都在纠结的事情。

因为容器使得开发人员能够在本地运行完整的应用栈,所以能够为你的应用构建容器并使用容器对于真正成为DevOps商店至关重要。此外,通过使用容器来加快CI构建工作的速度也是至关重要。当你只需要使用容器就可以了,为什么要在VM上管理和修补Java版本来构建.jar文件?了解如何在你所选的CI工具(Jenkins,Gitlab等)中使用容器。

软技能

这可能是最难掌握的技能,也是最常被忽视的技能。DevOps对于很多人来说是非常新奇的,这需要大量的培训和"上岗培训"。能够有效沟通、跨业务部门工作、与组织内不同的人合作是成功的唯一途径。

我从中学到一个重要的道理,就是固执地决定你知道做某事的最佳方法,对大多数人来说,不会影响到改变。事实上,你会给你想做的事情制造更多的障碍。

倾听并能够理解别人的想法。另外,不要觉得有必要解决每个问题。最有效的DevOps工程师能够影响和授权别人自动解决自己的问题。

原文链接:https://medium.com/better-programming/how-to-become-a-devops-engineer-in-2020-7618492a09d8

END

好文章,分享点赞在看三连哦↓↓↓

2020年DevOps工程师入门指南的更多相关文章

  1. Java工程师学习指南 入门篇

    Java工程师学习指南 入门篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...

  2. Java工程师学习指南(入门篇)

    Java工程师学习指南 入门篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...

  3. CI Weekly #21 | iOS 持续集成快速入门指南

    搭建 iOS 持续集成环境要多久?每个 iOSer 都有不同的答案.这次我们整理了 flow.ci 的 iOS 持续集成的相关文档和最佳实践,希望帮你更快地完成构建.更新文档见: flow.ci iO ...

  4. 5+ App开发入门指南

    HTML5 Plus应用概述 HTML5 Plus移动App,简称5+App,是一种基于HTML.JS.CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任意调用手机的原生能力,实 ...

  5. web前端基础知识及快速入门指南

    web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...

  6. Java工程师学习指南 完结篇

    Java工程师学习指南 完结篇 先声明一点,文章里面不会详细到每一步怎么操作,只会提供大致的思路和方向,给大家以启发,如果真的要一步一步指导操作的话,那至少需要一本书的厚度啦. 因为笔者还只是一名在校 ...

  7. Java工程师学习指南 中级篇

    Java工程师学习指南 中级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我写的文章都是站 ...

  8. Java工程师学习指南 初级篇

    Java工程师学习指南 初级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...

  9. HTML5 Plus移动App(5+App)开发入门指南

    HTML5 Plus移动App,简称5+App,是一种基于HTML.JS.CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任意调用手机的原生能力,实现与原生App同样强大的功能和 ...

随机推荐

  1. Xml 映射文件中,除了常见的 select|insert|updae|delete 标签之外,还有哪些标签?

    <resultMap>.<parameterMap>.<sql>.<include>. <selectKey>,加上动态 sql 的 9 个 ...

  2. Java 有没有 goto?

    goto 是 Java 中的保留字,在目前版本的 Java 中没有使用.(根据 James Gosling (Java 之父)编写的<The Java Programming Language& ...

  3. 1.时任务XXL_Job框架踩过的坑

    遇到的问题 问题1:执行器地址为空 原因-->执行器中 没有地址 解决方案-->输入地址:http://IP地址:端口 IP地址 端口 问题2:异常信息unknown code for r ...

  4. Episode 1:正视微信(试播)

    本期是 WEB VIEW 的第一期播客节目. 「不囿于 WEB,不止于 VIEW」,WEB VIEW 是由 yin 和敬礼主持的一档泛科技播客.节目中我们谨慎考量技术进步所带来的优缺点,提倡用「人治」 ...

  5. Codepen 每日精选(2018-3-31)

    按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以打开原始页面. 制作像素画的画板https://codepen.io/abeatrize/... 纯 css 画的晚上的风 ...

  6. 项目需求与分析--NABCD模型

    合作项目特点NABCD分析结果: 特点:便捷 N(Need 需求):在大学期间内,我们通常会有许多不用的课本或书籍或者其他东西,堆积起来又没有地方放,想卖出去就要建一个群,十分麻烦,开发该软件用户可直 ...

  7. Java中的反射以及简单运用(原理+例子)

    Java反射 学习内容 1. 为什么要使用反射 2. 反射的概念 3. Java反射加载过程 4. 字节码对象理解 5. 获取字节码对象(.class)的三种方式 6. 反射常用API 8. 反射综合 ...

  8. IO流入门

    @ 目录 总结内容 1. IO流是什么 2. 字符流和字节流 3. File常用API(前面类型为返回类型) 4. 编码转换 5. IO流实现流程 6. 输入输出流简单实现 7. 输入输出流简单实现 ...

  9. Vue入坑日记: day - 01

    前言 最近做了一些小项目,小组里写前端的确实有点拉胯,于是自己动手写前端,因为大一学过web前端基础,所以对HTML,CSS还有印象,就直接对JS下手了,学了两天把JS大致搞明白了,顺便对JQuery ...

  10. Ubuntu16.04 安装和卸载MySQL数据库

    Ubuntu16.04 安装和卸载MySQL数据库 1 安装 安装非常简单,只需要三个命令 1.1 安装服务端 sudo apt-get install mysql-server 在这一步过程中会有提 ...