Linux

Linux 管理員如何提高他們的 shell 腳本和自動化技能?

  • August 19, 2014

在我的組織中,我與一群 NOC 員工、嶄露頭角的初級工程師和少數高級工程師一起工作;一切都集中在 Linux 上。公司培養人才的一個有趣步驟是,有一條從 NOC 到高級工程隊伍的途徑。將人才庫視為一個相對較新的人,我發現技能組合存在分歧,並且隨著時間的推移趨於增長……

  • 有些工程師精通一種或幾種特定技術,並且不斷地沉浸在其中……例如 MySQL、防火牆、SAN 儲存、負載均衡器……
  • 還有其他人是通才,可以駕馭多種技術。
  • 所有人都學習了足夠的 Linux(命令、程序)來做他們每天需要和使用的事情。

一些員工之間的一個區別因素是他們對腳本、自動化和配置管理方法的接受程度。例如,我們有兩名工程師負責大部分 Amazon AWS CloudFormation工作,另一名負責處理大部分Puppet基礎設施。可能有四分之一的工程師擅長 BASH shell 腳本。

在就業市場對 DevOps 技能的需求極高的背景下,我很好奇其他組織如何促進這些技能的發展並培養他們的內部人才。腳本編寫似乎不是一個特別可教的概念。

  • 系統管理員如何改進他們的 shell 腳本?
  • 對於沒有/不能跟上 DevOps 範式的工程師,是否還有一席之地?
  • 我們是否只是假設隨著這些技術的發展,有些人會被拋在後面?可以嗎?

我受益於了解您的環境的規模和復雜性。當您為雲/託管服務提供商工作時,可以安全地假設您擁有大量中小型環境(10-100 台伺服器)。肯定有 jr 完成的日常任務。重複的工程師和 NOC 員工(創建使用者帳戶、配置備份代理等)。同樣,可能有一些手動的事情是由 sr 完成的。工程師喜歡在新硬體上安裝 ESXi 或配置 MPIO 之類的東西或為特定硬體集安裝 VMware 模組。所有這些事情都可以而且應該是自動化的。

如果您的員工能夠在不自動化的情況下完成大部分工作,那麼我認為您的人手過多。任何可以工作一整天且主要由手動流程組成的 IT 員工都沒有動力進行自動化。為什麼要學習一項被視為不必要甚至可能令人恐懼的新技能?畢竟,必要性是創新之母。

因此,在您的組織中的某個時刻,您將成長到一個您將陷入困境並崩潰的規模,或者您將開始自動化幾乎所有事情並表現出色。當然,高級工程師應該在這裡帶頭,甚至可能與初級工程師和 NOC 員工一起工作,以自動化他們的一些工作量。這給了JR。工程師有機會使用許多腳本的框架,他們可以根據需要針對每個租戶和新的硬體版本進行調整。這消除了“天哪,我什至從哪裡開始?”的令人生畏的想法。從方程中提取並為他們提供解決實際問題的快速起點。這讓我想到了最後一點。書籍和例子都很好,但是有’他們面臨的問題。給他們一個目標,就像租戶 x 的所有新伺服器都應該安裝某些 ESXi 模組,然後與他們一起完成它。然後調整腳本以在多租戶環境中工作。

系統管理員如何改進他們的 shell 腳本?

根據需要,如上所述。

對於沒有/不能跟上 DevOps 範式的工程師,是否還有一席之地?

當然,有很多組織不能或不會轉向 DevOps 方法。它們似乎是越來越無聊的選擇,但它們仍然是選擇。

我們是否只是假設隨著這些技術的發展,有些人會被拋在後面?

與任何新技術一樣 - 是的。


tl; dr 在看到其中的價值之前,您永遠不會讓任何人真正投入學習它。如果他們可以手動完成他們的日常任務,那麼你就會人滿為患,沒有動力。

引用自:https://serverfault.com/questions/538076