書籍-banne
(本文授權 DevOpsDays Taipei 2018 及天瓏網路書店全文轉載)

自 2009 年 DevOps 一詞面世以來,如今談到 DevOps 時,經常會發生的一種狀況是「人們彼此談論的 DevOps 並不是相同的一回事」。這是因為隨著時間的推進,各方人馬紛紛為 DevOps 添加了不同的詮釋與定義,這現象令人一則以喜一則以憂,喜的是我們能夠看見 DevOps 從最初微小的「社群」開始發跡,最終延燒成為全世界共同響應的一場「運動」,DevOps 的重要性已不容小覷;憂的是,當 DevOps 成為每個人皆能琅琅上口談上兩句的 buzzword 時,是否已漸漸遠離它最初的根本精神。

無論如何,如今在與他人談論 DevOps 之前,恐怕我們要先與對方確認接下來談論的內容是落在哪些範圍之內,是要討論 DevOps 的定義、歷史、運動、職務、認證、工具、實踐、方法、原則或價值觀,如此才能避免彼此陷入雞同鴨講的狀況。

在這樣的窘境之下,究竟我們該如何全面性的認識 DevOps?有沒有什麼懶人包或便捷的資源可以幫助我們快速的一窺 DevOps 到底是什麼、又與哪些觀念、原則、工具或關鍵字相關?也許各位不妨可以參考看看由「机械工业出版社」出版的《DevOps:原理、方法与实践》

一本點到為止的 DevOps 教科書

《DevOps:原理、方法与实践》是由中國「机械工业出版社」所出版的 DevOps 入門書籍,如果要用一句話來形容它,我們可以說它是一本點到為止的 DevOps 教科書。

本書的架構如下:

  • 第 1 章 DevOps 概述
  • 第 2 章 雲時代的維運 (Ops)
  • 第 3 章 軟體架構演進
  • 第 4 章 軟體開發過程和方法
  • 第 5 章 精益 (Lean) 思想和看板方法
  • 第 6 章 微服務軟體架構
  • 第 7 章 容器 (Container) 技術基礎
  • 第 8 章 基於容器技術的 DevOps 實踐
  • 第 9 章 DevOps 工具集

全書共九章,可以明顯看出作者們嘗試要在書中涵蓋 DevOps 的各個層面。書中除了基本的 DevOps 概述,簡介了 DevOps 從工具、實踐、方法、原則至價值觀的各面向之外,也個別透過一整個章節篇幅說明維運、軟體架構、軟體開發方法因應這時代所產生的演變,並且介紹藏在 DevOps 背後非常重要的 Lean 精神;另外在工具與實務層面則介紹了 Container 與 Microservices 這兩項在現今的 DevOps 實踐中,有著密切關係的重要技術及架構。

每個章節的篇幅皆不多,分別在各約 20 頁的有限篇幅中快速介紹該章節之關鍵重點,因此本書僅能初略介紹各關鍵字的相關內容。另外,在每個章節,作者們皆會提供「思考題」,幫助讀者複習、思考書中提及的內容,加強對於內容的理解與吸收;如欲更加深入認識書中提及之內容,各章節也同樣附有大量的「參考文獻」幫助讀者能夠進一步的深入學習。

我個人最喜歡這本書的部分是第 1 章「DevOps 概述」,特別是其中關於「什麼是 DevOps?」的內容,作者嘗試用歷史、價值觀、原則、方法、實踐及工具這六個面向來切入介紹 DevOps。我認為這種介紹方式有助於讀者能夠更全面的認識與思考到底 DevOps 涉及哪些層面,同時也能幫助讀者將 DevOps 與更多其他的關鍵字連結,以更全面的視野認識 DevOps。

最後,做一點平衡報導,雖然這是一本「點到為止的 DevOps 教科書」,內容看似全面但仍有不足需要另外補強之處,包含:

  • 內容主要環繞「狹義的 DevOps」,即從 Dev 至 Ops 的範圍;書中較少提及「廣義的 DevOps」,即除了 Dev 至 Ops 之外,企業組織的其他部門與專業領域。
  • 「文化」層面的內容,僅只在「DevOps 價值觀」有稍微提及,這部分可能要另外從 Agile 相關書籍或參考《Effective DevOps》來補足。
  • 雖然書籍結構規劃的不錯,但各章節實際內容的連貫性較為不足,需要額外的資料與說明來補足其中的關聯性。
  • 在「容器技術基礎」的章節,僅以 Docker 為主要案例,並太快切入「技術細節」的內容。

小結

如前言所述,已經在 DevOps 圈內打滾的人們在遇到他人詢問「What is DevOps?」時,經常會陷入一陣窘境,不知該從何切入或不知該講多講少,甚至更慘的是,很可能自己在說明講述的同時,隔壁還會臨時亂入另一位 DevOps 專家,提出跟你相似但不太一樣的見解。

同理,在 DevOps 已成為新顯學的情況下,學界的教師又該如何向學生教授「What is DevOps?」,課程教材該如何編撰?教材又要涉及多廣多深呢?

如果您也有以上的「症狀」,這本《DevOps:原理、方法与实践》或許能成為您的一帖藥方,不妨直接購買一本《DevOps:原理、方法与实践》當作解答丟給對方吧!當對方根據書中內容而產生更多的疑問時,再適時地根據他的需求給予更多的解答與延伸閱讀。或者你也可以參考本書的結構,以此為基礎,再延伸建構一份屬於你自己的 DevOps 知識體系。


聽說現在都要鼓勵讀者「鼓掌」,所以只好繼續如法炮製,如果您喜歡本文,歡迎多多給予我掌聲,讓我知道本文有為這個世界貢獻了一些價值,謝謝大家!