2019 DevOps 技术指南

原文链接:https://hackernoon.com/the-2018-devops-roadmap-31588d8670cb
原文作者:javinpaul
翻译君:CODING?戴维奥普斯

写在前面

我们在推进国内研发团队 DevOps 落地的过程中,发现不少研发组织在积极寻求 DevOps 技能方面的提升。今天翻译的这篇深受欢迎的 DevOps 技术雷达来自一位国外的 Java 博主,他也是一位非常热爱学习的开发者,接下来让我们马上进入到正文。

DevOps 技术指南

DevOps 目前非常火热,我认识的大多数朋友、同事和高级开发人员都在努力成为 DevOps 工程师,以及研发组织中的 DevOps 佼佼者。虽然我承认 DevOps 的好处,它与改进软件开发和部署过程直接相关,但从我有限的经验来看,这不是一件容易的事。在如此多的工具和实践中选择正确的学习路径是非常困难的。作为一名 Java 博主,许多读者经常问我:

  • 如何成为一名 DevOps 工程师?
  • 应该学习哪些工具?
  • 应该遵循哪些实践?
  • Maven 和 Jenkins 是不是 DevOps 工程师的必备技能?
  • Docker 和 Kubernetes 呢?
  • 基础设施自动化是不是 DevOps 的组成部分?
  • 是否应该学习 Chef、Puppet 或 Ansible?

以上只是读者经常会提到的一部分问题,我努力用我浅薄的经验来回答那些问题,但我不会只是用简单粗暴和重复使用的方式把那些答案整合后丢给大家。今天我将分享一个很不错的资源 —— 2019 DevOps RoadMap,它将帮助你成为梦寐以求的 DevOps 工程师。

昨天我在网上冲浪,偶遇了 Kamranahmedse?这个优秀的 GitHub 页面,上面有不少对立志成为前端开发人员、后端开发人员、全栈 Web 开发人员、DevOps 工程师的读者都很有用的路线图。这个 RoadMap 在任何意义上都很有价值,因为它不仅突出了 DevOps 工程师的角色,还讲述了覆盖该领域需要学习的工具和技术。最重要的是,它在视觉上令人赏心悦目(难道你不喜欢黄色和奶油色的蓝线吗?),所以你可以打印出来并粘在桌子上以便参考。

虽然路线图很好,它告诉了你要学什么,但它没有告诉你如何学习和在哪里学习。为了补充路线图,我分享了一些有用的免费和付费在线课程,以便你可以学习和改进你想要掌握的工具或领域。

话不多说,以下就是我所说的 DevOps RoadMap:


图片来自 kamranahmedse

现在让我们一步一步浏览 RoadMap,了解在 2019 年成为 DevOps 大师所需的基本技能:

1、编程语言

你们肯定知道以下三种主流编程语言之一,即 Java、Python 或 JavaScript。如果没有,你可以看看下面的课程来学习你选择的语言。我强烈建议你至少学习其中一种。

  • Java

如果你想学习 Java,The Complete Java MasterClass 是一个很棒的课程,最近也针对 Java 10 进行了更新。

  • Python

如果你想学习 Python,那么 The Complete Python BootCamp 是我最喜欢的资源,它将教你 Python 3,这是 Python 最受欢迎的版本。

  • JavaScript

如果你想学习 JavaScript,那么你不应该错过 Mosh Hamdani 在 Udemy 上的?JavaScript Basics for Beginners

如果你需要更多的选择并且不介意学习免费资源,你可以随时查看我的免费 JavaPythonJavaScript 课程列表。

2、操作系统

这是 Ops 部分的内容,在更早之前负责了解操作系统和硬件的人员以及系统管理员掌握操作系统即可。但对于 DevOps,现在开发人员也需要了解它们。你至少需要了解路线图中建议的:流程管理、多线程和高并发、Sockets、I/O 管理、虚拟化、内存存储和文件系统。

由于我们大多数人都在 Linux 操作系统上工作,我建议你通过 Udemy 上的 Linux Administration BootCamp 课程来更好地学习和理解 Linux 操作系统。

更多免费资源可查看 free Linux courses 列表。

3、终端命令

对于 DevOps 人员来说,熟练地掌握常用的、好用的操作系统命令是很重要的,特别是在 Linux 操作系统上工作的研发人员,至少需要知道一些必需的 Linux shell 命令,如 Bash、Ksh、findgrep、awk、sedlsof 以及 nslookup、netstat?等网络命令。如果你认为需要刷新下这些命令和工具,你可以考虑学习 Pluralsight 上的 Linux Command Line Interface (CLI) Fundamentals?课程。

对初学者和有经验的 Linux 用户来说,这是一个很好的复习。你需要一个 Pluralsight 会员才能访问该课程,每月花费约 29 美元或每年 299 美元,但我觉得物有所值。Pluralsight 就像开发者的 Netflix,它拥有超过 6000 个最新技术的高质量课程,可以随时随地学习,我主要是在旅行和上下班途中学习。如果你需要更多的选择并希望成为 shell 脚本大师,可以查看我的 best courses to learn shell scripting

4、网络和安全

信息孤岛的日子已经一去不复返了。当今世界,万物都连接在了一起,这也使得网络和安全变得非常重要。为了成为优秀的 DevOps 工程师,你必须了解基本的网络和安全概念,如 DNS、OSI 模型、HTTP、HTTPS、FTP、SSL、TLS 等。为了刷新概念认知,你可以查看在 Ed Liberman 在 Pluralsight 上的 TCP/IP and Networking Fundamentals for IT Pros?课程。

如果你需要更多选择,还可以查看这些 Udemy 课程,网络方面例如 The Complete Networking Fundamentals 是一个很好的课程,安全方面你还可以学习?The Complete Cyber Security Course: Network Security

5、服务器配置

作为 DevOps 大师,你应该知道你的机器中设置了什么以及如何设置它,只有这样你才可以思考如何去自动化操控它。通常 DevOps 工程师应该知道如何设置 IIS,Apache Tomcat 等 Web 服务器;还应该了解缓存服务器,负载均衡器,反向代理和防火墙等。如果你是 Web 开发领域的新手,我建议你查看 Colt Steele 的 Web Developer Bootcamp 课程。

6、基础设施即为代码

对于 DevOps 工程师来说,这可能是最重要的事情,这也是一个非常广阔的领域。作为DevOps 工程师,你应该了解 DockerKubernetes容器技术;AnsibleChefSaltPuppet 等配置管理工具;Terraform 和 Cloud?Formation 等基础设施配置。以下是我推荐的一些相关工具的学习课程。

7、持续集成/交付

对于 DevOps 大师来说,这是另一个非常重要的事情:建立一个持续集成和交付的流水线。CI / CD 领域有很多工具,例如 Jenkins、TeamCity、Drone 等。

但是我强烈建议至少学习 Jenkins,因为它是最广泛使用的,可能是市场上最成熟的 CI / CD 工具。如果你不认识 Jenkins,那么这门课程最好先开始。没有比 Udemy 上经典的 Learn DevOps: CI/CD with Jenkins using Pipelines and Docker?更好的课程。我也从这个课程中学到了大部分的 Jenkins 技能。

课程链接:https://click.linksynergy.com/fs-bin/click?id=JVFxdTr9V80&subid=0&offerid=634352.1&type=10&tmpid=14538&RD_PARM1=https%3A%2F%2Fwww.udemy.com%2Flearn-devops-ci-cd-with-jenkins-using-pipelines-and-docker%2F

更多 Java 开发人员免费资源可查看 6 free Jenkins and Maven courses 列表。
资源链接:http://www.java67.com/2018/02/6-free-maven-and-jenkins-online-courses-for-java-developers.html

8、监控软件和基础设施

除了配置和部署之外,监控是 DevOps 的另一个重要方面,这就是 DevOps 工程师了解基础设施和应用程序监控的重要原因。

这个领域有很多工具,如 Nagios、Icing、Datadog,Zabbix、Monit、AppDynanic、New Relic 等。你可以根据需要选择其中一些来学习。

9、云提供商

云是下一个重要的事情,迟早你得将应用程序迁移到云,因此对于 DevOps 工程师来说了解一些流行的云提供商及其基础知识是很重要的。

?虽然 AWS 显然是云计算领域的领导者,但 Google Cloud 和 Azure 正在慢慢赶上,还有一些其它参与者,如 Heroku、Cloud Foundry 和 Digital Ocean。

我强烈建议学习 Udemy 上经典的完整入门课程:AWS Serverless APIs & Apps?—?A Complete Introduction?。

更多 AWS 免费学习资源可查看列表 free AWS courses?。

如果你只想从一门课程开始学习 DevOps,我认为 Learn DevOps: CI/CD with Jenkins using Pipelines and Docker?会是最好的开始。

写在最后

原文作者非常详尽地给我们解读了 DevOps 技术的学习路线图,除了作者分享的国外课程、工具,国内也有非常多的学习资源。对英文课程没有太大兴趣的同学,只要了解这个学习思路即可。CODING 也会持续关注并分享 DevOps 领域最新理念与技术,与 DevOps 工程师一起成长。

原文地址:https://www.cnblogs.com/codingdevops/p/11212410.html

时间: 2024-11-05 17:18:38

2019 DevOps 技术指南的相关文章

Go 开发关键技术指南 | Go 面向失败编程 (内含超全知识大图)

作者 |?杨成立(忘篱) 阿里巴巴高级技术专家 关注"阿里巴巴云原生"公众号,回复 Go 即可查看清晰知识大图! 导读:从问题本身出发,不局限于 Go 语言,探讨服务器中常常遇到的问题,最后回到 Go 如何解决这些问题,为大家提供 Go 开发的关键技术指南.我们将以系列文章的形式推出<Go 开发的关键技术指南>,共有 4 篇文章,本文为第 2 篇. Could Not Recover 在 C/C++ 中, 最苦恼的莫过于上线后发现有野指针或内存越界,导致不可能崩溃的地方崩溃

(转)虚幻引擎3--Unreal角色技术指南

注: 转自UN官方网站,买书.下视频,到头来发现还是官方的免费Tutorial写得最好, 本文适用于熟悉UDK操作,想继续深入本质原理的读者~ 很好的说明了Pawn,Controller的关系,许多问题感觉茅塞顿开,故转之~~ 角色技术指南 使用2011 年 6 月的UDK版本进行了最后测试 角色技术指南 概述 Controllers(控制器) Controllers(控制器) Pawns和Possession(占有) Inventory(武器库) 运动和导航 相机/ 瞄准 Player Con

(官网)虚幻3--画布技术指南

画布技术指南 画布技术指南 概述 Canvas类 Canvas(画布)属性 画布函数 画布描画 映射和反映射 映射 反映射 混合模式 画布图标 画布HUD示例 概述 使用Canvas类进行描画和绘制一幅图片类似,但您的媒介是由图像和文本组成,而不是涂料. 有一些特殊的函数用于把类似于图像.材质.形状和文本的元素描画到屏幕上.通过把这些元素组合到一起,就能创建出一个连贯的.吸引人的并且提供很多信息的界面.当然,Canvas类的用途不仅是描画界面和HUD.它也用于其它需要进行描画的地方,比如Scri

(官网)虚幻3--相机技术指南

相机技术指南 相机技术指南 概述 相机 后期特效 镜头特效 相机动画 相机修改器 Player Controller(玩家控制器) Pawn 定制相机行为 示例 - CalcCamera 第一人称相机示例 第三人称相机示例 自上而下相机示例 等角相机示例 横向卷轴相机示例 一体化相机示例 示例 - 自定义相机 基础相机模块 自定义相机 基础控制模块 Engine 类重载 PlayerController Pawn 类 GameInfo 类 示例相机模块 示例控制模块 配置文件 概述 虚幻引擎 3

(官网)虚幻3--HUD技术指南

HUD技术指南 HUD技术指南 概述 HUD类型 画布HUD Scaleform GFx HUD HUD类 HUD属性 HUD函数 MobileHUD MobileHUD属性 MobileHUD函数 UDKHUD UDKHUD属性 UDKHUD 函数 Texture Atlas(贴图组合)图标坐标 概述 平视显示仪(HUD)用于玩家玩游戏的过程中向玩家快速并方便地传递游戏状态信息.HUD可以包括很多信息片段,比如玩家的当前生命值.他们所持或拥有的武器或物品.显示其他玩家或物品位置的世界地图.玩家

(官网)虚幻3--角色技术指南

角色技术指南 使用2011 年 6 月的UDK版本进行了最后测试 角色技术指南 概述 Controllers(控制器) Controllers(控制器) Pawns和Possession(占有) Inventory(武器库) 运动和导航 相机/ 瞄准 Player Controllers(玩家控制器) 综述 玩家 输入/运动 AI Controller(控制器) 决策 Pawn Controllers(控制器)和Possession(占有) 武器库和武器 受到伤害 动画 相机视角 /瞄准 玩家示

(备忘)Nginx中文手册(技术指南第二版)

Nginx 常见应用技术指南[Nginx Tips] 第二版 目 录 一. Nginx 基础知识二. Nginx 安装及调试三. Nginx Rewrite四. Nginx Redirect五. Nginx 目录自动加斜线:六. Nginx Location七. Nginx expires八. Nginx 防盗链九. Nginx 访问控制十. Nginx日志处理十一. Nginx Cache十二. Nginx 负载均衡十三. Nginx简单优化十四. 如何构建高性能的LEMP环境十五. Ngin

安全牛:“新一代SOC研究报告”之市场指南及技术指南点评

在2017年8月9日,国内知名的企业级信息安全市场的专业新媒体--安全牛--发布了"新一代SOC研究报告"之市场指南及技术指南.在指南正式发布之前,7月份的阿里安全峰会(以后改成"网络安全生态峰会")上,安全牛背后的谷安天下负责人李华在论坛上就对这个报告进行了预发布.而就在9月13日的ISC大会上,再次进行了宣讲.的确,这份报告可以认为是近些年来国内出具的针对安管平台(SOC)的少有的独立分析报告.此前,国内公开可见的有关SOC的报告是IDC在2016年中发布的一份

Nginx常见错误与问题之解决方法技术指南

  Nginx常见错误与问题之解决方法技术指南. 安装环境: 系统环境:redhat enterprise 6.5 64bit 1.Nginx 常见启动错误 有的时候初次安装nginx的时候会报这样的错误 sbin/nginx -c conf/nginx.conf 报错内容:sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or