你上次編譯內核是多久以前的事兒了?新生代 Linux 管理員的答案很簡單:我壓根兒沒編譯過內核。我也從沒編譯過內核,當然自己弄著玩兒的不算。我實在想不到我為啥需要自定義內核,所以我就用我的“開箱即用”內核了。
Linux 老鳥們可能會笑話我們,但你不能否認:隨著越來越多的企業采用 Linux,新生代的 Linux 管理員雖然生就一身相當不錯的技術實力,卻因缺乏編譯內核這類簡單卻基礎的技能而和一個優秀的 Linux 管理員之間存在差距。我們能用時下最前沿的技術搭建一套高性能、高可用的 Web 基礎設施,但你別讓我們修理一台無法啟動的 Linux 機器——我們會建議你扔了它,然後換個新的虛擬機。
過去的十來年裡發生了很多有意思的事兒:Linux 不但變成了商品,而且其層出不窮的發行版也越來越強大和靈活。如今,一個普通的系統管理員完全不必掌握編譯內核這類底層技能了。
然後,我們又見證了虛擬機技術的商品化。使用 Amazon 雲主機或者 VPS 的用戶也許永遠不用在裸機上部署 Linux。隨著混合雲和私有雲的日益普及,甚至很多企業級的系統管理員都不需要在裸機上部署 Linux——登錄 Web 管理界面,一次性就能搞定不止 5 台 Apache 虛擬機。
時下最新的兩個趨勢:一個是配置管理,另一個看起來很前沿(其實一點兒都不前沿)—— 像 docker 這樣的部署工具包,它們隱藏了更多 Linux 底層技術細節。每當客戶要求我們在OlinData 上配置 Linux 機器時,我們的第一個動作就是架設 Puppet。有了功能強大值得信賴的 Puppet 模塊,手工配置也更快更簡單了。
例如,我可以這樣使用 Puppet 在新機器上安裝 Apache: