誰是 DevOps 工程師,他做什麼,賺多少錢以及如何成為 DevOps 工程師

DevOps 工程師是多學科專家,他們知道如何實現流程自動化,並了解開發人員、QA 和經理的工作方式。 他們知道如何編程,快速掌握複雜的工具,並且在面對不熟悉的任務時不會不知所措。 DevOps工程師很少——他們願意付給他們200-300萬盧布,但仍然有很多職位空缺。

Dmitry Kuzmin 解釋了 DevOps 到底做什麼以及申請這樣的職位需要學習什麼。 獎勵:書籍、影片、頻道和專業社群的重要連結。

DevOps 工程師做什麼的?

在 DevOps 情況下,重要的是不要混淆這些術語。 事實上,DevOps 並不是一個特定的活動領域,而是一種專業哲學。 它是一種透過自動化和無縫性幫助開發人員、測試人員和系統管理員更快、更有效率地工作的方法。

因此,DevOps 工程師是在工作流程中實施此方法的專家:

  • 在規劃階段,DevOps 工程師協助決定應用程式將使用什麼架構、如何擴展以及選擇編排系統。
  • 然後他架設伺服器,自動檢查和上傳程式碼,檢查環境。
  • 然後它會自動進行測試並解決部署問題。
  • 發布後,收集用戶回饋並實施改進非常重要。 DevOps 確保使用者不會注意到這些改進,並且更新過程是連續的。
  • 同時,它解決了數十個問題,有助於完善開發人員、QA、系統管理員和經理的工作體系。

上面寫的一切都發生在接近理想的項目中。 在現實世界中,您必須啟動一個項目,其中規劃被忽略,架構錯誤,並且當所有項目停止時您開始考慮自動化。 理解所有這些問題、解決它們並使一切正常運作是 DevOps 專家的關鍵技能。

人才市場存在混亂。 有時,企業正在尋找 DevOps 工程師擔任系統工程師、建置工程師或其他職位。 職責也會根據公司的規模和方向而變化——在某個地方,他們正在尋找諮詢人員,在某個地方,他們被要求將一切自動化,在某個地方,他們需要執行懂得如何編程的系統管理員的高級功能。

開始這個職業需要什麼

進入這個行業需要前期準備。 在不了解任何 IT 知識的情況下,您將無法簡單地從頭開始學習課程並學習到初級程度。 所需技術背景:

  • 如果您作為系統管理員、營運或測試專家工作了六個月或更長時間,則非常適合。 或至少了解應用程式如何啟動、可以在什麼環境中開發以及看到錯誤時該怎麼做。 如果您沒有工作經驗,請學習任何有關 Linux 管理的課程,重複在您的家用電腦上發生的所有事情。
  • 了解網路技術的工作原理 - 學習安裝、設定和管理局網域網路和廣域網路。
  • 了解程式設計的工作方式和內容 - 用 Python 或 Go 編寫一些腳本,嘗試了解 OOP(物件導向程式設計)的原理,以了解一般產品開發週期。
  • 技術英語知識將很有用 - 不必就自由主題進行交流,能夠閱讀文件和介面就足夠了。

沒有必要了解詳細列出的所有內容;要開始學習 DevOps,最低程度的培訓就足夠了。 如果您有這樣的技術背景,請嘗試報名參加課程。

DevOps 應該了解什麼

優秀的 DevOps 工程師是一位具有廣闊視野的多學科專家。 為了成功工作,您必須同時了解多個 IT 領域。

設計

DevOps 將編寫一個腳本來幫助開發人員在伺服器上安裝程式碼。 將創建一個程式來「動態」測試資料庫的回應能力。 將編寫版本控制應用程式。 最後,只需注意伺服器上可能出現的潛在開發問題。

強大的 DevOps 專家了解多種適合自動化的語言。 他理解得不是很透徹,但是他可以很快地寫出一個小程式或閱讀別人的程式碼。 如果您以前從未接觸過開發,請從 Python 開始 - 它語法簡單,易於使用雲端技術,並且有大量文件和程式庫。

操作系統

了解每個系統每個版本的所有功能是不可能的——您可能花費數千小時進行此類培訓,但毫無用處。 相反,優秀的 DevOps 理解在任何作業系統上工作的一般原則。 不過,從空缺職位中提到的情況來看,大多數人現在都在 Linux 上工作。

優秀的工程師了解哪個系統最適合部署專案、使用什麼工具以及在實施或操作過程中可能出現哪些潛在錯誤。

雲端技術市場 生長 每年平均成長 20-25% - 這樣的基礎架構可讓您自動執行測試程式碼、從元件組裝應用程式以及向使用者提供更新的操作。 優秀的 DevOps 了解完全雲端解決方案和混合解決方案。

對工程師的標準要求通常包括GCP、AWS和Azure。

這包括熟練 CI/CD 工具。 通常,Jenkins 用於持續集成,但類似產品值得嘗試。 其中有很多,例如 Buddy、TeamCity 和 Gitlab CI。 研究 Terraform 將會很有用 - 它是一個聲明性工具,可以幫助您遠端設定和配置雲端中的基礎架構。 和 Packer,自動建立作業系統鏡像所需的.

編排系統和微服務

微服務架構有許多優點—穩定性、快速擴展能力、簡化和重複使用。 DevOps 了解微服務的工作原理並可以預測潛在的問題。

徹底了解 Docker 和 Kubernetes。 了解容器如何運作,如何建置系統,以便您可以停用其中一些容器而不會對整個系統產生影響。 例如,他可以使用Ansible來建構Kubernetes集群

未來的 DevOps 還該嘗試什麼?

對 DevOps 工程師有用的工具清單是無窮無盡的。 有些人負責專案編排,有些人則將大部分時間花在自動化部署和測試上,有些人則提高配置管理的效率。 在這個過程中,我們會清楚在哪裡挖掘以及哪些項目有用。

這是另一個在開始時會有所幫助的小最小值:

  • 如果您還沒有了解 Git 和 Github 的工作原理,請先了解一下。 在您的伺服器上安裝 GitLab。
  • 熟悉 JSON 和 YAML 標記語言。
  • 安裝並嘗試使用資料庫 - 不僅是 MySQL,還包括 NoSQL。 試試 MongoDB。
  • 了解如何同時管理多個伺服器的配置。 例如,使用 Ansible。
  • 立即設定負載監控和日誌。 試試 Prometheus、Grafana、Alertmanager 組合。
  • 尋找不同語言的最佳部署解決方案 - 您只需要在培訓或工作專案中熟悉、實施和理解它們。

為什麼你現在應該開始學習 DevOps

市場上有 DevOps 工程師人才短缺的問題。 這是由職位空缺的數量和品質有條件地證實的:

  • 在俄羅斯,光是在 HeadHunter 上,就持續有超過 2 個針對該關鍵字的職缺。
  • 只有 1 人發布了簡歷。

考慮到發布履歷並不意味著積極尋找工作,事實證明,對於一個專家來說,有兩個甚至三個空缺 - 即使在流行的網頁開發市場中,這種情況也不存在。 在這裡添加來自 Habr 和 Telegram 頻道的更多職缺 - 專家的短缺非常嚴重。

誰是 DevOps 工程師,他做什麼,賺多少錢以及如何成為 DevOps 工程師
關注應徵者的薪資要求

DevOps 在世界各地的需求同樣不減 - 如果您要搬遷到美國或歐洲,那麼只能在入口網站上 Glassdoor 超過 34 家公司正在尋找此類專家。 常見的要求包括 1-3 年的經驗、使用雲端的能力以及不懼怕諮詢功能。

自由職業的機會要少很多倍——DevOps 工程師主要尋找員工和全職職位。

誰是 DevOps 工程師,他做什麼,賺多少錢以及如何成為 DevOps 工程師
找到合適的自由項目很困難,但這是可能的

DevOps 工程師的傳統職涯道路可以想像成這樣:

  • 他已經在一家小型 IT 公司擔任系統管理員六個月到一年。 同時,他研究了一門適合自動化的語言。
  • 他集中學習了大約六個月的課程。
  • 轉到另一份工作 - 一家向大型專案開發人員銷售雲端解決方案的公司,這是一家大公司的分支機構。 簡而言之,就是需要持續自動化和實施的地方。 初始位置約 100 萬盧布。
  • 幾年來,他積極工作、學習,收入數倍增加。
  • 成為專業界的專家並進入諮詢領域。 或成長為系統架構師或IT總監。

DevOps 很難。 你需要同時結合多個職業的技能。 成為一個願意提供改進的人,而其他 IT 專家甚至不會考慮其他任何事情。 他們為此付出了很多,但也需要大量的知識。

DevOps 能賺多少錢?

根據2019年第二季的數據,DevOps的平均薪資中位數在90至160萬盧布之間。 還有更便宜的報價——大多是60-70萬。

不斷有高達200萬的報價,並且有工資高達330萬盧布的空缺。

誰是 DevOps 工程師,他做什麼,賺多少錢以及如何成為 DevOps 工程師
在營運專業人員中,DevOps 的薪資高於其他人員。 來源: 哈伯職業生涯

現在,大型銀行、企業、雲端服務、交易系統和其他關心維護 IT 解決方案的組織都需要 DevOps 工程師(包括初學者)。

薪水為 60-90 的初級職位的最佳候選人是具有大約一年經驗和專業文憑的初級系統管理員。
 
誰是 DevOps 工程師,他做什麼,賺多少錢以及如何成為 DevOps 工程師
沒有這樣的統計,但是好像有Linux經驗的人薪水更高

觀看和閱讀哪些內容可以促進您的職業發展

要深入了解 DevOps 的世界,請嘗試多種資訊來源:

  • 雲原生計算基金會 [YouTube,ENG] - 來自會議和教育網路研討會的許多影片。
  • 開發營運頻道 [YouTube,俄羅斯] - 俄羅斯專業 DevOps 會議的視訊報道。
  • DevOps 手冊 [書籍,RUS] 是 DevOps 哲學的最受歡迎的書籍之一。 這本書包含了該方法的一般原則;它告訴我們在進行任何專案時首先要注意什麼。
  • Thomas Limoncelli《系統與網路管理實務》 [書籍,RUS] - 關於如何建構系統管理的大量理論和原則。
  • 開發營運周刊 [書籍,英文] - 每週回顧有關世界各地 DevOps 動態的新聞。
  • Devops_deflope [Telegram,RUS] - 行業新聞、會議公告、新的有趣文章和書籍的連結。
  • Devops_cn [Telegram,RUS] - 俄語聊天,您可以在其中尋求建議並尋求配置幫助。
  • Devops.com 是一個大型國際網站,提供來自業內最大公司的文章、網路研討會、播客和專欄。
  • Hangops_Ru — 由 DevOps 工程師和同情者組成的俄語社群。
  • 針對您將用於開發的語言的最佳書籍。

在哪裡學習 DevOps

您可以在課程中獲得結構化知識“開發營運工程師”在網絡學中。 您將學習整個方法論週期:

  • 了解如何分析程式碼並快速使用版本控制工具。
  • 了解持續整合、測試和建置的最佳實務。
  • 學習管理和自動化應用程式更改。
  • 親身體驗配置和管理工具。
  • 習慣於立即選擇和配置必要的監控服務。

獲得 Python 程式設計課程作為額外獎勵 - 您將更快、更輕鬆地解決問題。 一切都很實用 - 我們使用 AWS、GCP 或 Azure。
這足以將新手工程師或系統管理員轉變為搶手的 DevOps 人員,並愉快地提高您在勞動力市場上的價格標籤。

誰是 DevOps 工程師,他做什麼,賺多少錢以及如何成為 DevOps 工程師

來源: www.habr.com

添加評論