之前,運維人員都是做爲企業運轉幕後工做者,很難爲外界所知,甚至企業內部管理者也不曾真正關注過。現在,隨着互聯網的迅猛發展,愈來愈多的企業管理者認識到 IT 運維服務對企業運營和發展的重要性,更高的要求將運維人員推向了前臺。前端
之後,運維會更多的和業務綁定在一塊兒,根據業務來作開發和調整。那麼運維工程師須要具有哪些利器才能練就十八般武藝呢?python
服務器領域,掌握一些 Linux 操做系統的命令是必不可少的,還要至少熟悉一個內置編輯器:VI 或 Nano,至少熟悉一個發行版,好比 Centos、Debian、Ubuntu,要熟悉不少 Linux 運維的命令,以便出了問題知道如何分析服務器的運行狀態,對 LAMP 或 LNMP、FTP、DNS、SAMBA、EMAIL、NTP、DHCP 等 Linux 能夠支持的基礎協議要了解,熟悉這些協議的故障處理。linux
還須要掌握服務器一些虛擬化軟件技術,以及 KVM 的工做原理,包括在 CPU、內存、存儲、網絡等各個部分的虛擬化,最爲重要的是要掌握 KVM 的各類管理工具:OpenStack、CloudStack、OpenNebula、Zstack 等。ios
Shell 語言是從事運維工做必需要會的,一些簡單的系統管理 shell 腳本也是很饞常見的。另外一個使用到的語言就是當下比較火的 Python,程序效率高、語法簡潔清晰,能夠實現自動化運維。程序員
早在 DevOps 剛剛開始盛行的時候,Python 就是一個被寄予厚望的語言,由於大部分 DevOps 工具和實踐都須要用到 Python。雖然也有人嘗試用 Ruby 或者 NodeJS 構建 DevOps 工具,然而都沒有 Python 所構建的工具流行。shell
隨着 Python 在大數據、人工智能、區塊鏈、微服務以及 Docker 中的發展,能夠預見 Python 在往後的領域仍然會發揮重要的做用。數據庫
服務器運行狀況實時反饋,徹底依賴有一個好的監控工具,一些常見的監控、告警工具備 Nagios 、 ganglia、zabbix、onealert 等。發現問題能夠第一時間及時有效的處理,避免更大的損失。對於初學者,Nagios 簡單直觀更容易上手,可是 zabbix 界面更美觀,同時因爲功能多上手也更難。對於企業的監控應用來講,二者都能實現大規模監控,都足以知足用戶需求,沒有絕對的孰好孰壞。Zabbix 是商業軟件開源,Nagios 是免費軟件插件組合多。編程
這裏主要介紹 zabbix 的搭建環境:安全
要想搭建一個 Zabbix 的工做環境,須要從服務器入手。與服務器通訊,管理員須要使用一個 Zabbix 前端界面,與 Zabbix 服務器和數據庫進行通訊。三個關鍵 (界面、服務器和數據庫) 能夠安裝在同一臺服務器上,可是若是你擁有一個更大更復雜的環境,將它們安裝在不一樣的主機上也是一個選項。Zabbix 服務器可以直接監控到同一網絡中的設備,若是其餘網絡的設備也須要被監控,那還須要一臺 Zabbix 代理服務器。服務器
互聯網企業的數據庫以 MySQL 爲主 ; 部分金融、證券、銀行、政企的數據庫會使用 Oracle; 傳統企業的老系統會涉及 SQL Server。
StackOverflow 對數據庫受歡迎程度進行了調查,下面是對不一樣級別開發者進行調查後的統計結果:
最受歡迎的是 MySQL,接受調查的開發者中近一半的都使用 MySQL(44.3%),NoSQL 可能不在大多數程序員的需求範圍內。
前兩天,SQL Server 2017 正式發佈,已由原來固守的支持 Windows 的策略,大步地轉向了支持 Linux ,Docker 容器和 Windows 的策略。
運維更多的就是和業務綁定在一塊兒,根據業務來作開發和調整。根據公司 業務需求,選好框架,好比 Nagios, Puppet,SaltStack,Docker 等,這方面的基礎搭建要求很是高,須要考慮如何作基礎構建,才能達到高度模板化、自動化等。
Docker 能夠實現 Immutable Infrastructure, 能夠更好的保證應用交付的一致性,尤爲是對大規模微服務應用。可是對於一些傳統軟件的運維,Puppet 等工具也有本身的優點。能夠針對狀況選擇,或者將二者結合起來。
保證賬號 / 私鑰的安全
本着負責的態度和原則
現現在,要求運維人員會運維、懂開發、精通數據庫、熟悉網絡,堪稱全才啊。將來 3 到 5 年,linux 運維 +linux 架構 +python 開發這三項技術是運維人員必備的技術。