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 工程師一塊兒成長。

相關文章
相關標籤/搜索