《鳳凰專案》- 踏入 DevOps 之旅的第一本書
《鳳凰專案》其原文書書名為《The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win》,是一部「IT 人藉由『DevOps』讓企業克敵制勝」的小說。
兩年前,凍仁剛接觸 Ansible 時,從一位益師益友的前輩口中得知此書的簡中譯本 -《凤凰项目》,之後在天瓏書局門市,為自己買下第一本《The Phoenix Project》。1
凍仁很幸運的找著幾位前輩的導讀文章,在閱讀此書前給予不少指引,例如:
雖說自己第一次是使用前者的方式進行閱讀,但相信不管用哪種方式閱讀,都會是個很棒的體驗。
拿起此書,讀者將會很快的發現其與眾不同,特別是目錄的部份。(笑) 2
《鳳凰專案》一書大致可分為 4 個部份,前 3 部份為小說,而最後則是 DevOps 的入門指南。
三步工作法 (Flow、Feedback 和 Culture),是實踐 DevOps 的方法之一,同時也是本書的主軸;而四種工作類型 (Business projects、Internal IT projects、Changes 和 Unplanned work / Recovery work) 則很清楚的點出 IT 部門所需負責的工作有哪些。
IT 部門平日除了得支援公司的業務發展,還得維護企業內大大小小的系統,更別說還有變更工作,以及變更不當所造成的例外工作 (計畫外工作)!當 IT 部門忙著救火,又怎麼能支援公司向「錢」跑呢?
除了三步工作法和四種工作類型,書中和 DevOps 界的大師們還提及了許多實踐 DevOps 的方法:
在這麼多方法中,凍仁與團隊成員是先從「變更管理」著手,大幅降低例外工作後,才有心力進行「組態管理」和「持續交付」。鬆綁部署瓶頸的現在,其生產力比起一年前好上太多了!
舉例來說,我們一開始每週至少需耗費 20 小時 (5 人 x 4 小時,且不含例外工作),部署變更到一個預備生產環境 (Pre-production environment),如今我們可以只用 6 小時 (2 人 x 3 小時),完成兩個環境的部署。光這部份我們就節省了 6 倍的人力,更別說我們還有數條管道 (pipeline),可以一提交程式碼就進行單元測試 (Unit Testing),之後部署到開發環境 (Development environment)。
接著凍仁打算透過學習「看板方法」,來降低變革的阻力,一步步的與團隊成長;再來想學習「限制理論」和「系統思考」,藉由看見問題的全貌,即早進行改善。
或許有人讀完此書還是對 DevOps 一詞有些陌生,讀者可以看看艦長大人正瑋所分享的《Effective DevOps》簡報,以更進一步了解 DevOps 是什麼。
以前,我們會建議讀者試著改用其他角色的觀點,多讀《鳳凰專案》幾次。
現在,我們可以接著閱讀其姊妹書 -《The DevOps Handbook》4,直接參悟大師們多年來彙整而出的 DevOps 實踐心法。
推薦以下兩部影片,給想快速了解 DevOps 的伙伴們。
最後,就讓凍仁用一句話,來總結自己踏上尋求 DevOps 的偉大航道,所尋獲的答案。
1 截止至今,凍仁已買了原文、簡中和繁中 3 種語言的《The Phoenix Project》,並送出十餘本繁中和簡中譯本,給過去有恩於在下的友人,和有緣的後輩。
2 繁中版少了前三部份的目錄編排,故順手參照 2013 年出版的原著整理了一番。08/31 收到 2018 年第 3 刷的《The Phoenix Project》五週年紀念版時,才得知最新的版本也拿掉了前三部份的目錄,著實有些可惜啊!
3 在原文書的第 7 章,用了穀倉效應的 Silo 一字,來形容各自為政的部門。要想在企業好好實行 DevOps,勢必得打破殼倉,才得以提高生產力。
4 簡中譯本為《DevOps 实践指南》。
5 此句改編於《心態致勝》一書,原話為「你不能靠聲稱獲得成長心態,你必須展開旅程,走向成長心態。」。
- 作者:Gene Kim、Kevin Behr、George Spafford。
- 譯者:楊仁和。
- 出版商:碁峰。
- 出版日期:2017/09/21。
- 定價:NT$ 480。
- 語言:繁體中文。
- 頁數:400。
- ISBN:9789864765867。
兩年前,凍仁剛接觸 Ansible 時,從一位益師益友的前輩口中得知此書的簡中譯本 -《凤凰项目》,之後在天瓏書局門市,為自己買下第一本《The Phoenix Project》。1
凍仁很幸運的找著幾位前輩的導讀文章,在閱讀此書前給予不少指引,例如:
- 保持耐心不跳章節,先把它當成一部小說般閱讀。
- 先從後面的致謝 (第 355 頁) 開始看,再重頭閱讀前面的傳奇故事。
雖說自己第一次是使用前者的方式進行閱讀,但相信不管用哪種方式閱讀,都會是個很棒的體驗。
拿起此書,讀者將會很快的發現其與眾不同,特別是目錄的部份。(笑) 2
目錄: 第一部份 第 1 章 9 月 2 日,星期二 | 007 第 2 章 9 月 2 日,星期二 | 018 第 3 章 9 月 2 日,星期二 | 030 第 4 章 9 月 3 日,星期三 | 042 第 5 章 9 月 4 日,星期四 | 058 第 6 章 9 月 5 日,星期五 | 070 第 7 章 9 月 5 日,星期五 | 081 第 8 章 9 月 8 日,星期一 | 091 第 9 章 9 月 9 日,星期二 | 102 第 10 章 9 月 11 日,星期四 | 110 第 11 章 9 月 11 日,星期四 | 119 第 12 章 9 月 12 日,星期五 | 126 第 13 章 9 月 15 日,星期一 | 140 第 14 章 9 月 16 日,星期二 | 149 第 15 章 9 月 17 日,星期三 | 158 第 16 章 9 月 18 日,星期四 | 171 第二部份 第 17 章 9 月 22 日,星期一 | 181 第 18 章 9 月 23 日,星期二 | 186 第 19 章 9 月 23 日,星期二 | 192 第 20 章 9 月 26 日,星期五 | 209 第 21 章 9 月 26 日,星期五 | 223 第 22 章 9 月 29 日,星期一 | 231 第 23 章 10 月 7 日,星期二 | 241 第 24 章 10 月 11 日,星期六 | 247 第 25 章 10 月 14 日,星期二 | 256 第 26 章 10 月 17 日,星期五 | 265 第 27 章 10 月 21 日,星期二 | 274 第 28 章 10 月 27 日,星期一 | 284 第 29 章 11 月 3 日,星期一 | 294 第三部份 第 30 章 11 月 3 日,星期一 | 305 第 31 章 11 月 3 日,星期一 | 312 第 32 章 11 月 10 日,星期一 | 320 第 33 章 11 月 11 日,星期二 | 327 第 34 章 11 月 28 日,星期五 | 335 第 35 章 1 月 9 日,星期五 | 343 致謝 | 355 為什麼需要 DevOps? | 363 DevOps 從何而來? | 368 關於三步工作法 | 370 DevOps 的主要迷思 | 372 DevOps 會取代 Agile? DevOps 會取代 ITIL? 有了 DevOps,就無需 Ops? DevOps 只適用於開放源始碼? DevOps 只是「Infrastructure as code」或自動化? DevOps 僅適用於新創公司和「獨角獸公司」? 四種工作類型 | 376 延伸閱讀 | 381 注釋 | 394
《鳳凰專案》一書大致可分為 4 個部份,前 3 部份為小說,而最後則是 DevOps 的入門指南。
- 第一部份:述說著無極限零件公司 (Unlimited) 每況愈下,以及 IT 部門的慘烈悲歌。3
- 第二部份:公司開始面對問題,並藉由各種 DevOps 手法,進行絕地大反攻!
- 第三部份:盡快取得顧客回饋,以及逆轉勝。
- 第四部份:解答 DevOps 是什麼?並明確指出書中提及的「三步工作法」和「四種工作類型」為何物。
三步工作法 (Flow、Feedback 和 Culture),是實踐 DevOps 的方法之一,同時也是本書的主軸;而四種工作類型 (Business projects、Internal IT projects、Changes 和 Unplanned work / Recovery work) 則很清楚的點出 IT 部門所需負責的工作有哪些。
IT 部門平日除了得支援公司的業務發展,還得維護企業內大大小小的系統,更別說還有變更工作,以及變更不當所造成的例外工作 (計畫外工作)!當 IT 部門忙著救火,又怎麼能支援公司向「錢」跑呢?
除了三步工作法和四種工作類型,書中和 DevOps 界的大師們還提及了許多實踐 DevOps 的方法:
- 虛擬化技術 (Virtualization)
- 限制理論 (Theory of Constraints)
- 精實生產 (Lean production)
- 變更管理 (Change Management)
- 看板方法 (Kanban Method)
- 敏捷開發 (Agile)
- 組態管理 (Configuration management)
- 持續交付 (Continuous Delivery)
- 雲端運算 (Cloud Computing)
- 混沌工程 (Chaos engineering)
- 豐田生產方式 (Toyota Production System)
- 系統思考 (Systems Thinking)
- 微服務 (Microservices)
在這麼多方法中,凍仁與團隊成員是先從「變更管理」著手,大幅降低例外工作後,才有心力進行「組態管理」和「持續交付」。鬆綁部署瓶頸的現在,其生產力比起一年前好上太多了!
舉例來說,我們一開始每週至少需耗費 20 小時 (5 人 x 4 小時,且不含例外工作),部署變更到一個預備生產環境 (Pre-production environment),如今我們可以只用 6 小時 (2 人 x 3 小時),完成兩個環境的部署。光這部份我們就節省了 6 倍的人力,更別說我們還有數條管道 (pipeline),可以一提交程式碼就進行單元測試 (Unit Testing),之後部署到開發環境 (Development environment)。
接著凍仁打算透過學習「看板方法」,來降低變革的阻力,一步步的與團隊成長;再來想學習「限制理論」和「系統思考」,藉由看見問題的全貌,即早進行改善。
或許有人讀完此書還是對 DevOps 一詞有些陌生,讀者可以看看艦長大人正瑋所分享的《Effective DevOps》簡報,以更進一步了解 DevOps 是什麼。
以前,我們會建議讀者試著改用其他角色的觀點,多讀《鳳凰專案》幾次。
現在,我們可以接著閱讀其姊妹書 -《The DevOps Handbook》4,直接參悟大師們多年來彙整而出的 DevOps 實踐心法。
推薦以下兩部影片,給想快速了解 DevOps 的伙伴們。
- DevOps 的核心理念和實踐 by 劉征 (Martin) | DevOpsDays Taipei 2017
- DevOps 的敏捷化思維 by 李智樺 (Ruddy Lee) | Agile Tour Kaohsiung 2017
最後,就讓凍仁用一句話,來總結自己踏上尋求 DevOps 的偉大航道,所尋獲的答案。
「我們不能靠聲稱獲得 DevOps,我們必須展開旅程,走向 DevOps。」5
1 截止至今,凍仁已買了原文、簡中和繁中 3 種語言的《The Phoenix Project》,並送出十餘本繁中和簡中譯本,給過去有恩於在下的友人,和有緣的後輩。
2 繁中版少了前三部份的目錄編排,故順手參照 2013 年出版的原著整理了一番。08/31 收到 2018 年第 3 刷的《The Phoenix Project》五週年紀念版時,才得知最新的版本也拿掉了前三部份的目錄,著實有些可惜啊!
3 在原文書的第 7 章,用了穀倉效應的 Silo 一字,來形容各自為政的部門。要想在企業好好實行 DevOps,勢必得打破殼倉,才得以提高生產力。
4 簡中譯本為《DevOps 实践指南》。
5 此句改編於《心態致勝》一書,原話為「你不能靠聲稱獲得成長心態,你必須展開旅程,走向成長心態。」。
(本文已授權 DevOpsDays Taipei 2018 和天瓏資訊圖書全文轉載。)
站內連結:
★ DevOps Engineer、SRE 徵才求職雜談
★ 從《心態致勝》看敏捷
★ 一群臺灣老司機參與《鳳凰項目》沙盤的持續成長故事
相關連結:
★ The Phoenix Project, 5th Anniversary Edition | IT Revolution
★ The DevOps Handbook: Non-Fiction Follow-Up to The Phoenix Project | IT Revolution
★ 《The Phoenix Project》相關書籍 | chusiang/books2read
★ The Phoenix project 導讀 | Ruddy Lee 分享空間
★ 《鳳凰專案》私房標題 | Potioneer's Essays
★ 除了 DevOps 之外,鳳凰項目還說了什麼?| Software Architecture School
★ 鳳凰專案:看 IT 部門如何讓公司從谷底翻身的傳奇故事 | 天瓏網路書店
★ DevOpsDays 2018 專題工作坊:《鳳凰項目》沙盤工作坊 | iThome Learning
今日 (08/31) 收到 2018 年第 3 刷的《#ThePhoenixProject》五週年紀念版時,才得知最新版也與繁中譯本《# 鳳凰專案》一樣,拿掉了前三部份的目錄,著實有些可惜!
回覆刪除其看似無用的目錄,其實可以自行加工,給進階讀者們提供些便利。
#Book #鳳凰項目
> https://twitter.com/chusiang_lai/status/1035546024662654976
> https://www.facebook.com/chusiang.lai/posts/10209656864017690
再次拿起《The Phoenix Project》的繁中譯本《鳳凰專案》,就可看出部份專有名詞前後翻譯不一致。
回覆刪除▌ Business projects 在 P.67 被譯為商業專案,可在最後的 P.376 則是業務專案。
看來在名調統一的部份,還是簡中譯本的《凤凰项目》表現的比較好啊!
----
「 IT 部門的工作,大致可分為業務專案 (Business projects)、IT 內部專案 (Internal IT projects)、變更工作 (Changes) 和計劃外工作 (Unplanned work / Recovery work) 等四種工作類型。相較於業務工作,其它三種工作常被忽略且不被重視。 」
- 凍仁翔於《系統工程師的 DevOps 實踐之道 》一文。
▌ https://note.drx.tw/2018/12/devops-practice-of-system-engineer.html
在《鳳凰專案》一書中,譯者把 Unplanned work / Recovery work 翻為「計『畫』外工作」,故接下來凍仁將儘可能使用「計畫外工作」,而非「計劃外工作」。
回覆刪除比起「計畫外工作」,自己還更常使用「例外工作」呢。
回覆刪除簡單在凍仁已經接觸過的項目後方打個勾,接著應該學學些新東西了!
回覆刪除01. 虛擬化技術 (Virtualization) ✔
02. 限制理論 (Theory of Constraints)
03. 精實生產 (Lean production)
04. 變更管理 (Change Management) ✔
05. 看板方法 (Kanban Method) ✔
06. 敏捷開發 (Agile) ✔
07. 組態管理 (Configuration management) ✔
08. 持續交付 (Continuous Delivery) ✔
09. 雲端運算 (Cloud Computing) ✔
10. 混沌工程 (Chaos engineering)
11. 豐田生產方式 (Toyota Production System)
12. 系統思考 (Systems Thinking) ✔
13. 微服務 (Microservices)