Ansible自动化运维企业实际应用场景分析
企業實際應用場景分析
Dev開發環境
使用者:程序員
? 功能:程序員個人的辦公電腦或項目的開發測試環境,部署開發軟件,測試個人或項目整體的BUG的環境
? 管理者:程序員
測試環境
使用者:QA測試工程師
? 功能:測試經過Dev環境測試通過的軟件的功能和性能,判斷是否達到項目的預期目標,生成測試報告
? 管理者:運維
? 說明:測試環境往往有多套,測試環境滿足測試功能即可,不宜過多
? 1、測試人員希望測試環境有多套,公司的產品多產品線并發,即多個版本,意味著多個版本同步測試
? 2、通常測試環境有多少套和產品線數量保持一樣
預發布環境
? 使用者:運維
? 功能:使用和生產環境一樣的數據庫,緩存服務等配置,測試是否正常
發布環境
? 包括代碼發布機,有些公司為堡壘機(安全屏障)
使用者:運維
? 功能:發布代碼至生產環境
? 管理者:運維(有經驗)
? 發布機:往往需要有2臺(主備)
生產環境
使用者:運維,少數情況開放權限給核心開發人員,極少數公司將權限完全開放給開發人員并其維護
? 功能:對用戶提供公司產品的服務
? 管理者:只能是運維
? 生產環境服務器數量:一般比較多,且應用非常重要。往往需要自動工具協助部署配置應用
灰度環境
? 屬于生產環境的一部分
? 使用者:運維
? 功能:在全量發布代碼前將代碼的功能面向少量精準用戶發布的環境,可基于主機或用戶執行灰度發布
? 案例:共100臺生產服務器,先發布其中的10臺服務器,這10臺服務器就是灰度服務器
? 管理者:運維
? 灰度環境:往往該版本功能變更較大,為保險起見特意先讓一部分用戶優化體驗該功能,待這部分用戶使用沒有重大問題的時候,再全量發布至所有服務器
程序發布
程序發布要求:
不能導致系統故障或造成系統完全不可用
不能影響用戶體驗
預發布驗證:
新版本的代碼先發布到服務器(跟線上環境配置完全相同,只是未接入到調度器)
灰度發布:
基于主機,用戶,業務
發布路徑:
/webapp/tuangou
/webapp/tuangou-1.1
/webapp/tuangou-1.2
發布過程:
自動化灰度發布:
- 腳本
- 發布平臺
自動化運維應用場景
- 文件傳輸
- 應用部署
- 配置管理
- 任務流編排
常用自動化運維工具
- Ansible:python,Agentless,中小型應用環境
- Saltstack:python,一般需部署agent,執行效率更高
- Puppet:ruby, 功能強大,配置復雜,重型,適合大型環境
- Fabric:python,agentless
- Chef:ruby,國內應用少
- Cfengine
- func
同類自動化工具GitHub關注程度(2016-07-10)
| Ansible | 1387 | 17716 | 5356 | 1428 |
| Saltstack | 530 | 6678 | 3002 | 1520 |
| Puppet | 463 | 4044 | 1678 | 425 |
| Chef | 383 | 4333 | 1806 | 464 |
| Fabric | 379 | 7334 | 1235 | 116 |
本文鏈接:http://www.yunweipai.com/34630.html
總結
以上是生活随笔為你收集整理的Ansible自动化运维企业实际应用场景分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ansible自动化运维应用场景分析
- 下一篇: Ansible 介绍和架构、特性