如果你還在用SSH、RDP管理主機,
如果你還在煩惱Dev、Staging和Product的同步,
本書會讓看到一個全新的世界,
單人管理萬台主機不再是神話! ☆應用分散式化
隨著2014年10月7日Pivotal發佈第一個Spring Cloud的版本1.0.0.M1以來,憑藉產品的便利性、良好的生態,Spring Cloud迅速成為微服系統中最具代表性的開發框架,廣大開發者在享受微服務開發所帶來的便利同時,以前維護一個Tomcat的事情,現在起碼都是10個微服務起步,這也給應用的運行維護引入了更大的複雜性。
★Kubernetes成為應用運行的標準平台
同樣是在2014年,Google將內部Borg系統第一次以開放原始碼的方式發佈於GitHub之上,並將Microsoft、Red Hat、IBM、Docker引入Kubernetes社區。某種程度上,Kubernetes重新定義了作業系統,應用透過Kubernetes定義的抽象層,能夠享受傳統架構下難以實現的自動資源排程、自動修復、水平伸縮容等能力,並提升了應用發佈的品質,這是當年傳統運行維護難以想像的,但是如何用好相關的能力,對運行維護工程師來說也是一個新的挑戰。
☆傳統監控升級提高了可觀察性
幾年前,我們手中的監控武器除了Zabbix,還有一個不太成熟的ELK,而現在,我們擁有Prometheus、ELK Stack、SkyWalking、Zipkin、Grafana等一系列工具。而且,我們已經看到了OpenTelemetry嘗試從規範層面完成Metric、Log、Trace的大一統,困擾傳統運行維護多年、多種運行維護資料難以連結的問題,即將得到解決。
★AI從“陽春白雪”變得觸手可及
大部分的情況下,常見的AI技術針對的領域是視覺辨識、NLP等,如何將AI 技術應用到運行維護領域,還是一個非常值得探索的問題。看到了文豪新書的初稿,感覺本書來的正是時候,極佳地表現了這幾年運行維護的基礎架構的技術發展,同時具備很強的動手指導性,能夠幫助讀者在實踐的過程中,對相關的技術加深瞭解,為更深入地鑽研相關技術打下基礎。
本書特色:◆介紹自動化運維和智慧化運維的常用技術
◆讓讀者能夠基於主流的容器化技術搭建自己的運維實驗環境
◆幫助讀者快速完成Docker與Kubernetes的入門
◆迅速掌握容器化技術中常用的技術點
◆提升讀者在容器化技術方面的能力
◆詳細介紹了自動化運維利器Ansible的使用方法
◆幫助讀者快速掌握AIOps的關鍵工具與技術
作者簡介:
吳文豪
《自動化運維軟體設計實戰》作者、網思科技股份有限公司廣州研究院負責人。
孫靖翀
草根老碼農一枚,開源軟體生態成長的見證者,走跳在自動化運行維護一線的折騰者。
作者序
技術的更新迭代速度總是非常快,多年前容器化技術還沒有被廣泛地使用,智慧化運行維護的概念也還沒有在運行維護圈流行起來。經過近幾年的技術變遷,微服務、雲端原生、智慧化運行維護等非常多的新技術和新概念陸續出現,並且獲得了廣泛應用。
新技術的出現,提升了運行維護工程師的工作效率。比如,在容器化技術出現之前,應用最終部署環境與測試開發環境的一致性問題是讓運行維護工程師在完成應用部署時非常頭疼的問題之一。在容器化技術出現之後,應用最終部署環境與測試開發環境的一致性問題被容器化技術完美解決了,運行維護工程師再也不需要為其擔心了,而且由於使用了容器化技術,也提升了應用部署的效率。但是,事物往往存在兩面性,新技術的出現雖然解決了不少問題,但也帶來了新的問題。舉例來說,容器化部署被廣泛使用之後,容器的數量呈爆炸性增長,容器間呼叫的複雜性相較於傳統部署模式的複雜性也數倍增加。因此,運行維護工程師
需要為手中的運行維護工具箱增加一些更強勁的自動化運行維護和智慧化運行維護工具,來應對新的技術浪潮。
開放原始碼社區中有非常多的運行維護工具套件,所實現的功能及達到的效果參差不齊,本書選擇了一些「開箱即用」並且效果不俗的開放原始碼工具套件分享給讀者。
本書章節內容如下。
✓第1章:
回顧自動化運行維護技術,介紹自動化運行維護過程中面臨的問題,並且對自動化運行維護的後續發展進行展望,幫助讀者快速了解自動化運行維護領域需要解決的問題及未來的發展方向。
✓第2章:
容器化技術被廣泛應用之後,Kubernetes 技術的出現將容器化技術的普及推向了一個新的高度。本章主要介紹如何快速架設Kubernetes 實驗環境,幫助讀者快速掌握Kubernetes 和Docker 相關技術,為讀者能夠快速體驗本書介紹的運行維護工具套件提供了一套簡單好用的實驗環境。
✓第3 ∼ 4章:
透過介紹Ansible 的使用,以及採用Ansible 實現自動化運行維護的典型案例,幫助讀者掌握如何使用Ansible 這款開放原始碼的自動化運行維護利器來完成日常運行維護工作。
✓第5 ∼ 7章:
對智慧化運行維護的發展歷程進行了簡單的回顧,並提供了對讀者比較有幫助的AIOps 工具套件,以及介紹如何使用Kubernetes 技術來架設一個能夠讓AIOps 技術快速落地的AI 平台。
致謝
本書參考了大量的網路資料,這些資料來自GitHub、Stack Overflow、知乎等,在此向這些促進知識傳播的網路平台致以誠摯的敬意。
特別感謝我就職的網思科技股份有限公司,公司良好的技術氣氛、快速成長的業務,讓我有機會帶領團隊研發公司的主力產品AlphaMind AI 能力開放平台,這為本書的寫作提供了非常好的外部環境。
感謝我的父母和妻子,以及我的女兒,你們在本書的寫作過程中給予了我最大的支持。
最後,感謝各位讀者朋友。
吳文豪
技術的更新迭代速度總是非常快,多年前容器化技術還沒有被廣泛地使用,智慧化運行維護的概念也還沒有在運行維護圈流行起來。經過近幾年的技術變遷,微服務、雲端原生、智慧化運行維護等非常多的新技術和新概念陸續出現,並且獲得了廣泛應用。
新技術的出現,提升了運行維護工程師的工作效率。比如,在容器化技術出現之前,應用最終部署環境與測試開發環境的一致性問題是讓運行維護工程師在完成應用部署時非常頭疼的問題之一。在容器化技術出現之後,應用最終部署環境與測試開發環境的一致性問題被容器化技術完美解決了,運行維護工程師...
目錄
01 自動化運行維護的常見問題與發展趨勢
1.1 運行維護過程中的常見問題
1.2 自動化運行維護主流工具
1.3 自動化運行維護
1.4 新的趨勢—AIOps
1.5 小結
02 使用Kubernetes 快速架設實驗環境
2.1 Docker
2.2 映像檔倉庫
2.3 Kubernetes
03 集中化運行維護利器——Ansible
3.1 Ansible 基礎知識
3.2 在命令列中執行Ansible
3.3 Ansible 常用模組
3.4 自動化作業任務的實現—Ansible Playbook
3.5 金鑰管理方案:ansible-vault
3.6 使用Ansible 的API
3.7 Ansible 的優點與缺點
04 自動化運行維護
4.1 Ansible 在自動化運行維護中的應用
4.2 掛載點使用情況和郵件通知
4.3 作業系統安全基準線檢查
4.4 收集被管理節點資訊
4.5 小結
05 AIOps 概述
5.1 AIOps 概述
5.2 AIOps 的實作路線
5.3 基於基礎指標監控系統的AIOps
5.4 基於日誌分析系統的AIOps
5.5 基於知識庫的AIOps
5.6 基於AI 平台的AIOps
06 AIOps 工具套件
6.1 應用系統參數自動最佳化
6.2 智慧日誌分析
6.3 警報連結分析
6.4 語義檢索
6.5 異常檢測
6.6 時序預測
07 加速AIOps 實作——AI 平台
7.1 AI 平台與AIOps
7.2 架設AI 平台的技術點
7.3 小結
01 自動化運行維護的常見問題與發展趨勢
1.1 運行維護過程中的常見問題
1.2 自動化運行維護主流工具
1.3 自動化運行維護
1.4 新的趨勢—AIOps
1.5 小結
02 使用Kubernetes 快速架設實驗環境
2.1 Docker
2.2 映像檔倉庫
2.3 Kubernetes
03 集中化運行維護利器——Ansible
3.1 Ansible 基礎知識
3.2 在命令列中執行Ansible
3.3 Ansible 常用模組
3.4 自動化作業任務的實現—Ansible Playbook
3.5 金鑰管理方案:ansible-vault
3.6 使用Ansible 的API
3.7 Ansible 的優點與缺點
04 自動化運行維護
4.1 Ansible 在自...