老男孩:Linux運維工程師崗位前景及學習路線
Linux運維工程師崗位前景及學習路線
目錄:
講師:老男孩自我介紹
1.1 什麼是Linux?
大家日常使用電腦聽歌、打遊戲娛樂或處理日常工作時,接觸到最多的就是Windows作業系統,電腦如果不安裝Windows系統是無法進行娛樂和工作的,所有的軟體程式都必須執行在作業系統之上,但我們大眾百姓常用的作業系統是個人版的,也就是給個人用的,熟稱桌面版系統。
和Windows作業系統一樣,Linux也是一個作業系統軟體,只不過它是企業級伺服器作業系統,Linux系統以安全、穩定、免費、高效、可自由更改原始碼著稱,這幾個優秀的特點使得Linux系統大受歡迎,並且未來也會越來越火!
1.2 Linux系統發展前景?
眾所周知,全球網際網路及移動網際網路仍在在高速發展,所有的公司要想生存都必須和網際網路接軌,這樣就使得網際網路的發展與日俱增。
而Linux系統以安全、穩定、免費、高效、可自由更改原始碼的特點佔據了,1-2線城市90%以上的網際網路企業以及移動網際網路企業的系統應用。例如:百度、騰訊、阿里巴巴、淘寶網、京東商城、小米網、58同城、Sina、網易、滴滴打車、摩拜單車等都在大量使用Linux作業系統,國外的企業更是對Linux情有獨鍾,谷歌、Facebook、亞馬遜等,毫不誇張地說,只要你能隨口說出來想到的公司後臺幾乎都在使用Linux系統(包括Windows的廠商微軟公司也在親近Linux系統),我們使用的手機、平板等大多都在使用Linux系統(安卓版),蘋果系列產品也都是類Linux系統(Unix),可見Linux系統的應用之廣,可以預見未來至少是10年,Linux將是伺服器端最火、應用最廣的作業系統,沒有之一,中國國家也在大力扶持Linux系統,從中小學開始普及Linux系統。
再舉個例子,大家使用淘寶、京東購物,使用百度、谷歌搜尋,看起來網站介面很簡單,實際上網站背後都是由數千到上萬臺、甚至10萬臺伺服器來完成的,這也是企業為什麼需要運維工程師的原因。
為什麼老男孩老師會對Linux的未來火爆程度這麼肯定呢?這是因為Linux誕生的基因決定的:
Linux系統遵循GPL協議,即保證任何人有共享和修改自由Linux的自由,任何人有權取得、修改和重新發布Linux系統的原始碼權利,但都必須同時給出具體更改的原始碼,這個許可讓全球的人都願意為Linux貢獻力量而不被某些人和機構據為己有,你說能不火麼。
1.3 什麼是Linux運維?
1.3.1 Linux運維崗位描述:
用一句話概括就是維護Linux作業系統以及系統之上的相關軟體服務、程式程式碼和企業資料,使得企業能夠優質、高效、快速的為企業的客戶提供服務,從而盈利賺錢,隨著企業增長,伺服器和服務數量、要求也會成倍增加,對運維的能力和數量都有更多的要求。
1.3.2為什麼企業會需要Linux運維崗位?
隨著網際網路和移動網際網路的高速發展,企業使用者數量曾幾何級數增長(多達數百萬計、千萬計,微信和QQ的使用者有近10億),企業的應用及網站規模、資料量也越來越大,需要的伺服器也越來越多,軟體和程式架構也越來越複雜,例如:BAT中每家企業的伺服器數量可能多達數萬臺到10萬臺,這麼多的伺服器、軟體執行、網站架構、程式程式碼、資料安全維護都需要維護工程師,並且需求會越來越多。
1.4 Linux運維崗位及工作內容
網際網路Linux運維工程師是一個融合多學科(網路、系統、開發、資料庫、安全、儲存等)的綜合性技術崗位,甚至還需要溝通、為人處世、培訓、銷售、管理等非技術能力,這給運維工程師提供了一個廣闊的發展空間。
1.4.1 Linux運維工程師崗位職責
一般從企業入門到中級Linux運維工程師的工作大致有:挑選IDC機房及頻寬、購買物理伺服器或雲服務、購買及使用CDN服務、搭建部署程式開發及使用者的訪問系統環境(例如:網站執行環境)、對資料進行備份及恢復、處理網站執行中的各種故障(例如:硬體故障、軟體故障、服務故障、資料損壞及丟失等)、對網站的故障進行監控、解決網站執行的潛在安全問題、開發自動化指令碼程式提高工作效率、規劃網站架構、程式釋出流程和規範,制定運維工作制度和規範、配合開發人員部署及除錯產品研發需要的測試環境、程式碼釋出等工作需求,公司如果較小可能還會兼職網管、網路工程師、資料庫管理員、安全工程師、技術支援等職責。
- 涉及到的Linux平臺上的運維工具有:Linux系統,Linux基礎命令,Nginx,Apache,MySQL,PHP,Tomcat,Lvs,Keepalived,SSH,Ansible,Rsync,NFS,Inotify,Sersync,Drbd,PPTP,Open***,NTP,Kickstart/Cobbler,KVM,OpenStack,Docker,Mongodb,Redis,Memcached,Iptables,SVN,GIT,Jenkins,網路基礎,Shell/Python開發基礎等,除此之外還可能涉及到交換機、路由器、儲存、安全、開發等知識。
運維工程師還包括一些低端的崗位,例如:網路管理員、監控運維、IDC運維,值班運維,其中後三個低端崗位是沒前途的崗位。
總的來說:Linux初中級運維工程師更多的是使用工具軟體的階段,屬於運維的初級階段,在一線城市網際網路公司的薪資一般在8000-15000/月。
職業發展方向:Linux運維架構師、資料庫工程師、運維開發工程師、運維經理、運維總監
Linux初中級運維工程師應用軟體階段。
小規模網站架構邏輯圖(老男孩教育Linux運維班期中叢集專案實戰)
1.4.2 Linux運維架構師崗位職責
運維架構師是運維工程師的高階階段,並沒有明確的崗位界限區分,運維架構師一般來說是除了對運維工程師應用的開源工具熟練掌握之外,更多的是用思想來運維了,即DevOps的落地,各種企業執行過程中的解決方案提出和執行,例如:根據公司的現狀可以設計各類運維解決方案的能力:
1、自動化程式碼上線(SVN/GIT+Jenkins+MVN)解決方案;
2、雲端計算部署架構及Docker微服務架構方案;
3、服務自動化擴容方案(KVM/OpenStack/Docker+Ansible+Zabbix);
4、10萬併發的網站架構、秒殺系統的架構及解決發你個案;
5、多IDC機房互聯方案、全網資料備份解決方案、賬號統一認證方案;
6、資料庫、儲存及各重要服務節點的叢集和高可用方案。
7、各網路服務的極端優化方案、服務解耦/拆分。
8、運維流程、制度、規範等的建設和推行。
9、溝通能力、培訓能力、專案管理、業務需求分析及落地執行力等。
這裡僅舉幾個例子,實際工作中會有更多,運維架構師的工作,其實就是解決企業中的使用者訪問量不斷增大帶來的痛點,最終達到高效、優質的為客戶提供網站及業務服務。
總的來說:Linux運維架構師更多的是根據企業日益增長的訪問量需求,利用若干運維工具組合加上經驗思想,形成解決業務需求方案的階段,當然也不排除對運維工具進行二次開發以及視覺化展示運維資料的階段(開發軟體平臺),這個階段涉及的工具會非常多,幾乎市面好用的開源工具都在備選之列,在一線城市網際網路公司的薪資範圍15000-50000/月。
職業方向:高階資料庫工程師、運維開發工程師、運維經理、運維總監、技術總監
運維架構師:將多個工具組合,加上思想經驗,形成方案,用思想和經驗賺錢的階段。
技術的提升僅是量的積累,思想的提升才是質的飛躍!——老男孩
中等規模網站架構邏輯圖(老男孩教育Linux運維班期末叢集專案實戰)
大規模網站架構邏輯圖(老男孩教育Linux運維班大型叢集專案實戰)
1.4.3資料庫運維工程師
眾所周知,資料幾乎是所有企業的生命線,所以資料庫工程師的地位和薪水一般會比普通運維工程師高一些,主要工作內容就是保證資料庫資料的安全以及高效地為使用者提供各種服務。工作內容主要有:資料庫環境搭建、資料庫優化、資料庫備份恢復、資料庫叢集高可用、資料庫資料統計分析、資料庫資料視覺化展示等。
涉及到的工具從早期傳統的Oracle、Sql Server,到當前網際網路最火爆的MySQL,以及近年來崛起的NOSQL資料庫Redis,Mongodb,Hbase, Cassandra等,對於高階資料庫管理員、資料庫架構師,還需要網路、系統、開發(Python)等的能力。
資料庫工程師崗位細分:資料庫運維工程師、資料庫架構工程師、資料庫開發工程師。資料庫工程師需要有Linux運維工程師的基礎,否則難以成才。
資料庫工程師一線城市網際網路公司的薪資範圍15000-60000/月,例如:老男孩教育的兼職DBA講師,工資高達55K/月。
職業方向:運維開發工程師、資料庫主管、運維經理、運維總監
1.4.4運維開發工程師
運維開發工程師是介於運維工程師和開發工程師之間的崗位,簡單地說就是開發和運維工作相關的工具、軟體以及讓運維資料自動化、智慧化、視覺化的平臺產品(例如:CMDB平臺、跳板機平臺、監控平臺、自動化運維管理工具、視覺化Web展示等)。
由於是開發運維相關的工具和產品,因此運維開發工程師既需要運維工程師的能力,也需要開發工程師的能力,運維開發涉及的語言最多的就是Shell、Python、Go、Perl、Php等語言,其中以前三者居多。
運維開發工程師一線城市網際網路公司的薪資範圍15000-50000/月。
職業方向:運維架構師、轉開發方向、運維經理、運維總監
1.4.5運維經理/運維總監
運維經理和運維總監是運維崗位的管理崗,和其他的部門領導領導一樣,該崗位不但需要運維工程師、運維架構師的能力,同時還需要善於溝通、懂得團隊激勵、有培訓能力、說服力。
職業方向:CTO、CEO
特別說明下,運維總監崗位轉換CTO或CEO崗位還是機會蠻大的(很多網友覺得很困難,但老男孩就是個成功的例子,身邊也有多個成功的例子),但也不是隨隨便便就能轉成的,需要運維總監有較高的認知和格局,特別是運維能力以外的知識和格局,例如:需要具備產品、銷售、管理、財務、演講、說服力等綜合能力才行,這些都是需要此崗位的人要提前蓄積能力,如果只是本位主義,那確實轉CTO、CEO成功的機會渺茫,這也是很多運維經理和總監困惑但又無法自我突破的地方。
1.5 Linux運維崗位前景
行業前景:
1、網際網路、移動高速再持續高速發展,現在的繁榮場景僅僅是剛開始。
2、Linux的優秀特性作為網際網路後臺伺服器系統無可替代。
3、上網使用者量激增、網站等企業應用規模快速擴大,必然需要大量的運維人員,現在企業上網瀏覽網頁,購物,以後必然要靠網路賺錢,那麼運維的價值就來了,例子:攜程宕機10個小時,損失1200萬美金,未來企業的服務(賺錢的根)越來越重要,離開運維損失慘重,所以離不開運維工程師。
職位前景:
Linux運維工程師工資是多少呢(以一線普通IT公司舉例)?
打雜的工程師 5個月以內 月薪8000/月以下(不叫運維)
初中級Linux運維工程師 6-12個月 月薪8000-15000/月
高階Linux運維工程師 12-36個月 月薪15000-30000/月
Linux運維架構師 12-36個月 月薪15000-50000/月
老男孩身邊的絕大多數運維從起步階段就比開發工資高很多,而不是網上說的開發普遍比運維工資略高。李文星事件大家都應該知道,東北大學高材生,培訓畢業找JAVA工作才5000工資,還是釣魚騙子,5000的誘餌都能得逞,你就知道開發的入門工資到底有多高了?。
關鍵本質:
是否有發展前景,是否工資高,關鍵是在於人,而不在於具體哪個方向。
1.6 Linux運維崗位優勢
1.7 Linux學習路線圖
1.8 Linux運維人員面臨的問題與挑戰
1.8.1 雲端計算興起帶來的問題
雲端計算興起,解決了傳統的選機房、買代寬、買網路裝置、甚至系統安裝,企業使用者只要付費就可以用網路服務了,一些低端的運維工程師飯碗不保。但是,每個企業都有各自的特殊需求,因此優秀的運維工程師依然大量稀缺。
1.8.2 自動化和人工智慧帶來的問題
自動化和人工智慧對所有人都將會是一場前所有未有的革命,所有的低端重複工作崗位都會面臨挑戰,所有網友要不斷的努力多學知識,多掌握思想,多往機器無法做到的思想、方法、創造力、藝術力方向發展,才能勝出,老男孩教學中的大量核心思想就是帶領大家提升思想,而不僅僅學死的知識和技術。
1.8.3 運維工程師崗位的變革
部分運維工程師刻舟求劍,或者被動學習提升,沒有主動提升的意識或者意識不強。
IT方向,特別是開發和運維方向,在高階崗位裡,需要會的東西是重合的,即開發人員必須要會運維知識,運維人員也需要會開發知識,誰抱殘守缺,誰就被淘汰,非常多的運維人員長期拒絕學開發,只堅守自己的運維領域,這個認知和做法是錯的。
未來的合格運維和開發人員,一定是運維和開發都會的,只是各自的側重點不同,如今大家的行業崗位選擇,只是入口不一樣而已,學歷不夠高的朋友,從運維領域入手,容易上手、學會找到工作可以積累能力信心,如果直接學開發,就很可能從入門到放棄。李文星事件大家都應該知道,東北大學高材生,JAVA培訓畢業才5000工資,老男孩教育Linux運維培訓畢業學生平均月薪10-12K,是其他機構JAVA畢業生就業工資的2倍。
1.9 我們到底如何選擇?
1.9.1 技術方向分類及工作人群特點
1、開發方向
崗位:
Python開發工程師,Java開發工程師,Php開發工程師,移動端開發工程師,前端開發(H5)開發工程師,開發架構師。
人群:
尖子生、211/985學校的計算機相關專業的學生、碩士、博士
強調:大專、高中學歷的人,和他們競爭基本就是炮灰、墊背的。
2、運維方向
崗位:
網路管理員、網路工程師、運維工程師、運維開發工程師
人群:
不超過10%,大專,高中,初中和中專。
3、測試方向(放棄)
測試工程師,此方向建議放棄。
1.9.2 根據自身特點科學選擇適合的
開發方向對人的邏輯思維的門檻要求很高,從小到大10幾年學習都不好的網友(本科以下學歷),就儘量不要選擇開發方向了,1是自身學習條件和開發對人的基礎要求不匹配,2是你未來開發方向的競爭對手都是優秀的大學生、本科、碩士、博士。
除非個人對開發特別感興趣,或者大學學過計算機開發相關專業的課程,就是有一些特殊彌補的條件可以考慮下,三無網友,且跨行業轉行,學習力不夠強的就儘量別從開發入手了。
這部分人最佳的選擇方向就是運維方向(當然還有產品、銷售等方向),運維方向是一個特殊門類,大學幾乎沒有教學過相關課程,而且內容多而雜,對經驗的要求更高一些,不是學歷高學習能力高就能輕易學好的,需要較長時間和經驗的積累,因此,運維領域本科生可能不超過10%,基本都是專科和高中生,甚至是初中生還有,在這個領域裡競爭,學歷就不是問題了。
八路軍在弱小的時候,根本就不會和日本鬼子機械化部隊在平原戰爭,而是利用山地游擊戰、地道戰等。
老男孩老師從2000年開始就意識到這一點,所以果斷的從開發轉到運維領域,因此獲得了巨大成功,差異化發展自己很重要。
IT方向,特別是開發和運維方向,在高階崗位裡,需要會的東西是重合的,即開發人員必須要會運維知識,運維人員也需要會開發知識,誰抱殘守缺,誰就被淘汰,非常多的運維人員長期拒絕學開發,只堅守自己的運維領域,這個認知和做法是錯的。
未來的合格運維和開發人員,一定是運維和開發都會的,只是各自的側重點不同,如今大家的行業崗位選擇,只是入口不一樣而已,學歷不夠高的朋友,從運維領域入手,容易上手、學會找到工作可以積累能力信心,如果直接學開發,就很可能從入門到放棄。李文星事件大家都應該知道,東北大學高材生,JAVA培訓畢業才5000工資,老男孩教育Linux運維培訓畢業學生平均月薪10-12K,是其他機構JAVA畢業生就業工資的2倍。
1.9.3 運維人員的問題
目前國內大部分運維人員的層次相對開發人員比要低很多(前文已述),有部分運維人員在努力找到工作後,就墮落了。自我驅動、自我提升、自我素質素養的完善能力越來越弱了,本來就學歷、學習能力不行,還不持續執著努力,這是部分運維人員發展慢的核心原因,也是部分程式設計師不看好運維崗位的根本原因。
關鍵本質:運維和開發方向一樣都有發展前景,是否工資高,是否有發展,關鍵是在於人,而不在於具體哪個方向,人的問題只有自己才能解決,相對於開發崗位,運維人員層次、素質略低,薪水低也是必然。
1.9.4 結束語:為什麼現在企業招聘都喜歡招本科?
老男孩運維思想16:為什麼現在企業招聘都喜歡招本科,你仔細想過麼?
論專科、高中生和本科生區別?
本節思想就事論事:不針任何學歷個體,學歷從來都不是萬能的,論專科、高中生的如下能力相對本科生來說是缺失的:
1.基礎教育的知識看世界的能力缺失(例如:數學、外語)。
2.學習方法、學習能力缺失,這個最關鍵(老男孩教育幫你補)*****。
3.態度、素質、素養,為人處事能力缺失(老男孩教育幫你補)******。
知不足然後知進步,學歷不行無法暫時彌補,
如果把上述3點能力補上,你依然可以超越那些牛哄哄的本科和碩士,
因為,上述能力本科生其實也未必比你好多少,可能就好一丁點!
結論:找到個人差異,然後死磕加上傻逼似的堅持。
歸根結底,還是學歷高低導致的認知和能力的區別,雖然區別很弱,但也不是一時半會就能抹平的。
附錄:市場調研:老男孩教育兩大領導學科對應崗位統計
智聯招聘 統計日期2017.10.13 |
前程無憂統計日期2017.10.13 |
linux相關崗位數量 北京 13870 上海 6293 廣州 3191 深圳 4468 成都4088 杭州 3013 python相關崗位數量 北京 6933 上海 3051 廣州 1071 深圳 1778 成都992 杭州 1273 |
linux相關崗位 北京 11972 上海 14761 廣州 6988 深圳 10457 成都 3313 杭州 5390 python相關崗位 北京 5612 上海 7256 廣州 2310 深圳 3456 成都1236 杭州 2155 |
2017年最火的Python開發,崗位依然只有Linux崗位的一半,可見Linux運維前景還是很不錯的,起碼當下看是這樣。