足球资料库数据/孙祥/nba五佳球/足球直播哪个平台好 - cctv5今日现场直播

首頁 > 知識庫 > 正文

帶你揭開運維自動化的面紗:Ansible業務自動化之路(1)
2016-02-20 19:33:59   來源: 李松濤 馬哥Linux運維    評論:0 點擊:

本文作者2008年開始接觸linux,之后一起從事linux相關工作,先后就職于上海woyo、騰訊、匯聯、諾亞等企業,馬哥教育特約講師。本次分享帶來了《30分鐘帶你揭開運維自動化的面紗-Ansible業務自動化之路》,重點是跨“種族”業務發布的自動化,供大家參考!

第二章:跨”種族”業務發布自動化之路

開始之前,先為小白們普及下發布流程。

\ 

如圖為簡單的發布流程,其中涉及到運維操作的有8步。相對腳本化,Ansible更多程度上:1.降低了上手難度;2.保障了自動化質量;3.健壯了可擴展性。

舉個例子:

PHP/Java項目的發布就底層而言有非常大的不同和實現機制,同時由于開發同學多樣化需求,針對多套環境如何保障運維發布操作單一化、簡單 化,Ansible的實現方式非常針對性的考驗運維同學思維深度和全面性。Ansible在設計之初側面幫了運維同學不少忙,你會發現在運用的過程中會不 自主的靠著Ansible的“規則”來,當然這些規則對運維架構框架是有利的。下面的例子簡單來分析看看:

\

如圖為我們當前業務的發布方式,現在還處于腳本自動化階段,比較lower。 

化零為整

Ansible一次完整的發布可以非常靈活的按模塊拆分,場景:

針對測試環境不希望人工參與的背景下:化零為整,一鍵部署。

\

化整為零 

針對正式生產環境操作繁多變更不定的背景下:化整為零

Ansible的模塊化 & tags 功能輕松駕馭

\

有朋友當然會反問,上面我寫個腳本輕松搞定。 

確實,我們后面會講到,請稍安勿躁!

運維同學SHELL腳本是必備技能,相比較devops而言,SHELL腳本的學習成本和上手難度幾乎為零。再回頭看Ansible的發布方式,結合SHELL腳本的參數調用,有沒有覺得似曾相識,改變一個人的習慣何其難,所以Ansible playbook簡單是運維的福音。

Yml語法清晰明了,規則簡單,99%的功能都是一行命令即可實現。Ansible自帶冥等判斷機制也省去運維不省邏輯判斷傷腦費心的人腦運算。

寫playbook的過程就是一個思維整理的過程。

太過復雜的思維在寫的過程中會無意中被簡化。

好的,上面的內容大家可以先消化1min。

第三章: 不同“種族”業務Ansible的處理方式

以PHP/JAVA多項目為例,有如ppt所示問題:

\ 

公司現有PHP項目近10個,JAVA項目也納入運維管理,后期也可能不斷融入新項目,如何保證1.現有操作習慣不變改變;2. 簡單一致的發布操作。

越來越具挑戰。

起初希望通過git命名規范來實現簡化發布操作,但隨之發現不可能,原因如下:1.影響合作部門已有工作習慣;2.約束力太多阻力也在不斷加大;3.溝通成本大;4.非核心功能開發支持力度不及自力更生來的快。

最終方案:

多一層判斷和roles模塊,通過git的變量名來定義git拉取地址。

這個用ansible來實現簡單是易如反掌。

如此以來php,java均可在最大化不更改運維操作習慣的前提下完成業務的(工具)自動化發布。

\

優點: 

◆溝通成本小

◆約束點少

缺點:

◆冗余模塊變多

◆運維維護成本大,復雜程度增加。

◆來簡單對比下代碼差異化程度。

\

可以看出差異化地方只在執行的服務器和進程管理的各類。 

相關熱詞搜索:Ansible linux 自動化運維

上一篇:火熱的DevOps,你了解多少
下一篇:物超所值的七大Windows安全工具

分享到: 收藏