您好,登錄后才能下訂單哦!
最近嘗試安裝了一下salt statck就對自動化工具感興趣了點所以找了一些資料入門下面總結一下希望和看到這篇文章一起探索自動化運維的世界。 --- 小 Q
------------------------------------------------------------------------------------------------------
自動化運維就是為減少重復又枯燥的工作而建立起來的流程更能減少失誤及時報警并恢復等等
但也要記住工具始終是工具不能過分依賴
傳統的運維
傳統運維效率低大多工作人為完成 傳統運維工作繁瑣容易出錯 傳統運維每日重復做相同的事情 傳統運維沒有標準化流程 傳統運維的腳本繁多不能方便管理 隨著it行業發展及云計算的普及企業架構不斷地擴張這種情況下急需擺脫人工操作實現自動化。
自動化運維
安裝自動化 部署自動化 監控自動化 發布自動化 升級自動化 安全管控自動化 優化自動化 數據備份自動化
自動化前三階段
純手工 僅依靠人力手工部署和運維
腳本階段通過編寫大量腳本進行軟件部署和運維
工具階段借助三方工具高效、方便的部署和運維。
目前Linux下比較好用的開源工具如下圖趨勢具體介紹參考鏈接
http://www.open-open.com/news/view/f6a20c
=============================================================
下面我們只比較相對來說比較常用的自動化運維工具puppet saltstatck ansible
Puppet www.puppetlabs.com
基于rubby開發c/s架構支持多平臺可管理配置文件、用戶、cron任務、軟件包、系統服務等。 分為社區版免費和企業版收費企業版支持圖形化配置。
Saltstack中國用戶組 www.saltstack.cn
基于python開發c/s架構支持多平臺比puppet輕量在遠程執行命令時非常快捷配置和使用比puppet容易能實現puppet幾乎所有的功能。
Ansible www.ansible.com
更加簡潔的自動化運維工具不需要在客戶端上安裝agent基于python開發。可以實現批量操作系統配置、批量程序的部署、批量運行命令。
【語言的比較】
puppet和chef 開發語言是rubysaltstatck和ansible 開發語言是python。
兩種語言各有優勢不過依現在的形式來看我還是很傾向于python語言開發出的工具。
1、Ruby的優點
1) Ruby是一種動態面向對象語言具有很多強大的面向對象的高級特性Ruby更加貼近英語的自然語言描述和表達能力很好語法擴展能力很強
2) 擁有功能強大和完善的標準類庫擁有良好的交互式運行環境:IRB方便進行開發和調試擁有一個完善的Web開發框架Rails
3) 采用虛擬機實現跨平臺支持垃圾回收
2、Python的優點
1) Python開發人員的背景豐富多彩陣營規模很大 Python的各種lib比Ruby多
2) 和Ruby相反Python的哲學是“做一件事情有且只有一種方法”There should be one-- and preferably only one --obvious way to do it.。Ruby的信徒會覺得這樣非常boring但是我覺得這一點減輕了人們在開發時的認知負擔和選擇成本對于提高開發效率是很有幫助的。同時這個特點使得不同的人用Python寫出來的代碼不至于相差很大這對于團隊合作也是很有用的
3) Python解釋器特別是CPython目前比現有的Ruby解釋器快很多
4) 大數據方面人工智能圖像處理GUI等方面python的積累還是很厚的。很少見ruby的身影
5) 強大的數據結構。默認安裝的Python開發環境已經附帶了很多高級數據類型如列表、元組、字典、集合、隊列等無需進一步編程就可以使用這些數據類型的操作。使用這些數據類型使得實現抽象的數學概念非常簡單。
6) 插件齊全可以完成絕大部分的程序設計任務。
【性能的比較】
因為現在大家都比較傾向于python開發的工具所以對saltstatck和ansible工具進行比較
Ansible基于SSH協議傳輸數據Saltstack使用消息隊列zeroMQ傳輸數據.
ZMQ是什么
類似于Socket的一系列接口但區別是普通的socket是端到端的1:1的關系,而ZMQ是NM 關系
socket 是什么
socket就是套接字是源IP地址和目的IP地址以及源端口號和目的端口號的組合稱為套接字。
【配置的比較】
saltstatck 跟zabbix類似需要在每臺機器上安裝客戶端配置稍麻煩
ansible不需要客戶端只需要在配置服務端即可
但是saltstatck有一個salt-ssh 功能可以輕易解決上述客戶端安裝麻煩的問題
(參考:http://www.0550go.com/automation-deployment/saltstack/saltstack-salt-ssh.html )
而且ansible歲不需要客戶端但是卻需要python版本在2.6+。
【個人的選擇】
結論一在超大量服務器要求高效時選擇saltstatck
結論二在服務器數量少時選擇ansible配置簡單
主要是根據企業服務的需求還有自身的喜好總之精通一門就好
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。