2020年DevOps工程师入门指南
阅读原文时间:2023年07月09日阅读:1

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

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