1. 程式人生 > >DevOps:原理、方法與實踐 – 運維派

DevOps:原理、方法與實踐 – 運維派

《DevOps:原理、方法與實踐》

前言/序言

近年來DevOps開發模式對軟體產業產生了深遠影響,相當多的軟體企業開始採用這種新的模式。來自權威機構的預測報告甚至認為,未來全球排名前2000的軟體企業中,超過80%都將轉向DevOps模式。事實上,DevOps發展速度之快和影響範圍之廣都大大超出了人們的預期。

DevOps之所以會產生如此巨大的影響,我們認為這不是偶然的。這種方法本身具有的特性非常適合在需求很難確定、快速響應變更、快速提供價值和高可靠性要求這樣的所謂網際網路時代軟體環境中得到應用。由此,作為軟體工程教育者,我們不得不思考DevOps給現代軟體工程教育所帶來的影響。一方面,我們的教育本身就需要教會學生把經過實踐檢驗的優秀管理方法和適用的具體開發技術相結合,應用過程化思想和系統化的方法去開發和維護各類軟體系統。從這個意義上說,DevOps是滿足上述目標的極好載體。因此,忽視DevOps,不僅僅會錯過一個實現軟體工程教育目的的好機會,更為糟糕的是,可能會由此擴大學校教育和業界實際實踐之間的差距。另一方面,將DevOps引入大學課堂,也面臨著諸多挑戰。首要的就是目前尚缺一本專門以DevOps為主題,全面系統地涵蓋DevOps各個方面的教材。有鑑於此,我們編著了這樣一本教材,試圖彌補這一缺憾。

考慮到本書主要面向DevOps的初學者,因此,在內容的選擇和組織上,我們並沒有一味羅列DevOps的流行詞彙和工具,而是儘可能把DevOps方法背後的理論基礎解釋清楚。對於具有典型DevOps特徵的軟體工程技術和實踐,例如微服務架構演進、精益管理、容器技術等,我們則不吝筆墨地大篇幅介紹。由此,我們試圖傳遞出一個概念,即DevOps作為一種方法學,不能簡單等同於某類實踐或者工具,而是涵蓋管理的基礎理論、技術以及工具的有機整體。綜合起來,本書具有如下特點:

全面系統地覆蓋DevOps的各個方面,便於讀者以此書作為DevOps的基礎(儘管內容並不基礎!)入門書籍。
保持客觀、中立和審慎的態度。儘管我們推崇DevOps,但絕不盲從。在材料的組織和內容表述方面,我們以解決實際問題為導向來介紹DevOps。同時,我們也清晰表達觀點—DevOps並不抗拒其他方法學。
部分知識點和相應的案例直接來源於一線業界專家的工作經歷,可以增強讀者的代入感,同時,也有助於讀者更好地理解DevOps。
本書具體分工如下:第1章由王天青、邵棟、張賀以及任群合作編寫;第2章由騰靈靈和宋駿合作編寫;第3章由蔣孟傑編寫;第4章由榮國平編寫;第5章由何勉編寫;第6~8章由王天青編寫;第9章由吳昊編寫。

此外,榮國平、張賀和邵棟對全書進行統稿和潤色。由於時間倉促,再加上編者的水平所限,書中難免有錯誤與不妥之處,懇請讀者指正和賜教。

  (榮國平   2017年7月於南大北園)

內容簡介

本書由南京大學軟體學院三位資深教師聯合行業一線專家編寫而成,系統全面地介紹DevOps——這一網際網路時代新型軟體開發模式的原理、方法和實踐。內容詳實、結構清晰、表述淺顯易懂,非常適合在校學生學習使用,也可以作為產業界DevOps初學者學習參考。
全書第一部分首先從時代背景出發,介紹DevOps模式的淵源;結合雲時代運維的特徵,進一步闡明DevOps模式是適應當前軟體系統開發、部署和維護的必然選擇。第二部分介紹了主流軟體開發方法及其流程;作為DevOps的基礎理論,精益生產和看板方法是這部分的重點。第三部分則重點闡述了DevOps模式下的典型實踐,例如:微服務架構、持續整合、持續交付(部署)、虛擬化、Docker容器、自動化等。

作者簡介

榮國平,南京大學軟體學院教師,長期從事軟體過程改進相關的工作。從2006年開始,多次赴美參加SEI的相關培訓,並在當年成為國內唯*的SEI授權PSP培訓師和TSP團隊教練。在JSS、軟體學報等期刊以及包括ICSE、ESEM、ICSSP、EASE、CSEE&T、APSEC等在內的一流國際會議上發表論文40餘篇。DevOps中國技術社群發起人之一。

張賀,南京大學軟體工程教授、博士生導師,入選登峰人才計劃(A-層次),澳大利亞聯邦科學院(CSIRO)主任科學家。在歐洲和澳洲從事軟體工程研究與實踐十餘年,2013年起就職於南京大學。長期從事軟體過程、軟體體系結構、服務計算、經驗軟體工程領域的科研和實踐。負責主持愛爾蘭(歐盟)、澳大利亞、中國等多個國家*科研基金專案。著有英文專著兩部,並在國際重要軟體工程學術期刊和會議上發表論文百餘篇,其中10篇會議長文獲*佳論文獎。

邵棟,南京大學軟體學院副教授,嵌入式技術系主任,軟體學院院長助理。主要從事軟體工程教學研究工作,研究方向為軟體過程、高科技市場理論、敏捷軟體開發、軟體工程教育等。2005、2009、2014年三次獲得教育部頒發的“國家*教學成果獎二等獎”,是國家*教學團隊“軟體工程主幹課程教學團隊”骨幹成員,編寫教材一部,擔任國家精品課程“計算與軟體工程”主講教師,兩次獲得“南京大學我*喜愛的老師”稱號。

精彩書評

本書是目前國內(也可能是國際範圍內)第*本DevOps的系統性教材,作者以雲端計算、微服務等新興領域為研究載體,聚焦其中的前言問題與關鍵技術,結合DevOps的應用開發案例與工具集,深入淺出、娓娓道來,是一本不可多得的軟體工程教材。
  ——李兵,武漢大學國際軟體學院副院長

本書全面地介紹了DevOps的由來和發展,遵循的基本原則,相關的理論基礎,推薦的有效方法和實踐,以及支援平臺和工具,為在校學生和企業開發與運維相關人員提供了一本內容豐富、易讀易懂的教材。
  ——劉超,北京航空航天大學軟體工程研究所所長

本書梳理了DevOps的發展歷史和基本概念,並給出了一些技術和實踐的方法,為初學者提供了很好的指導!
  ——王青教授,中國科學院軟體研究所

本書從理論、技術、工具、方法及實踐等多個角度對DevOps進行了全面詮釋,在內容上引入了多個組織採用Devops的成功案例,凝結了作者和眾多行業專家多年的實踐積累與思想結晶。
  ——汪浩,中金雲金融(北京)大資料科技股份有限公司研發總監

本書深入淺出地剖析了DevOps模式如何具體應用到產品研發中,當我們面對日益複雜的業務場景和技術發展時,能提供更為高效的方法和策略提升綜合競爭力。
  ——洪緋,阿里巴巴土豆視訊產品研發副總裁

本書全面且深入淺出地介紹、闡述並探討了DevOps本身及其運用的重要維度和方面,特別就DevOps的初學者學習理論基礎而言大有裨益。
  ——王潤,普華永道合夥人

本書詳細闡述了DevOps背後的軟體交付理論體系,並結合當下熱門的微服務架構設計和容器技術,帶領讀者領略了前沿的交付設計和實踐探索。
  ——郭峰,DaoCloud聯合創始人兼首席技術官

本書為大家清晰講述了DevOps理念發展的歷程,以及DevOps和敏捷、精益之間的聯絡,以實踐專案的方式將軟體架構、研發模式和研發工具結合起來,是一部非常值得大家去深入學習、探討的DevOps教程。
  ——徐峰,華為軟體開發雲CTO

InfoQ在很早之前就向社群普及推廣DevOps相關的實踐,我們堅信DevOps將會對軟體開發產生深遠影響。本書是國內為數不多的系統講解DevOps技術的書籍,推薦閱讀。
  ——郭蕾,InfoQ總編輯