本著自己幾年運維的工作經驗和幾個大型網站工程師的不吝賜教。這裡將個人總結的一些體會發出來給大家參謀參謀(注:不包含怎麼做人)。下面將運維中需要學習或能讓你運維工作加分的技能稍做介紹。首先我們假設你是一個公司的IT運維經理。需要搞定五十台以上的服務器和若干雜七雜八的設備,哪些技術你會用的上?
一、微軟系統
對於Windows的熟悉是最基本的。當然,作為一個運維經理,可不是整天玩個Windows7或XP就可以交差的。你得掌握微軟Active Directory及其上層各種服務和應用的搭建。一般常用的有ISA、Exchange、SQL Server。隨著Windows 2008的大放異彩,Hyper-V又成了微軟工程師不得不掌握的重型武器。
二、Linux/BSD系統
雖然Ubuntu現在很火,但是在公司裡使用的大多還都是Redhat系列和Suse系列。你得熟悉DNS、NIS、Apache、SMB、DHCP、Sendmail、FTP、MySQL這些常規服務。如果公司的IT業務大規模對外,你還得學會LVS或Nginx等負載均衡技術。
友情提示:如果你將去人人網或豆瓣等新銳Web2.0公司,那你還得熟悉Cassandra之類混合型的非關系的數據庫技術;Memcache之類高性能分布式的內存對象緩存系統(它通過在內存裡維護一個統一的巨大的Hash表存儲各種格式的數據)。
既然說了Linux,這裡也順帶要提一下BSD,同樣是開源的寵兒,BSD的安全性和高效讓人印象深刻,目前包括Yahoo、Sina在內的很多公司都會用它來跑應用。這類系統熟悉之後,以後從事Solaris相關工作也會減少難度(同樣的Unix血統)。
如果有中間件要求的,可以適當接觸Weblogic(Oracle系)或WebSphere(IBM系)、Jboss(紅帽系)。這些東西在目前流行的大型應用中非常廣泛。
三、編程開發
混Windows系統的自覺一點學好Powershell吧。要是說前幾年還得看看VBscript的話,未來就都是Powershell的天下了。
PowerShell是微軟公司於2006年第四季度正式發布的。它的出現讓Windows在運維方面拉近了與Unix, Linux等操作系統的距離。目前支持.Net Framework 2.0。能夠運行在Windows XP SP2之後各種操作系統上。能夠同時支持WMI,COM,ADO.NET,ADSI等已有的Windows管理模型。這項全新的技術提供了豐富的控制與自動化的系統管理能力;而“腳本語言”(scripting languages)則是用來編寫程序的計算機語言。腳本語言通常都有簡單、易學、易用的特性,目的就是希望能讓寫程序的人(開發者)快速完成程序的編寫工作。