LESSON 1 / 90免費試讀
在我們這趟 90 天的旅程中,今天是第 1 天,目標是建立對 DevOps 及其相關工具的良好基礎認識,培養 DevOps 思維。
這趟學習之旅其實在我幾年前就開始了,不過當時的重心放在虛擬化平台與雲端技術上,我大多研究的是用 Terraform 與 Chef 來做 Infrastructure as Code 與應用程式設定管理。
時間快轉到 2021 年 3 月,我獲得了一個很棒的機會,能將心力集中在 Kasten by Veeam 的 Cloud Native 策略上,這將會是聚焦於 Kubernetes、DevOps,以及圍繞這些技術的社群上的大工程。我開始了我的學習之旅,並很快意識到,除了學習 Kubernetes 與容器化的基礎知識之外,還有一個非常廣闊的世界,於是我開始與社群交流,越來越了解 DevOps 文化、工具與流程,所以我開始把想學的一些領域公開記錄下來。
如果你讀了上面那篇部落格文章,你會發現這是我這趟學習之旅的高層次內容大綱,我在此要先聲明,目前我在這些領域中都稱不上專家,但我想做的是分享一些資源,有免費的也有付費的,讓大家都有選擇,因為每個人的情況不同。
在接下來的 90 天裡,我想記錄這些資源,並涵蓋這些基礎領域。我也很希望社群能夠一起參與,分享你自己的旅程與資源,讓我們可以公開學習、互相幫助。
從專案 repository 開頭的 readme 你會看到,我把內容拆分成好幾個部分,總共是 12 週再加 6 天。前 6 天,我們會先探索 DevOps 整體的基礎知識,再深入到一些特定領域。這份清單絕對稱不上詳盡,同樣地,我很希望社群能協助讓這份資源變得更實用。
這裡我還想分享另一個資源,我認為每個人都該好好看一下,也許可以依照自己的興趣與定位,畫一份屬於自己的心智圖:
當初我在建立最初的清單和這篇部落格文章時,發現這是一個很棒的資源。你也可以從中看到,除了我在這個 repository 裡列出的 12 個主題之外,還有其他領域的更多細節。
關於這個主題的部落格文章與 YouTube 影片多到列不完,但既然我們要開始這 90 天的挑戰,並且專注在每天花大約一小時學習新東西或了解 DevOps,我認為一開始先把「什麼是 DevOps」的一些高層次概念講清楚會是件好事。
首先,DevOps 不是一種工具(tool)。你買不到它,它不是一個軟體 SKU,也不是你可以下載的開源 GitHub repository。它也不是一種程式語言,更不是什麼玄乎的黑魔法。
DevOps 是一種在軟體開發中把事情做得更聰明的方法。——等等⋯⋯但如果你不是軟體開發人員,是不是現在就該轉身離開,不用深入研究這個專案了?不,完全不是這樣。留下來吧⋯⋯因為 DevOps 把軟體開發與維運(Operations)結合在一起。我前面提過,我自己比較偏向虛擬機那一側,這通常會歸類在維運這一邊,但在這個社群裡,有著各種不同背景的人,DevOps 對每一個人都會有 100% 的幫助,開發人員、維運人員與 QA 工程師都能透過更了解 DevOps,同樣學到這些最佳實務。
DevOps 是一組實務做法,目的是達成這個運動的目標:縮短一項產品從發想階段到正式發布給終端使用者(不論對象是內部團隊還是客戶)之間的時間。
我們在第一週也會探討另一個領域,也就是敏捷方法論(Agile Methodology)。DevOps 與 Agile 經常被一起採用,以達成應用程式的持續交付(Continuous Delivery)。
高層次的重點在於,DevOps 思維或文化,就是把原本可能長達數年、拖沓冗長的軟體發布流程,縮短成能夠更頻繁地推出小規模版本。這裡另一個關鍵基礎觀念是:DevOps 工程師的職責之一,就是打破我前面提到的那些團隊——開發、維運與 QA——之間的隔閡(silo)。
從 DevOps 的角度來看,**開發(Development)、測試(Testing)與部署(Deployment)**全都落在 DevOps 團隊身上。
最後我想說的是,為了讓這一切盡可能有效率又高效,我們必須善用自動化(Automation)。
如果你讀到這裡,你應該已經知道這是不是你想投入的方向了。
內容來源:本頁翻譯自 Michael Cade 發起的開源學習專案
90DaysOfDevOps(2022 年度,
DevOps 基礎),原文連結:https://github.com/MichaelCade/90DaysOfDevOps/blob/main/2022/Days/day01.md授權注意:這門課的授權不是碼力獅多數課程慣用的 MIT / Apache-2.0。
上游 repo 的LICENSE.md就是
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
(CC BY-NC-SA 4.0) 全文,
README.md 的「## License」段落再聲明一次。碼力獅是免費、無廣告、無訂閱制的
平台,符合 NonCommercial 條件,因此在標示原作者(Attribution)之下,將本頁課文
翻譯為繁體中文(技術名詞、程式碼、指令、旗標與 API 名稱保留原文)。
依 ShareAlike 條款,本頁翻譯內容比照原文,同樣採用 CC BY-NC-SA 4.0 授權釋出 ——
若要另行轉載或再散布本頁內容,請遵守姓名標示、非商業性與相同方式分享條款。如與英文原文有出入,以原文為準。範例程式與完整專案請直接使用原始 repo。