高級運維工程師的打怪升級之路

人生就像一場遊戲,這場遊戲給咱們帶來了的許多困難,可是咱們爲了夢想,爲了家人,爲了本身不斷奮鬥着,努力工做。mysql

今天就讓我帶着你們一塊兒回顧高級運維工程師打怪升級之路。ios

運維工程師在剛入行階段是一很苦逼的,可能幹着修電腦、掐網線、搬機器的活,顯得沒地位!時間也很碎片化,各類零碎的雜事圍繞着你,也很難體現我的價值,漸漸的對行業很迷茫,以爲沒什麼發展前途。面試

這些枯燥無味工做的確會令人匱乏!技術是枯燥無味的,這些基本工做並不是是多餘的,這些經驗會對後期的運維工做帶來必定的幫助。因此在這個時期必定要保持積極向上的心態,持續的學習,爭取找一個更鍛鍊人的工做!sql

職業發展

技術專家

發展規劃:初中級工程師 -> 高級工程師 -> 架構師 -> 專家數據庫

適宜人羣:比較喜歡挑戰,熱愛技術,有較強鑽研精神,在某一領域有深刻的理解,性格比較內向。編程

技術管理

發展規劃:初中級工程師 -> 高級工程師 -> 主管/經理 -> 總監 -> CTO(首席技術官)後端

適宜人羣:技術知識面廣,有一些管理思惟,善於交際,表達溝通能力強,常常關注行業內動態和主流技術。數組


初級

主要工做

  • 修電腦,設備巡檢
  • 服務器上下架
  • 網絡服務部署
  • 網站平臺搭建與維護

一、Linux基礎

剛開始階段須要熟悉Linux操做系統安裝,目錄結構、啓動流程等。緩存

二、系統管理

主要學習Linux系統,生產環境中基本都在字符界面完成工做,因此要掌握經常使用的幾十個基本管理命令,包括用戶管理、磁盤分區、軟件包管理、文件權限、文本處理、進程管理、性能分析工具等。安全

三、網絡基礎

OSI和TCP/IP模型必定要熟悉。基本的交換機、路由器概念及實現原理要知道。

四、Shell腳本編程基礎

掌握Shell基本語法結構,能編寫簡單的腳本便可。


中級

主要工做

  • 集羣網站平臺搭建
  • 數據庫基本管理
  • 監控系統搭建
  • 腳本化工做

一、網絡服務

常見的網絡服務要會部署,好比vsftp、nfs、samba、bind、dhcp等。
代碼版本管理系統少不了,能夠學習下主流的GIT,能部署和簡單使用就能夠了。
常常在服務器之間傳輸數據,因此要會使用:rsync和scp。
數據同步:inotify/sersync。
重複性完成一些工做,可寫成腳本定時去運行,因此得會配置Linux下的定時任務服務crond。

二、Web服務

每一個公司基本都會有網站,能讓網站跑起來,就須要搭建Web服務平臺了。
若是是用PHP語言開發的,一般搭建LNMP網站平臺,這是一個技術名詞組合的拼寫,分開講就是得會部署Nginx、MySQL和PHP。
若是是JAVA語言開發的,一般使用Tomcat運行項目,爲了提升訪問速度,可使用Nginx反向代理Tomcat,Nginx處理靜態頁面,Tomcat處理動態頁面,實現動靜分離。
不是會部署這麼簡單,還要知道HTTP協議工做原理、簡單的性能調優。

三、負載均衡器

單臺服務器終究資源有限,抵抗高訪問量確定是沒法支撐的,解決此問題最關鍵的技術就是採用負載均衡器,水平擴展多臺Web服務器,同時對外提供服務,這樣就成倍擴展性能了。負載均衡器主流開源技術有LVS、HAProxy和Nginx。必定要熟悉一兩個!

四、數據庫

數據庫選擇MySQL,它是世界上使用最爲普遍的開源數據庫。學它準沒錯!
也要會一些簡單的SQL語句、用戶管理、經常使用存儲引擎、數據庫備份與恢復。
想要深刻點,必須會主從複製、性能優化、主流集羣方案:MHA、MGR等。
NoSQL這麼流行固然也少不了,學下Redis、MongoDB這兩個就行了。

五、監控系統

監控必不可少,是及時發現問題和追溯問題的救命稻草。能夠選擇學習主流的Zabbix、Prometheus開源監控系統,功能豐富,能知足企業級監控需求。監控點包括服務器硬件、服務器性能、API、業務、PV/UV、日誌等方面。
也能夠弄個儀表盤展現幾個實時關鍵的數據,好比Grafana,會很是炫酷。

六、日誌分析系統

日誌也很重要,按期的分析,可發現潛在隱患,提煉出有價值的東西。
主流日誌系統:ELK Stack
學會部署使用,能分析日誌並可視化,方便故障排查。

七、安全防範

安全很重要,不要等到系統被了,再作安全策略,此時已晚!因此,當一臺服務器上線後應立刻作安全訪問控制策略,好比使用iptables限制只容許信任源IP訪問,關閉一些無用的服務和端口等。
一些常見的
類型必定得知道啊,不然怎麼對症下藥呢!好比CC、DDOS、ARP等。

八、Shell腳本編程進階

Shell腳本是Linux自動完成工做的利器,必須得熟練編寫,因此得進一步學習函數、數組、信號、發郵件等。
文本處理三劍客(grep、sed、awk)得玩6啊,Linux下文本處理就期望它們了。

九、Python/Go開發基礎

Shell腳本只能完成一些基本的任務,想要完成更復雜些的任務,好比調用API、多進程等。就須要學高級語言了。
Python是運維領域使用最多的語言,簡單易用,學它準沒錯!此階段掌握基礎就能夠了,例如基本語法結構、文件對象操做、函數、迭代對象、異常處理、發郵件、數據庫編程等。


高級

主要工做

  • 億級網站架構設計
  • 性能優化
  • 容器化落地
  • 大規模自動化運維
  • 平臺化工做

一、Web靜態緩存

用戶老喊着訪問網站慢,看看服務器資源還很富裕啊!網站訪問慢也許不是服務器資源飽和致使的,影響因素不少,例如網絡、轉發層數等。
對於網絡,存在南北通訊問題,之間訪問會慢,這個可使用CDN解決,同時緩存靜態頁面,儘量將請求攔截在最上層響應,減小後端請求和響應時間。
若是不用CDN,也可使用Squid、Varnish、Nginx這樣的緩存服務實現靜態頁面緩存,放到流量入口處。

二、集羣

單臺服務器終究資源有限,抵抗高訪問量確定是沒法支撐的,解決此問題最關鍵的技術就是採用負載均衡器,水平擴展多臺Web服務器,同時對外提供服務,這樣就成倍擴展性能了。負載均衡器主流開源技術有LVS、HAProxy和Nginx。必定要熟悉一兩個!
Web服務器性能瓶頸解決了,數據庫更爲關鍵,仍是採用集羣,就拿MySQL來講,能夠一主多從架構,在此基礎上讀寫分離,主負責寫,多從負責讀,從庫可水平擴展,前面再來個四層負載均衡器,承載千萬級PV,妥妥的!
高可用軟件也得會,避免單點的利器,主流的有Keepalived、Heartbeat等。

隨着業務擴展,網站圖片愈來愈多!NFS共享存儲支撐不過了,處理很慢!上分佈式文件系統,並行處理任務,無單點,高可靠,高性能等特性,主流的有FastDFS、MFS、HDFS、Ceph、GFS等。初期的話我建議學習下FastDFS,能知足中小規模需求。

三、容器化

硬件服務器資源利用率很低,甚是浪費!能夠把空閒多的服務器虛擬化,弄成不少個的虛擬機,每一個虛擬機就是一個完整的操做系統。能夠很大程度提升資源利用率。主流私有云平臺實現:KVM+OpenStack
虛擬機做爲基礎平臺還能夠,但應用業務彈性伸縮也過重量了吧!啓動好幾分鐘,文件又這麼大,快速擴展太費勁了!
好說,上容器,容器主要特色就是快速部署和環境隔離。一個服務封裝到鏡像中,分分鐘鍾可建立幾百個容器。
主流的容器技術非Docker莫屬了。
固然,生產環境單機Docker大多數狀況下是沒法知足業務需求的,能夠基於Kubernetes構建容器平臺,集羣化管理容器,造成一個大的資源池,爲基礎架構提供有力的支撐。

四、自動化運維

反反覆覆重複的工做,不但提升不了效率,價值也得不到體現。
一切運維工做標準化,例如環境版本、目錄結構、操做系統等統一。在標準化基礎上才能更方面的自動化,點點鼠標或者敲幾個命令便可完成一項複雜的工做任務,爽哉爽哉!
所以,全部的操做盡量自動化,減小人爲失誤,提升工做效率。
主流服務器集中管理工具:Ansible、Saltstack
持續集成工具:Jenkins、Gitlab

五、Python開發進階

能夠再深刻學習下Python開發,掌握面向對象編程。
最好也掌學習一個Web框架開發網站,例如Django、Flask,主要是開發運維管理系統,將一些複雜的流程寫到平臺中,再集成集中管理工具,可打造一個屬於運維本身的管理平臺。

七、性能優化

只會部署是遠遠不夠的,性能優化能最大化提高服務承載量。
這塊也是比較難的,也是高薪的關鍵點之一,爲了錢也得下點功夫學習啊!
能夠從硬件層、操做系統層、軟件層和架構層維度展開思考。

小結

武器類型 武器名稱
文本處理 grep、sed、awk
數據傳輸 Rsync、Scp、Inodify/Sersync
進程管理 Supervisor
性能分析 top、free、df、iftop、iostat、vmstat、dstat、sar、sysdig
網絡服務 vsftp、nfs、samba、bind、dhcp、postfix
Web服務 Apache、NginxTomcat、JBoss、Resin
數據庫 MySQL、MariaDB、PostgreSQL,Oracle
NoSQL Redis、MongoDB
消息中間件 RabbitMQ、ActiveMQ
版本管理 SVN、Git
靜態緩存 Squid、Varnish、Nginx
負載均衡 LVS、HAProxy、Nginx
高可用軟件 Keepalived、Heartbeat、DRBD、corosync+pacemaker
集中管理工具 Ansible、Saltstack、Chef、Puppet
虛擬化 KVM、Xen、Openstack、Cloudstack
容器化 Docker、Kubernetes、Rancher、Openshift
自動裝機 Kickstart、Cobbler
抓包分析 Tcpdump、Wireshark
持續集成 Jenkins、Gitlab
MySQL代理 Altas、Cobar、Mycat
壓測 ab、fio、sysbench、mysqlslap、Jemter
日誌系統 ELK Stack、Graylog
監控 Zabbix、Prometheus、Open-falcon
分佈式文件系統 Ceph、GlusterFS、FastDFS

金三銀四,找工做難?

「金三銀四「 跳槽季,準備好換工做了吧!內心想得美滋滋,現實卻殘酷得赤裸裸,投了不少簡歷,面試率低的可憐,都說金三銀四,可爲何我換工做就這麼難呢?

根據阿良經驗,主要緣由以下:

  1. 簡歷不夠明確清晰(10%)
  2. 沒掌握面試技巧(10%)
  3. 選擇工做的態度(10%)
  4. 不明確本身的價值(5%)
  5. 專業技能不足(55%)
  6. 學歷(5%)
  7. 行業不景氣:停招、裁人!(5%)

意識

一、堅持

學習是一個很漫長的過程,是咱們每一個人須要用一輩子去堅持的事業。
貴在堅持,難在堅持,成在堅持!

二、目標

沒有目標的不叫工做,沒有量化的不叫目標。
每到一個階段,制定一個目標。
好比:先定一個能達到的小目標,掙它一個億!

三、興趣

若是你熱愛這個行業,那它就不僅是一份工做。

若是你不熱愛這個行業,多是作很差,也可能堅持不超過2年,由於你內心上過不去。

方向對了,就不怕路遠了!

詳細細節,請查看視頻:

雲盤地址:https://pan.baidu.com/s/1WW4DCmiEJ1W_1epHj8SWmQ
在線版:https://ke.qq.com/course/266656

高級運維工程師的打怪升級之路

相關文章
相關標籤/搜索