DevOps 實踐:馭DevOps之力強化技術棧並優化IT運行

DevOps 實踐:馭DevOps之力強化技術棧並優化IT運行
定價:414
NT $ 414
 

內容簡介

本書詳細講解了DevOps的相關知識,可以更好地促進IT團隊與軟件開發者之間的全方位合作,提高團隊效率來確保軟件正常的開發和運營。

本書的主要內容有:對DevOps和持續交付的簡單介紹,DevOps如何影響架構,如何創建企業Java應用程序,如何使用不同的代碼庫,如何使用一些簡單的工具執行代碼測試,如何成功配置你的測試,如何監測代碼異常以及如何處理日志以及跟蹤影響進程的事件。

你將會學到:了解DevOps和持續交付的優點以及DevOps如何支持敏捷過程;了解如何將所有系統組裝成一個大的整體;安裝和熟悉所有你可以用來提高效率的DevOps工具;使用Devops設計一款適合持續部署系統的應用程序;使用不同的選項高效地儲蓄和管理代碼,例如Git、Gerrit和 Gitlab;配置job來創建CRUD應用樣本;使用Jenkins Selenium回歸測試測試代碼;使用工具來配置你的代碼,例如:Puppet、Ansible、Palletops、Chef和Vagrant;使用Nagios、Munin和 Graphite監控代碼運行狀態;探索Trac(一個跟蹤事件的工具)的工作方式。

介紹了DevOps 的起源和概覽,並通過一個貫穿全書的例子,從架構開始,到代碼的存儲、構建、測試、部署、監控,直至流程的跟蹤,推薦了許多可用的工具和可行的示范,是一本DevOps實踐方面不可多得的參考書籍。

面向願意承擔更大責任的開發人員和系統管理員,也很適合願意更好地支持開發人員的運維人員。無須任何DevOps 知識即可快速上手!

Joakim Verona是一位擅長持續交付和DevOps的咨詢師。自1994年以來,在系統開發的所有方面他都曾工作過。他積極地在諸如web系統、多媒體系統和軟硬件混合系統等復雜的多層系統上做出了領導實踐者的貢獻。自2004年以來,他廣泛的技能興趣把他導向了新興的DevOps領域。
Joakim在林雪平理工學院完成了計算機科學的碩士學位。他也曾作為咨詢師工作在各種各樣的工業領域上,例如銀行和財務、電信、工程、印刷和排版,還有游戲開發。他也對敏捷領域感興趣,是一位Scrum認證的敏捷教練、Scrum產品負責人並擁有Java認證。

高清華:悅跑圈資深研發工程師。工作十多年以來,在簡潔代碼、自動化測試、持續集成、DevOps等方面都有着豐富的經驗。曾在ThoughtWorks任職多年,從事敏捷軟件開發、DevOps咨詢等工作,希望能以通俗易懂的語言普及IT技術。

馬博文,ThoughtWorks Senior Consultant,Senior DevOps,西安DevOps Meetup發起人。AWS Certified Solution Architect/Certified Developer。《Scala Cookbook》譯者。熟悉Web/Ruby/Java/Scala開發,目前專注DevOps,持續交付,容器技術,微服務,AWS等。
 

目錄

前言

1 DevOps和持續交付簡介
DevOps簡介
多快才算快?
敏捷之輪
敏捷不只是形式
DevOps和ITIL(信息技術基礎架構庫)
總結

2 洞察全局
DevOps流程和持續交付——概覽
開發人員
版本控制系統
構建服務器
工件庫
包管理器
測試環境
預發布/生產
發布管理
Scrum、看板和交付流水線
圓滿結束——一個完整的例子
識別瓶頸
總結

3 DevOps如何影響架構
介紹軟件架構
單塊系統場景
架構經驗法則
關注點分離
內聚原則
耦合
回到單塊系統場景
一個真實例子
三層系統
表示層
業務層
數據層
處理數據庫遷移
滾動升級
Liquibase的Hello world
變更記錄文件
pom.xml文件
手動安裝
微服務
小插曲——康威定律
如何保持服務接口向上兼容
微服務和數據層
DevOps、架構和彈性
總結

4 一切皆代碼
源代碼控制的必要性
源代碼管理歷史
角色和代碼
哪一個源代碼管理系統?
源代碼管理系統遷移之言
選擇分支策略
分支問題域
工件版本命名
選擇一個客戶端
創建一個基本的Git服務器
共享認證
托管Git服務器
大的二進制文件
嘗試不同的Git服務器實現
中場休息,插播Docker
Gerrit
安裝git-review包
歷史修正主義的價值
拉請求模型
GitLab
總結

5 構建代碼
我們為什麼要構建代碼
構建系統的各個方面
Jenkins構建服務器
管理構建依賴
最終工件
用FPM取巧
持續集成
持續交付
Jenkins插件
托管服務器
構建從機
主機上的軟件
觸發器
任務鏈和構建流水線
Jenkins文件系統結構概覽
構建服務器和基礎設施即代碼
按依賴順序構建
構建階段
可選的構建服務器
校驗質量指標
構建狀態可視化
嚴肅對待構建錯誤
健壯性
總結

6 測試代碼
人工測試
自動化測試的優缺點
單元測試
一般的JUnit和特殊的JUnit
一個JUnit的例子
Mocking
測試覆蓋率
自動化集成測試
在自動化測試中使用Docker
Arquillian
性能測試
自動化接受測試
自動化GUI測試
在Jenkins中集成Selenium測試
JavaScript測試
測試后端集成點
測試驅動開發
REPL(交互式命令行)驅動開發
一個完整的自動化測試場景
人工測試web 應用
運行自動化測試
查找缺陷
測試巡禮
用Docker處理棘手的依賴
總結

7 部署代碼
為什麼有這麼多的部署系統
配置基礎操作系統
描述集群
為系統交付包
虛擬化棧
在客戶端執行代碼
有關練習的注意事項
Puppet服務器和Puppet代理
Ansible
PalletOps
用Chef 做部署
用SaltStack 做部署
從執行的模型來比較Salt、Ansible、Puppet 和PalletOps
Vagrant
用Docker做部署
對比表
雲計算解決方案
AWS
Azure
總結

8 監控代碼
Nagios
Munin
Ganglia
Graphite
日志處理
客戶端日志類庫
ELK
總結

9 問題跟蹤
用問題跟蹤器做什麼?
工作流和問題的一些例子
我們需要從問題跟蹤器里得到什麼?
問題跟蹤器激增所帶來的問題
所有的跟蹤器
Bugzilla
Trac
Redmine
GitLab問題跟蹤器
Jira
總結

10 物聯網和DevOps
IoT 和DevOps簡介
從市場的角度看物聯網的未來
機器到機器的通信
物聯網的部署影響軟件架構
物聯網部署的安全性
好啦,但是DevOps和物聯網有什麼關系?
DevOps的物聯網設備動手實驗室
總結
 

DevOps 領域在近年來變得流行而普遍。它是那麼的流行,以至於很容易忘記在 2008年以前,當 Patrick Debois 組織起第一個 DevOps 之日大會時,幾乎沒人曾經聽說過該詞。由開發(developers)和運維(operations)組成的 DevOps 這個詞,到底意味着什麼?為什麼它能造成如此巨大的狂熱?本書的任務就是回答這個看起來很簡單的問題。
網路書店 類別 折扣 價格
  1. 新書
    $414