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

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

在我的組織中,我與一群 NOC 員工、嶄露頭角的初級工程師和一些高級工程師一起工作;一切都集中在 Linux 上。公司培養人才的一個有趣的步驟是,有一條從國家奧委會到高級工程人員的道路。將人才庫視為相對較新的人才庫,我發現技能組合中存在分歧,而且這種分歧往往會隨著時間的推移而擴大…

  • 有些工程師非常了解一種或幾種特定技術並且不斷地沉浸其中......例如MySQL,防火牆,SAN存儲,負載平衡器......
  • 還有一些人是多面手,可以駕馭多種科技。
  • 所有人都學習了足夠的 Linux(命令、流程)來完成他們每天需要和使用的事情。

一些員工之間的一個區別因素是他們對腳本、自動化和配置管理方法的接受程度。例如,我們有兩位工程師負責亞馬遜的大部分工作AWS 雲形成工作,而另一個人則負責大部分工作木偶基礎設施。也許四分之一的工程師擅長 BASH shell 腳本編寫。

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

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

答案1

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

如果您的員工能夠在不實現自動化的情況下完成大部分工作量,那麼在我看來,您就人過多了。任何可以全天工作且主要由手動流程組成的 IT 員工都沒有動力實現自動化。為什麼要學習一項不被視為重要的新技能必要的甚至可能是可怕的?畢竟,需要是創新之母。

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

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

經過需要至,如上所述。

對於那些沒有/無法跟上 DevOps 範式的工程師來說,還有一席之地嗎?

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

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

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


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

答案2

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

練習與驅動力結合。聽起來很老套,但你必須這麼做要變得更好,除了練習之外。如果您並不真正喜歡編寫腳本,那麼您可能會在必要時被迫這樣做很多年,但永遠無法真正擅長它。如果你不這樣做為了變得更好,你可以每天在工作中坐在世界上最好的腳本編寫者旁邊,而不會學到你可以擁有的技能的一小部分。

我知道有些人儘管從事 IT 工作,卻頑固地拒絕學習任何類型的腳本。這些人很快就會在這個行業中沒有立足之地。他們是垂死一代的一部分。

我不是說老年人,我是比喻性的。 :P

• 那些沒有/無法跟上DevOps 範式的工程師還有一席之地嗎?

沒有。他們所做的每一件事都可以並且最終將會自動化。

我認為也許我們永遠不應該稱他們為「工程師」。 IT 產業將「工程師」這個詞用於我們自己,這已經夠糟糕的了,在我看來,這有點侮辱了我們自己。實際的工程師花費數年時間接受高等教育並獲得法律認證,以便他們可以設計橋樑、摩天大樓、強子對撞機等……這些就是真實的工程師。

但有一個相似之處...如果你想稱自己為IT行業的“工程師”,那麼這至少意味著你創造事物。你是創造性的然後你以前所未有的新方式將這些點連接起來。你建造的東西在你製造出來之前沒有人知道它有多有價值。

如果您不編碼或編寫腳本,那麼除了維護電腦以及安裝一兩個軟體包之外,您無法對電腦做太多事情。或許可以將新硬碟放入 ol' MSA 中。在這種情況下,我當然會稱您為管理員,但不一定是工程師。我想說,你大部分的工作都面臨著被自動化取代的危險。

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

市場會適應。有些人可能不會拿到六位數的薪水,但他們實際上並不值得,這種情況在這個行業經常發生。


我發現創造力,而不僅僅是編碼/腳本技能,是一個關鍵因素。這就是你需要對自己說的創造力,”哦,嘿,我可以自動化這個!「然後技能只有在那之後才發揮作用。如果你發現自己正在編寫一些腳本僅有的在你的老闆告訴你之後,那麼你可能就沒有我所說的動力或創造力……而這兩種特質很難甚至不可能教。

答案3

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

一個人如何在某件事上變得更好?閱讀書籍,參加課程,然後應用所學到的原理。 (或這些方法的組合。)這是故意過度簡化的,因為學習腳本與學習如何烹飪或如何修理汽車相比並沒有什麼特別之處。

對於那些沒有/無法跟上 DevOps 範式的工程師來說,還有一席之地嗎?

在本網站的範圍內很難回答這個問題(需要對所提出的問題提供清晰/定義的答案)。我覺得一個人要同時精通兩門學科是非常困難的。目前,「二對一」員工節省的成本對企業非常有吸引力,但很難說這種趨勢是否會持續下去。這當然是短期的。

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

按照目前的進展速度,是的。你們中的大多數人可能在自己的工作場所觀察到這一點。您絕對應該關注職位列表並了解當前市場的需求。 (您所在的地區有很多 Hadoop 的職位清單?學習 Hadoop。)如果您跟不上市場,您就有被拋在後面的風險。

答案4

對於那些沒有/無法跟上 DevOps 範式的工程師來說,還有一席之地嗎?

「devops」只是系統管理員幾十年來一直在做的事情的一個新詞。

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

恰恰相反。隨著時間的推移,對技術人員的需求越來越大。任何具有任何工程知識和技術技能的人都將有一個工作場所。

相關內容