運維不只僅是懂Linux就行,由於還有一大部分的Windows運維,最近看一個報道說,windows的服務器佔了47.71%。嗯,向windows運維人員致敬。固然咱們這篇文章不是說運維除了懂Linux,還要懂Windows,而是涉及運維的其餘方方面面。
環境部署
一開始這個世界是開發的,而後纔是運維的。
開發實現產品邏輯,將產品開發完成後,而後提交運維進行部署。此時容許就須要準備好部署環境,如部署在Linux服務器上,安裝相應的軟件,如Apache、Nginx、tomcat、JDK、PHP、MySQL等等。你不能只裝了軟件吧,還須要看看具體是哪一個版本,java 7 和java 8 的差異仍是有點的,php5和php7也有些語法不兼容。把軟件都安裝好了,就能夠上線了?仍是不行。還須要測試吧,那就還須要部署一套測試環境。有些時候,開發環境也是須要運維來部署的。
排錯和調優
事情歷來都沒有一路順風的。
上線沒多久,服務就502了,還不被老闆罵死。儘管你有一肚子的委屈,我只是個運維,代碼不是我寫的,爲何要我來背這鍋?!委屈歸委屈,服務訪問不了了,就是運維的事。儘快定位問題,解決問題纔是王道。怎麼來定位問題呢?最簡單直接的辦法就是看日誌,看系統日誌,看軟件相關的日誌,結合故障現象和經驗,快速的進行定位和恢復。而後就是總結經驗,吸收教訓,寫事故報告。OK,如今你知道,須要對系統環境須要進行必定的調優操做,再也不作背鍋俠。
相關技術: top, vmstat, iftop, awk, sed, sar, iostat, strace, ...
備份
作最好的計劃,作最壞的打算。
前不久的gitlab刪庫事件的教訓猶在眼前,丟失了幾小時的數據,雖然大部分的備份策略都失效了,但仍是挽救了幾小時前的一個備份,纔沒有形成更大的數據丟失和公司損失。咱們須要對設備進行備份冗餘,須要對數據庫進行備份及離線備份,須要對網站靜態進行備份冗餘,須要對機房進行備用,能作到雙活,那是更好的啦。
相關技術: rsync, crontab, lvm快照, mysqldump, extrabackup, 徹底備份, 差別備份, 增量備份, 離線異地備份, ...
高可用和集羣
沒有永垂不朽,咱們不能保證硬件24小時在線,但須要保障服務24小時在線。
出現故障後,若是作好高可用和冗餘,故障自動切換,移除故障節點,那樣也就保障了服務的實時在線。在老闆和用戶不知情的狀況下,悄麼的把故障處理好的,KPI算是保住了,獎金也許就會有的吧。
相關技術: F5, Nginx, LVS, HA-proxy, MHA, Zookeeper, 各類其餘分佈式集羣方案, ...
監控告警
運維工程師的第一次解放運動。
時刻擔憂網站掛掉,一年365天、每週7天、天天24小時,時刻保持精神高度緊張,就算你是神仙都會撐不住的。咱們須要一個機器來監督其餘的機器工做,咱們須要解放咱們本身。當有故障發生的時候,經過短信、微信、釘釘、郵件等等通知對應的運維工程師來處理,甚至是自動切換或摘除故障節點,而後咱們離線對故障節點進行問題排查。
相關技術:Zabbix, Nagios, Cacti, Prometheus, open-falcon, Ganglia, sar, ...
安全和審計
狂奔在互聯網的康莊大道上,不過有些人是在裸奔。
不安全的網絡環境和服務器配置,無異於在網絡世界裸奔,任何人均可以窺探你的隱私。你的應用是否作了SQL防注入?你的防火牆是否開啓?是否還在用root+密碼的方式登陸服務器?網站開啓了https麼?是否對系統操做進行審計?
相關技術: iptables, firewalld, waf, auditd, 各服務的正確配置, ...
自動化和DevOps
運維工程師的第二次解放運動。
偷懶是社會進步的第一動力。聰明的咱們怎麼會讓本身一直在重複枯燥的事情上浪費時間,裝系統、部署環境、發版本、批量操做,把這一切交給程序去實現吧,咱們須要的是享受生活。
相關技術: shell, python, go, rundeck, ansible, saltstack, puppet, chef, cobbler, fabric, ...
虛擬化和雲服務
正在發生的一場運維革命。
這場革命的發起人是買書的亞馬遜,這傢伙但願賣一切能夠賣的東西,包括本身閒置的服務器資源。如今國內的阿里雲和騰訊雲也發展得如日中天,他們幾乎提供了運維所須要的一切,甚至可讓一個公司再也不須要運維的崗位。你須要服務器,只須要幾秒鐘,就能夠建立一臺。你須要數據庫集羣,只須要鼠標點擊幾下,就能夠開通。
相關技術:docker, Moby, kubernetes, Xen, CoreOS, Hyper-V, KVM, ...
最後若是以爲所講的東西可以幫助到你,而且但願瞭解更多的知識,進行更詳細的深刻的學習,歡迎加羣632109190進行討論和學習。php