在2023年成为DevOps工程师和SRE(系统可靠性工程师)的图文并茂的指南,并链接到相关课程
DevOps和SRE目前非常热门,我认识的大多数朋友、同事和高级开发人员都在努力成为一名DevOps工程师,并在他们的组织中把自己塑造成DevOps冠军。
虽然我确实承认DevOps的好处,它与改进的软件开发和部署直接相关,但从我有限的经验来看,我可以说这不是一项容易的工作。在这么多的工具和实践中选择正确的道路是非常困难的。
如何成为一名DevOps工程师,我应该学习哪些工具?我应该遵循哪些做法?学习Maven和Jenkins一定是一个DevOps的人吗?Docker和Kubernetes怎么样?基础设施自动化是DevOps的一部分吗?今天为大家分享的SRE和DevOps 工程师RoadMap它将帮助你成为你一直想成为的DevOps工程师,2022年DevOps路线图。
昨天我在互联网上随便冲浪,突然看到了Kamranahmedse的一个优秀的GitHub页面,它展示了成为前端开发人员、后端开发人员、全栈web开发人员以及最后但并非最不重要的DevOps工程师的几个有用的路线图。
从任何意义上来说,这个路线图都是非常棒的,因为它不仅强调了DevOps工程师的角色,而且还告诉了您需要学习哪些工具和技术来覆盖该领域。
最重要的是,它的颜色很漂亮,在视觉上很有吸引力(你不喜欢黄色和奶油色搭配蓝色线条吗?),所以你可以拿一份打印出来的东西放在桌子上,方便参考。
尽管路线图在某种意义上是好的,它告诉你要学什么,但它没有告诉你如何学习以及在哪里学习。为了完成路线图,我分享了一些有用的在线DevOps课程,包括免费的和付费的,这样您就可以学习和改进您想要的工具或领域。
面向开发者的2022年DevOps路线图
无论如何,这是我所说的2022年DevOps路线图:
现在,让我们一步一步地浏览路线图,看看你如何才能学会在2022年成为DevOps大师所需的基本技能:
1.学习编程语言
显然,我想你们肯定知道三种主要编程语言之一,即Java, Python, or JavaScript.
如果你没有,不要担心,你可以看看下面的课程来学习你选择的语言,尽管我强烈建议你至少学习这三种主要通用编程语言中的一种。
1.1Java
如果您想学习Java,那么The Complete Java MasterClass 是一个很好的课程,它最近也为Java10进行了更新。
1.2 Python
如果您想学习Python,那么The Complete Python BootCamp 是我最喜欢的资源,它将教您Python 3,最流行的Python版本。
1.3 JavaScript
而且,如果您想学习JavaScript,那么您不应该超越Mosh Hamdani的关于Udemy的JavaScript Basics for Beginners
如果您需要更多的选择,并且不介意从免费资源中学习,那么您可以随时查看我列出的免费Java、Python和JavaScript课程。
2.理解不同的OS概念
这就是Ops部分出现的地方,早期它只由负责了解OS和硬件的家伙和系统管理员支持,但有了DevOps,现在开发人员也需要了解它们。
您至少需要了解路线图中建议的进程管理、线程和并发性、套接字、I/O管理、虚拟化、内存存储和文件系统。
由于我们大多数人都使用Linux,我建议您通过关于Udemy的Linux Administration BootCamp 课程来更好地学习和理解Linux OS。
如果您需要更多的选择,并且不介意从免费提供的资源中学习,那么您也可以查看以下free Linux courses课程列表。
3.学习在线终端
对于一个DevOps的人来说,在命令行中掌握良好的命令是很重要的,特别是如果他在Linux中工作的话。必须了解一些Linux shell(如Bash或Ksh)和工具(如find、grep、awk、sed、lsof)以及网络命令(如nslookup和netstat)。
如果您觉得需要刷新这些命令和工具,那么您应该参加关于PluralSight的Linux命令行接口(CLI)基础课程。
对于初学者和有经验的Linux用户来说,这是一个很好的复习。你需要一个Pluralsight会员才能进入这个课程,每个月29美元或每年299美元,但这是完全值得的。
Pluralsight就像开发商的Netflix,它有6000多门关于最新技术的高质量课程,这意味着你可以在任何地方学习任何东西。我主要是在旅行和通勤时学习。
顺便说一句,如果您需要更多的选择,并且想成为shell脚本的大师,您也可以看看我列出的学习shell脚本的最佳课程。
4.网络和安全
与世隔绝的日子一去不复返了,在当今世界,一切都与一切相连,这使得网络和安全变得非常重要。
为了成为一名优秀的DevOps工程师,您必须了解基本的网络和安全概念,如DNS、OSI模型、HTTP、HTTPS、FTP、SSL、TLS等。
为了更新这个概念,您可以看一下Ed Liberman关于PluralSight的TCP/IP和IT专业人员网络基础课程。
如果你需要更多的选择,你也可以查看这些Udemy课程,比如网络,完整的网络基础是一个很好的课程,对于安全,你也可以查看完整的网络安全课程:网络安全!。
5.什么是和如何设置
作为DevOps冠军,您应该知道在您的机器中设置了什么以及如何设置,只有您可以考虑将其自动化。
一般来说,DevOps工程师应该知道如何设置像IIS、Apache和Tomcat这样的Web服务器。
他还应该了解缓存服务器、负载均衡器、反向代理和防火墙等。如果您是新进入web开发领域的,我建议您也看看Colt Steele的web Developer Bootcamp
6.学习IaC
对于DevOps工程师来说,这可能是最重要的事情,这也是一个非常广阔的领域。作为一名DevOps工程师,您应该了解像Docker和Kubernetes这样的容器,像Ansible、Chef、Salt和Puppet这样的配置管理工具,像Terraform和Cloud Formation这样的基础设施配置。下面是我推荐的一些学习这些工具的课程。
如果你想学习Docker,那么Docker精通:Udemy上的Docker船长课程的完整工具集是最好的开始课程。它提供了DevOps工程师所需的所有工具的全面覆盖。
如果你想学习Kubernetes,那么我建议你加入学习DevOps:完整的Kubernetes课程。这将教您如何构建、部署和管理Kubernetes。
如果你在Docker上需要更多的选择,你可以探索这份DevOps工程师的10个基本课程列表。
7.学习一些持续集成和交付(CI/CD)工具
对于DevOps大师和冠军来说,这是另一件非常重要的事情,即建立持续集成和交付的管道。在CI/CD领域有很多工具,例如Jenkins、TeamCity、Drone等。
但是,我强烈建议至少学习Jenkins,因为它是市场上使用最广泛、可能也是最成熟的CI/CD工具。如果你不认识詹金斯,那么这门课最好开始。
如果您想学习Jenkins,那么没有比经典的学习DevOps:CI/CD与Jenkins使用管道和Udemy上的Docker更好的课程了。这简直是最好的课程,我也从这门课中学到了我的大部分詹金斯技能。
顺便说一句,如果您需要更多的选择,并且不介意从免费资源中学习,那么您也可以查看我为Java开发人员提供的6 free Jenkins and Maven courses 列表。
8.学习监视软件和基础结构
除了安装和部署之外,监视是DevOps的另一个重要方面,这就是为什么对于DevOps工程师来说,了解基础设施和应用程序监视非常重要。
这个领域有很多工具,例如Nagios,结冰,Datadog,Zabbix,Monit,AppDynanic,New Relic等。
您可以根据公司使用的是哪一个来选择其中的一些,比如AppDynamic和Nagios。
如果您想在2022年了解更多关于AppDynamics的信息,并获得一个参考资料,那么我强烈建议您去看看关于Udemy的思科AppDynamics应用程序性能管理(APM)课程。这是一个很好的课程来学习这个有用的工具来监视您的软件和基础设施。
9.学习cloud provider
云是下一个重要的事情,你迟早要把你的应用程序转移到云上,因此对于一个DevOps工程师来说,至少了解一些流行的云提供商及其基本知识是很重要的。
虽然AWS显然是云计算领域的领导者,但它并不孤单,谷歌云和Azure正在慢慢赶上,然后我们还有一些其他的玩家,如Heroku、cloud Foundry和Digital Ocean。
首先,我强烈建议加入经典的AWS无服务器APIs&APPs–一个完整的Udemy入门课程,这是最好的。
顺便说一句,如果你需要更多的选择,并且不介意从免费资源中学习,那么你也可以查看我为开发人员和DevOps人员提供的免费AWS课程列表。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/303172.html