2019 DevOps 技术指南

图片

原文连接: https://hackernoon.com/the-20...
原文做者:javinpaul
翻译君:CODING 戴维奥普斯

写在前面

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

DevOps 技术指南

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

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

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

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

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

话很少说,如下就是我所说的 DevOps RoadMap:linux

图片
图片来自 kamranahmedseios

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

一、编程语言

大家确定知道如下三种主流编程语言之一,即 Java、Python 或 JavaScript。若是没有,你能够看看下面的课程来学习你选择的语言。我强烈建议你至少学习其中一种。web

  • Java

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

图片

  • Python

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

图片

  • JavaScript

若是你想学习 JavaScript,那么你不该该错过 Mosh Hamdani 在 Udemy 上的 JavaScript Basics for Beginners

图片

若是你须要更多的选择而且不介意学习免费资源,你能够随时查看个人免费 JavaPythonJavaScript 课程列表。

二、操做系统

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

因为咱们大多数人都在 Linux 操做系统上工做,我建议你经过 Udemy 上的 Linux Administration BootCamp 课程来更好地学习和理解 Linux 操做系统。

图片

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

三、终端命令

对于 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

四、网络和安全

信息孤岛的日子已经一去不复返了。当今世界,万物都链接在了一块儿,这也使得网络和安全变得很是重要。为了成为优秀的 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

图片

五、服务器配置

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

图片

六、基础设施即为代码

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

图片

图片

图片

七、持续集成/交付

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

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

图片

更多 Java 开发人员免费资源可查看 6 free Jenkins and Maven courses 列表。

八、监控软件和基础设施

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

这个领域有不少工具,如 Nagios、Icing、Datadog,Zabbix、Monit、AppDynanic、New Relic 等。你能够根据须要选择其中一些来学习。

九、云提供商

云是下一个重要的事情,早晚你得将应用程序迁移到云,所以对于 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 工程师一块儿成长。

相关文章
相关标签/搜索