誒?忘記今天還沒發文了,就簡單聊一下我對DevOps的認知
當我知道我的興趣愛好常出現在DevOps方面的文章後,我的下一個問題便是DevOps是什麼?
在下一個問題便是,該不會選擇DevOps就得換工作了吧?
當然,小孩子才做選擇,我網頁、DevOps全都要可不可以?
DevOps是Development跟Operation的融合
想像一下以一個網頁產品的公司來說:
Dev是指那些寫著前後端程式碼的工程師們
Ops則是管理硬體機器,部署雲端平台的"更偏向管硬體"的工程師們,通常在System Level上他們的帳號權限也會比Dev還大,畢竟許多環境例如伺服器、虛擬機、GCP都是他們準備的。
那結合起來後就好似兩組人馬今天都窩在同一個空間工作了
過去可能會發生Dev要發布新版本,因此把新版執行檔傳給Ops,Ops再將版本給部屬上去。
這過程中如果晚了點,可能過了下班時間,事情就會變成明天才能完成。
原本今天就能創造出來的利潤,變成明天才可以創造。
聽起來充滿不便與溝通成本。
因此DevOps源自於我們想更快速迭代我們的產品的需求,
我們想更快將產品觸及到用戶端,
並減少過程中會發生的意外或人力成本。
因此將兩個Team放在一起工作 ? 事情變快了一點,但這仍然不正確。
所謂DevOps是一種MindSet,就像下面這張圖:
我在Commit時,知道會跑過哪些Stag,並且發布到哪個環境。一旦出問題,我知道該去哪個Monitor查;若需要查機器Event Log,我也知道是哪一台。過程中發現部署環節哪邊可以更好,就著手改善它。
意即是Dev在工作時要有Ops的思維,同理Ops在工作時要有Dev的思維。
也可以想成DevOps是一種開發者的文化,或是抽象類別。
一些DevOps相關的職缺則是去實作了DevOps。例如Site Reliability Engineering(SRE)
這邊有篇講得很好的關於SRE和DevOps
我對DevOps這名詞的意涵了解也就到這,至今我是以一個網頁開發工程師的身份,同時做點Ops的事情,以此為樂。
DevOps文化使我更了解部署生態的運行,使我在Issue發生時,有更多想法出現,使我能做一些促進團隊讓大家開發過程更爽快的事情。
祝大家中秋節快樂 :D