原文鏈接:https://hackernoon.com/the-2018-devops-roadmap-31588d8670cb
原文作者:javinpaul
翻譯君:CODING 戴維奧普斯
我們?cè)谕七M(jìn)國內(nèi)研發(fā)團(tuán)隊(duì) DevOps 落地的過程中,發(fā)現(xiàn)不少研發(fā)組織在積極尋求 DevOps 技能方面的提升。今天翻譯的這篇深受歡迎的 DevOps 技術(shù)雷達(dá)來自一位國外的 Java 博主,他也是一位非常熱愛學(xué)習(xí)的開發(fā)者,接下來讓我們馬上進(jìn)入到正文。
DevOps 目前非?;馃?,我認(rèn)識(shí)的大多數(shù)朋友、同事和高級(jí)開發(fā)人員都在努力成為 DevOps 工程師,以及研發(fā)組織中的 DevOps 佼佼者。雖然我承認(rèn) DevOps 的好處,它與改進(jìn)軟件開發(fā)和部署過程直接相關(guān),但從我有限的經(jīng)驗(yàn)來看,這不是一件容易的事。在如此多的工具和實(shí)踐中選擇正確的學(xué)習(xí)路徑是非常困難的。作為一名 Java 博主,許多讀者經(jīng)常問我:
以上只是讀者經(jīng)常會(huì)提到的一部分問題,我努力用我淺薄的經(jīng)驗(yàn)來回答那些問題,但我不會(huì)只是用簡單粗暴和重復(fù)使用的方式把那些答案整合后丟給大家。今天我將分享一個(gè)很不錯(cuò)的資源 —— 2019 DevOps RoadMap,它將幫助你成為夢(mèng)寐以求的 DevOps 工程師。
昨天我在網(wǎng)上沖浪,偶遇了 Kamranahmedse 這個(gè)優(yōu)秀的 GitHub 頁面,上面有不少對(duì)立志成為前端開發(fā)人員、后端開發(fā)人員、全棧 Web 開發(fā)人員、DevOps 工程師的讀者都很有用的路線圖。這個(gè) RoadMap 在任何意義上都很有價(jià)值,因?yàn)樗粌H突出了 DevOps 工程師的角色,還講述了覆蓋該領(lǐng)域需要學(xué)習(xí)的工具和技術(shù)。最重要的是,它在視覺上令人賞心悅目(難道你不喜歡黃色和奶油色的藍(lán)線嗎?),所以你可以打印出來并粘在桌子上以便參考。
雖然路線圖很好,它告訴了你要學(xué)什么,但它沒有告訴你如何學(xué)習(xí)和在哪里學(xué)習(xí)。為了補(bǔ)充路線圖,我分享了一些有用的免費(fèi)和付費(fèi)在線課程,以便你可以學(xué)習(xí)和改進(jìn)你想要掌握的工具或領(lǐng)域。
話不多說,以下就是我所說的 DevOps RoadMap:
現(xiàn)在讓我們一步一步瀏覽 RoadMap,了解在 2019 年成為 DevOps 大師所需的基本技能:
你們肯定知道以下三種主流編程語言之一,即 Java、Python 或 JavaScript。如果沒有,你可以看看下面的課程來學(xué)習(xí)你選擇的語言。我強(qiáng)烈建議你至少學(xué)習(xí)其中一種。
如果你想學(xué)習(xí) Java,The Complete Java MasterClass 是一個(gè)很棒的課程,最近也針對(duì) Java 10 進(jìn)行了更新。
如果你想學(xué)習(xí) Python,那么 The Complete Python BootCamp 是我最喜歡的資源,它將教你 Python 3,這是 Python 最受歡迎的版本。
如果你想學(xué)習(xí) JavaScript,那么你不應(yīng)該錯(cuò)過 Mosh Hamdani 在 Udemy 上的 JavaScript Basics for Beginners 。
如果你需要更多的選擇并且不介意學(xué)習(xí)免費(fèi)資源,你可以隨時(shí)查看我的免費(fèi) Java,Python 和 JavaScript 課程列表。
這是 Ops 部分的內(nèi)容,在更早之前負(fù)責(zé)了解操作系統(tǒng)和硬件的人員以及系統(tǒng)管理員掌握操作系統(tǒng)即可。但對(duì)于 DevOps,現(xiàn)在開發(fā)人員也需要了解它們。你至少需要了解路線圖中建議的:流程管理、多線程和高并發(fā)、Sockets、I/O 管理、虛擬化、內(nèi)存存儲(chǔ)和文件系統(tǒng)。
由于我們大多數(shù)人都在 Linux 操作系統(tǒng)上工作,我建議你通過 Udemy 上的 Linux Administration BootCamp 課程來更好地學(xué)習(xí)和理解 Linux 操作系統(tǒng)。
更多免費(fèi)資源可查看 free Linux courses 列表。
對(duì)于 DevOps 人員來說,熟練地掌握常用的、好用的操作系統(tǒng)命令是很重要的,特別是在 Linux 操作系統(tǒng)上工作的研發(fā)人員,至少需要知道一些必需的 Linux shell 命令,如 Bash、Ksh、find、grep、awk、sed、lsof 以及 nslookup、netstat 等網(wǎng)絡(luò)命令。如果你認(rèn)為需要刷新下這些命令和工具,你可以考慮學(xué)習(xí) Pluralsight 上的 Linux Command Line Interface (CLI) Fundamentals 課程。
對(duì)初學(xué)者和有經(jīng)驗(yàn)的 Linux 用戶來說,這是一個(gè)很好的復(fù)習(xí)。你需要一個(gè) Pluralsight 會(huì)員才能訪問該課程,每月花費(fèi)約 29 美元或每年 299 美元,但我覺得物有所值。Pluralsight 就像開發(fā)者的 Netflix,它擁有超過 6000 個(gè)最新技術(shù)的高質(zhì)量課程,可以隨時(shí)隨地學(xué)習(xí),我主要是在旅行和上下班途中學(xué)習(xí)。如果你需要更多的選擇并希望成為 shell 腳本大師,可以查看我的 best courses to learn shell scripting。
信息孤島的日子已經(jīng)一去不復(fù)返了。當(dāng)今世界,萬物都連接在了一起,這也使得網(wǎng)絡(luò)和安全變得非常重要。為了成為優(yōu)秀的 DevOps 工程師,你必須了解基本的網(wǎng)絡(luò)和安全概念,如 DNS、OSI 模型、HTTP、HTTPS、FTP、SSL、TLS 等。為了刷新概念認(rèn)知,你可以查看在 Ed Liberman 在 Pluralsight 上的 TCP/IP and Networking Fundamentals for IT Pros 課程。
如果你需要更多選擇,還可以查看這些 Udemy 課程,網(wǎng)絡(luò)方面例如 The Complete Networking Fundamentals 是一個(gè)很好的課程,安全方面你還可以學(xué)習(xí) The Complete Cyber Security Course: Network Security。
作為 DevOps 大師,你應(yīng)該知道你的機(jī)器中設(shè)置了什么以及如何設(shè)置它,只有這樣你才可以思考如何去自動(dòng)化操控它。通常 DevOps 工程師應(yīng)該知道如何設(shè)置 IIS,Apache Tomcat 等 Web 服務(wù)器;還應(yīng)該了解緩存服務(wù)器,負(fù)載均衡器,反向代理和防火墻等。如果你是 Web 開發(fā)領(lǐng)域的新手,我建議你查看 Colt Steele 的 Web Developer Bootcamp 課程。
對(duì)于 DevOps 工程師來說,這可能是最重要的事情,這也是一個(gè)非常廣闊的領(lǐng)域。作為DevOps 工程師,你應(yīng)該了解 Docker、Kubernetes 等容器技術(shù);Ansible,Chef,Salt 和 Puppet 等配置管理工具;Terraform 和 Cloud Formation 等基礎(chǔ)設(shè)施配置。以下是我推薦的一些相關(guān)工具的學(xué)習(xí)課程。
對(duì)于 DevOps 大師來說,這是另一個(gè)非常重要的事情:建立一個(gè)持續(xù)集成和交付的流水線。CI / CD 領(lǐng)域有很多工具,例如 Jenkins、TeamCity、Drone 等。
但是我強(qiáng)烈建議至少學(xué)習(xí) Jenkins,因?yàn)樗亲顝V泛使用的,可能是市場(chǎng)上最成熟的 CI / CD 工具。如果你不認(rèn)識(shí) Jenkins,那么這門課程最好先開始。沒有比 Udemy 上經(jīng)典的 Learn DevOps: CI/CD with Jenkins using Pipelines and Docker 更好的課程。我也從這個(gè)課程中學(xué)到了大部分的 Jenkins 技能。
更多 Java 開發(fā)人員免費(fèi)資源可查看 6 free Jenkins and Maven courses 列表。
資源鏈接:http://www.java67.com/2018/02/6-free-maven-and-jenkins-online-courses-for-java-developers.html
除了配置和部署之外,監(jiān)控是 DevOps 的另一個(gè)重要方面,這就是 DevOps 工程師了解基礎(chǔ)設(shè)施和應(yīng)用程序監(jiān)控的重要原因。
這個(gè)領(lǐng)域有很多工具,如 Nagios、Icing、Datadog,Zabbix、Monit、AppDynanic、New Relic 等。你可以根據(jù)需要選擇其中一些來學(xué)習(xí)。
云是下一個(gè)重要的事情,遲早你得將應(yīng)用程序遷移到云,因此對(duì)于 DevOps 工程師來說了解一些流行的云提供商及其基礎(chǔ)知識(shí)是很重要的。
雖然 AWS 顯然是云計(jì)算領(lǐng)域的領(lǐng)導(dǎo)者,但 Google Cloud 和 Azure 正在慢慢趕上,還有一些其它參與者,如 Heroku、Cloud Foundry 和 Digital Ocean。
我強(qiáng)烈建議學(xué)習(xí) Udemy 上經(jīng)典的完整入門課程:AWS Serverless APIs & Apps?—?A Complete Introduction 。
更多 AWS 免費(fèi)學(xué)習(xí)資源可查看列表 free AWS courses 。
如果你只想從一門課程開始學(xué)習(xí) DevOps,我認(rèn)為 Learn DevOps: CI/CD with Jenkins using Pipelines and Docker 會(huì)是最好的開始。
原文作者非常詳盡地給我們解讀了 DevOps 技術(shù)的學(xué)習(xí)路線圖,除了作者分享的國外課程、工具,國內(nèi)也有非常多的學(xué)習(xí)資源。對(duì)英文課程沒有太大興趣的同學(xué),只要了解這個(gè)學(xué)習(xí)思路即可。CODING 也會(huì)持續(xù)關(guān)注并分享 DevOps 領(lǐng)域最新理念與技術(shù),與 DevOps 工程師一起成長。
聯(lián)系客服