一 自動化運維python
發展階段web
1.傳統運維 命令行 批量腳本 特色:資源少機器少 幾臺機器 規模 數據量少 運維工做簡單 缺點:效率低 重複工做 沒法跨平臺 資源分散 無標準 2.自動化運維 (把運維平常須要登陸機器的操做,徹底web化) 一組將靜態的設備結構轉化爲智能的根據IT服務需求動態彈性響應的策略,目的就是實現IT運維的質量,提升效率,下降成本 優勢: 高效率 重複的工做由機器作 平臺化 任務自動執行 監控 日誌管理 標準化 流程化 業務流程 部署流程 代碼上線
自動化運維思想編程
管理體系化
管理機器 代碼 業務
工做流程化
標準
人員專業化
懂運維 懂編程 懂業務
任務自動化
環境定義自動化 部署自動化 監控自動化
現階段自動化運維缺點服務器
1. 數據沒法共享:A公司和B公司 沒法共享
2. 沒法主動式發現(預測)問題
3. 部署成本高
4. 標準不統一
DevOps框架
DevOps(Development和Operations)一組過程、方法與系統的統稱,用於促進開發(應用程序/軟件工程)、技術運營和質量保障(QA)部門之間的溝通、協做與整合。它的出現
是因爲軟件行業日益清晰地認識到:爲了按時交付軟件產品和服務,開發和運營工做必須緊密合做
DevOps是開發(軟件工程)、技術運營和質量保障(QA)三者的組合
自動化運維工具:運維
二 Ansiblessh
Ansible自動化運維工具,基於Python開發,集合了衆多運維工具的優勢,實現了批量系統配置、批量程序部署、批量運行命令等功能。ansible是基於模塊工做的,自己沒有批量部署的能力。真正具備批量部署的是ansible所運行的模塊,ansible只是提供一種框架工具
特色:spa
1. no agents:
不須要在被管控主機上安裝任何客戶端 2. no server:
無服務器端,使用時直接運行命令便可 3. modules in any languages:
基於模塊工做,可以使用任意語言開發模塊 4. yaml,not code:
使用yaml語言定製劇本playbook; 5. ssh by default:
基於SSH工做; 6. strong multi-tier solution:
可實現多級管理
優點:命令行
1. 輕量級,無需在客戶端安裝agent,更新時,只需在操做機上進行一次更新便可
2. 批量任務執行能夠寫成腳本,並且不用分發到遠程就能夠執行
3. 使用python編寫,維護更簡單
4. 支持sudo
工做原理:
工做流程: