官术网_书友最值得收藏!

  • Ansible權威指南
  • 李松濤 魏巍 甘捷
  • 3391字
  • 2019-01-04 06:58:27

前言

為什么要寫這本書

首次接觸Ansible是緣于一次杭州出差。當時接觸互聯網3年左右,正是技能的儲備階段,看到Ansible這樣的新興自動化工具不免充滿好奇。當時騰訊的藍鯨還沒有出來,但abs腳本和ijobs自動化體系已經應用多年,并在整個IEG中心廣泛應用。大型企業講究分工精細化,各司其職,強大的自我研發能力。但伴隨業績和KPI的壓力,很多人其實是沒有多余精力關注外界技術領域的發展,尤其是游戲行業,行業自身屬性對開發人員的技術能力要求非常高,前沿開源技術與業務特殊性需求并不能很好地融合,致使多數工具依賴于開發人員,整體運維體系以應用、發現、維護、服務方向為主,底層運維沒有技術能力和資源協調能力為業務創造直接價值。高級運維和領導層更需著眼于高層面的業務拓展和整體運維體系規劃,所以多數互聯網前沿技術以技能儲備的方式被引入,待機蓄力而發。

后來藍鯨和ijobs融合后,在強大技術力的驅動下,運維的技術能力進一步淡化,對應的業務能力、需求發現、服務意識被強化,并提出更高的要求,DevOps的崗位定義更加明確。藍鯨平臺類似于蘋果公司的App Store,是一個載體,只要有開發能力就可以編寫自己的應用。只要應用的通用性足夠高,所有業務都可以下載使用,而通用性則是開源技術最講究的點。同時開源工具也是非常好的學習對象,往往經過簡單的修改即可變成自己的產品,因此運維對開源技術的關注度越來越高,而筆者也正是在這樣的背景下接觸到Ansible。

對比主流的自動化工具SaltStack、Puppet等,Ansible給人最直觀的感覺就是比較簡單,而這也是筆者選擇使用Ansible最重要的理由之一。因為筆者一直認為每個人精力有限,如騰訊早期的Ops技能培訓希望個人同時兼備Ops和Dev的戰略,但直到現在身邊真正同時具備Dev和Ops能力于一身的人鳳毛麟角。類似于Puppet和SaltStack這樣的工具,高級使用均需涉及諸如Class類開發這樣的技能才可運用,而初級運維和沒有開發經驗的運維掌握面向對象技術去開發高級應用確實沒有那么妥當。Ansible早期的官網也是以Stupid Simple來形容其簡單程度的,其前沿的去中心化思想和近期被RedHat(紅帽)官方收購的消息,也更堅定了筆者使用Ansible的想法。

但當時Ansible在國內公司應用的并不多,且其官網屢屢被破解,使得雖然自動化的理念早已家喻戶曉,但國內Ansible的文檔和社區卻始終不溫不火。無獨有偶,筆者發現騰訊也開始在自家藍鯨平臺使用Ansible,并結合業務進行了深入應用,所以就產生了編寫一本Ansible書籍的想法。因此,也有了后來的Ansible官網中文翻譯團隊和本書寫作團隊,再后來也就有了Ansible中文權威網站、運維部落微信公眾號、Ansible部落微信群、Ansible中文權威QQ群。更為幸運和開心的是,在堅持的過程中也遇到了一批自動化工具愛好者。http://www.ansible.com.cn/將Ansible官網中大家日常常用的部分功能翻譯成中文,所以起名為Ansible中文權威指南。而后Google、Baidu的關鍵字搜索結果僅次于官網,這使得我們的信心大增。這里要特別感謝馬哥Linux團隊成員的薛定諤的章魚、guli、以馬內利、黃博文、coocla、云中鶴、stanley,這些朋友們歷經數月,辛勤翻譯多達5萬字文檔。

在一次和朋友聊天中,朋友問到你們Ansible已經應用這么久,同時也有自己獨立開發的界面,現在國內Ansible的勢頭雖高,但文檔和書籍欠缺,何不把你們的經驗總結出來分享給更多朋友呢。我當時一怔,但也有擔心:一方面精力不支,另一方面老婆懷孕,我擔心生活工作不能兼顧。后來在老婆的鼓勵下,經肖力和黃博文兄的引薦認識了華章公司的高編輯,正式開始書籍的編寫之旅。在這個過程中,很高興又有新的伙伴騎行牛人魏巍和Python能力出眾的甘捷陸續加入,也使得個人的壓力和精力有更多的釋放,書籍的內容也有更完整、豐富的互補。在整個寫書過程中我們也在成立的運維部落、Ansible公眾號和QQ群,定期分享書籍內容,收集用戶反饋和體驗。到目前為止,QQ群近1300人,公眾號也有2000多人在關注。群中也專門請行業應用經驗豐富的專員來解答Ansible的技術類問題,同時成立專門的QA站點,收集用戶QQ群問題處理方案,并對積極回答問題勇于分享的朋友定期寄送禮品以示鼓勵。團隊很高興也很幸運能通過這樣的方式為國內Ansible的發展貢獻自己的力量。

本書特色

從技術層面講,運維自動化理論及思想在國內日趨成熟,自動化工具更是遍地開花。現在運維不再糾結于沒有工具可用,而是惆悵于選擇何種工具。而Ansible正是在這樣的大環境下產生,并且迅速脫穎而出。Ansible去中心化思想和“簡單就是一切”的原則也使其在運維圈快速流行。但正如所有事物一樣,入門簡單并不代表深入簡單,這也正是本書的意義所在。

從適合讀者閱讀和掌握知識的結構安排上講,本書分為“基礎入門篇”“高級進階篇”“Web自動化開發篇”。本書在介紹新技術應用的同時更注重讀者對技術的消化和接受程度,整個過程都秉承原理→練習→實戰的思路,讓讀者輕松逐步深入,不會有生硬和突兀感。在介紹Ansible的核心技術應用Playbook章節更是不惜用50頁左右的篇幅,通過企業實際案例講解分析Playbook的使用技巧和經驗心得。在Ansible企業應用實戰相關章節,詳細介紹Ansible與現今流行技術的結合使用,以及如何自我發展、自我完善技能。

在由淺入深介紹Ansible的同時,本書所有的應用案例按章節順序全部上傳至GitHub,附帶自研的Web自動化頁面,也全部開源至GitHub(同時本書寫作團隊收入的20%將捐贈給開源組織,捐贈金額和去向也會通過公眾號和網站的方式對外公開)。

讀者對象

?IT網絡運維工程師

?業務運維工程師

?DevOps技術人員

?中小型企業無運維崗但需運維服務器的開發人員

?虛擬化技術人員

?對自動化理念感興趣的技術人員

如何閱讀本書

本書分為三篇,共14章,其中第1~3、6、8~10由李松濤編寫,第4、5、7、11由魏巍編寫,第8、12~14章由甘捷編寫。

第一篇為基礎入門篇(第1~5章),該篇著重介紹Ansible發展史,工作原理,基礎元素組成,Playbook入門。該部分內容雖簡單,卻是掌握Ansible高級技巧的基石,如沒有接觸過相關自動化工具和Ansible,還需認真閱讀。

第二篇為高級進階篇(第6~11章),該篇也是本書內容的最大構成部分,著重結合企業實際需求場景,以大量的實際案例拓展介紹Ansible的高級語法進階和實際應用技巧,涉及的技術點有Roles、Inventory、Jinja2、Galaxy等。結合的行業主流技術包括(但不限)Zabbix、Except、MemCache、Inotify、Logio、GitLab、Docker、LNMP、Redis、MySQL、Node.js等,并提供豐富的實戰案例供大家參考學習。

第三篇為Web自動化開發篇(第12~14章),該篇內容主要針對不想購買Tower產品,但又有Web全自動化發布界面需求的人而專門撰寫。該部分內容使用當前最流行成熟的Python,并結合Django前后端技術,通過Ansible celery管理后臺任務隊列。雖該部分內容從零基礎部分開始介紹,逐步引導上手,但考慮時間和精力成本,建議具備一定的Python、Django、前端基礎后進行學習。

本書前11章,各章沒有強關聯,如覺得內容已掌握可跳躍式閱讀,遇到不理解的地方回頭再看也問題不大。從第12章開始為Web化自動開發章節,需要循序漸進地學習,建議按順序閱讀。

勘誤和支持

Ansible的發展非常快,當我們開始著手寫這本書的時候Ansible的版本還是1.9.4,但沒過多久2.0穩定版本就更新出來,但1.9版本分支還一直在維護,隨后又陸續更新了1.9.5和1.9.6的穩定版,這對我們的寫作也造成一定的困擾。當時多數公司使用的還是1.9版本的分支,2.0分支也陸續收到朋友們反饋各類問題。所以本書的寫作過程總體還是基于1.9分支的基礎,1.9和2.0的差別主要在于API接口和頁面開發上,后者功能模塊更加完善豐富,但對于普通使用者整體差別不大,有差別的地方書中均會提到。

由于筆者的水平有限,編寫時間倉促,所有的寫作過程都在深夜和周末,書中難免會出現一些錯誤或者不準確的地方,懇請讀者批評指正。如果您有更多的寶貴意見,歡迎您關注我們的公眾號linux178,或加入我們的QQ群:Ansible中文權威-2號群(486022616),或訪問我們的問答平臺http://www.178linux.com/qa,我們會盡量提供最滿意的解答。期待能夠得到你們的真摯反饋,在技術之路上互勉共進。

我想和作者聊聊

微信公眾號:

linux178

或掃以下二維碼

QA公共平臺:

http://www.178linux.com/qa

普通用戶請加群:

Ansible中文權威-2號群 486022616

書籍讀者請加群:

中文權威讀者群577479881

致謝

感謝翻譯團隊在Ansible官網文檔翻譯過程中的無私付出。

感謝魏巍、甘捷兩位“筆友”在我狂轟濫炸的“淫威”下堅持寫作,并持續輸出高質量的內容。感謝機械工業出版社華章公司的策劃編輯高婧雅,在近一年的時間中始終支持我的寫作。你們的鼓勵和幫助引導我們順利完成全部書稿。

特別致謝

最后,我要特別感謝我的太太yolanda,為寫作這本書,我犧牲了很多陪伴她的時間,但也正因為有了她的付出與支持,我才能堅持寫下去。

同時,也要鄭重感謝馬哥教育在我寫作的過程中提供不遺余力的資源支持,讓我們得以放開手腳無所束縛地完成寫作工作。

謹以此書獻給我最親愛的家人,以及眾多熱愛開源技術的朋友們!

李松濤(stanley)

2016年8月

主站蜘蛛池模板: 道真| 渝北区| 台北县| 承德市| 吴旗县| 灯塔市| 双辽市| 阳西县| 舒兰市| 瑞金市| 合阳县| 盐亭县| 谢通门县| 崇仁县| 珠海市| 黔东| 阿拉善右旗| 开平市| 嘉峪关市| 北京市| 大同市| 同仁县| 盐津县| 碌曲县| 三门峡市| 夏邑县| 惠东县| 阜阳市| 瓦房店市| 灵丘县| 扶风县| 铅山县| 综艺| 盐津县| 铜山县| 柏乡县| 恩施市| 定兴县| 广东省| 隆德县| 寻乌县|