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. Kafka创建Topic时如何将分区放置到不同的Broker中?

    副本因子不能大于 Broker 的个数: 第一个分区(编号为0)的第一个副本放置位置是随机从 brokerList 选择的: 其他分区的第一个副本放置位置相对于第0个分区依次往后移.也就是如果我们有5 ...

  2. springboot-数据访问之jdbc

    官网的starthttps://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-starter 111 ...

  3. String s = new String(“xyz”);创建了几个字符串对象?

    两个对象,一个是静态区的"xyz",一个是用 new 创建在堆上的对象.

  4. Oracle 数据库备份实战

    最近公司的客户希望使用oracle数据库,所以我们只好将数据从mysql数据库迁移到oracle数据库,并对oracle数据库制定了一个备份策略,之前虽然对oracle很熟悉,但做备份策略还是第一次, ...

  5. OpenCV+QT5在Window下的环境配置记录

    在安装OpenCV时最需要注意的是,OpenCV库,也就是我们需要的dll和动态库需要我们使用CMake来生成. 虽然在官网上下载得到的文件中已经包含了库文件和.h等头文件,但是在具体开发中编译器编译 ...

  6. 《深入理解ES6》笔记——扩展对象的功能性(4)

    变量功能被加强了.函数功能被加强了,那么作为JavaScript中最普遍的对象,不加强对得起观众吗? 对象类别 在ES6中,对象分为下面几种叫法.(不需要知道概念) 1.普通对象 2.特异对象 3.标 ...

  7. C#编写一个计算器

    编写一个计算器,练习在窗体上添加控件.调整控件的布局,设置或修改控件属性,编写事件处理程序的方法. 代码: using System; using System.Collections.Generic ...

  8. struts token令牌机制

    利用Struts同步令牌(Token)机制来解决Web应用中的重复提交问题.该方法的基本原理是:服务器端在处理到达的request之前,会将request中的Token值与保存在当前用户session ...

  9. vue报错解决方案

    Vue build faild 解决办法: https://blog.csdn.net/u011169370/article/details/83346176 ? jbcmVideo git:(oah ...

  10. 关于data自定义属性

    新的HTML5标准允许你在普通的元素标签里,嵌入类似data-*的属性,来实现一些简单数据的存取.它的数量不受限制,并且也能由JavaScript动态修改,也支持CSS选择器进行样式设置.这使得dat ...