2020年DevOps工程师入门指南
DevOps兴起于2010年代,到现在DevOps已经在行业中拥有了一席之地,并在继续发展壮大。
有兴趣成为一名DevOps工程师吗?如果想要成为一名DevOps工程师,需要做到以下五点:
要有开发者的心态。你要管理的东西是代码,所以需要从开发人员的角度来看待问题和挑战。学会使用Git,写出可以长期维护的代码。
了解系统工程。理解三层应用架构。能够解释基本的系统管理任务(以及如何实现自动化),学习Linux基础知识。
具有上云经验。现在,几乎每一家公司都以某种形式或者方式采用云。因此,需要具有企业上云的代码配置经验。
了解容器。虽然不需要有全面的Kubernetes经验,但确实需要知道什么是容器。关注CI构建过程中容器的使用。
软技能很重要。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工程师入门指南的更多相关文章
- Java工程师学习指南 入门篇
Java工程师学习指南 入门篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...
- Java工程师学习指南(入门篇)
Java工程师学习指南 入门篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...
- CI Weekly #21 | iOS 持续集成快速入门指南
搭建 iOS 持续集成环境要多久?每个 iOSer 都有不同的答案.这次我们整理了 flow.ci 的 iOS 持续集成的相关文档和最佳实践,希望帮你更快地完成构建.更新文档见: flow.ci iO ...
- 5+ App开发入门指南
HTML5 Plus应用概述 HTML5 Plus移动App,简称5+App,是一种基于HTML.JS.CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任意调用手机的原生能力,实 ...
- web前端基础知识及快速入门指南
web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...
- Java工程师学习指南 完结篇
Java工程师学习指南 完结篇 先声明一点,文章里面不会详细到每一步怎么操作,只会提供大致的思路和方向,给大家以启发,如果真的要一步一步指导操作的话,那至少需要一本书的厚度啦. 因为笔者还只是一名在校 ...
- Java工程师学习指南 中级篇
Java工程师学习指南 中级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我写的文章都是站 ...
- Java工程师学习指南 初级篇
Java工程师学习指南 初级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...
- HTML5 Plus移动App(5+App)开发入门指南
HTML5 Plus移动App,简称5+App,是一种基于HTML.JS.CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任意调用手机的原生能力,实现与原生App同样强大的功能和 ...
随机推荐
- 哪些是重要的 bean 生命周期方法?你能重载它们吗?
有两个重要的 bean 生命周期方法,第一个是 setup , 它是在容器加载 bean 的时候被调用.第二个方法是 teardown 它是在容器卸载类的时候被调用. The bean 标签有两个重要 ...
- scrapy--使用案例
1.scrapy框架 1.1 安装scrapy pip3 install wheel 下载twisted http://www.lfd.uci.edu/~gohlke/pythonlibs/#twis ...
- 调用高德地图web api 规划路线
实现地图输出,出发地与目的地路线,效果如下 具体代码如下 <!doctype html> <html> <head> <meta charset=" ...
- 面试题:给你个id,去拿到name,多叉树遍历
前天面试遇到一个多叉树面试的题目,在这里分享记录一下. 题目:一个树形的数据(如下数据),面试官给你一个id,然后拿到对应的name? 数据结构大概是这个样子 var cityData = [ { i ...
- java中StringBuffer的用法
2.StringBuffer StringBuffer:String类同等的类,它允许字符串改变(原因见上一段所说).Overall, this avoids creating many tempor ...
- linux安装sbt
1.官网下载tgz sbt - Download (scala-sbt.org) 2.解压 tar zxvf sbt-0.13.5.tgz -C /opt/scala/ 3.建立启动sbt脚本 /*选 ...
- 体验了一把最近很火的开源项目-MASA Blazor
前言 很惭愧直到去年底才接触到Blazor.那什么是Blazor呢?相信大家都看过官方文档的详细说明,另外MASA团队也有不错的说明介绍 .用官方的话说Blazor是一个交互式客户端Web UI的框架 ...
- Mybatis插入数据
对上文->Mybatis快速入门-<进行代码修改 1.在UserMapper.xml中添加插入操作 <!-- 插入操作--> <insert id="save& ...
- LC-206
206. 反转链表 迭代法 class Solution { public ListNode reverseList(ListNode head) { //申请节点,pre和 cur,pre指向nul ...
- 《码处高效:Java开发手册》之代码风格
流水淡,碧天长,鸿雁成行.编码风格,简捷清爽,反引无限风光. 在美剧<硅谷>中有这样一个经典镜头,主人公 Richard 与同为开发工程师的女友闹分手,理由是两人对缩进方式有着截然不同的编 ...