推薦序:使用GitOps實現Kubernetes的持續部署

十年前,我在一個大型的複雜項目中擔任項目經理。那時候,敏捷軟件開發方法並沒有像今天這樣廣爲人知。整個軟件項目的開發週期分爲六個大的交付里程碑,我和團隊一起遵循從需求分析、軟件設計、本地開發、構建、測試、發佈、到部署、運維的全流程。然而與許多大型研發項目類似,每次上線前都會面臨“煎熬”:部署代碼需要更多時間;一旦出現生產問題,開發人員無法訪問基礎設施。而且基礎設施問題可能需要很長時間才能解決,且依賴多團隊、跨組織合作。

這就是“最後一公里”的問題,即如何讓軟件從“開發完成”迅速實現“上線發佈”,以及如何讓軟件工程師擁有一種通用語言,通過軟件交付自動化和架構、流程的變更,使軟件的構建、測試、發佈更加快捷、頻繁和可靠。

要想在數字時代真正繁榮發展,我們都需要像“軟件人”一樣思考。軟件人是那些透過軟件視角看世界的人。我們無限樂觀,因爲我們相信,任何業務問題一旦進去軟件領域,都可以得到解決。把越來越多的問題帶入軟件領域,正是我們這些軟件從業者在過去數十年裏一直在做的事情。在這個過程中,我們改造CI/CD流水線並採用GitOps流程,於是有了像Kubernetes和Docker這樣的標準,所有工程師就可以在基礎設施和部署方面使用一種通用語言。

感謝本書的出版。它爲我們打開了一扇門:全書第一部分系統講述了GitOps的演進過程,以及Kubernetes與GitOps的關係;第二部分深入淺出地講解了環境管理、流水線、部署策略、訪問控制等,這些模式與流程於我們並不陌生。作爲讀者,我們常常會問:軟件爲什麼、以及如何解決這個問題,本章節給出了答案;第三部分從工具層面展開,引入工具、實現自動化是持續部署落地的關鍵環節。

我與本書的譯者張揚老師相知多年,我非常敬重張揚老師在中國推進DevOps落地的責任與擔當。DevOps的理念最早在十多年前出現,它代表着一種嘗試,通過讓開發人員處理所有的步驟來提高開發效率。我們希望將DevOps的三大原則“流動、反饋和持續學習”拓展到整個業務領域,這並不容易。但正如《人月神話》中提到的:軟件工作充滿樂趣,這是因爲我們能夠創造出於他人有益的東西,享受隨之而來的快樂情緒;我們能夠製造類似“九連環”和拼圖這樣環環相扣的複雜裝置,並且觀看它們精巧的運轉。

數字化轉型有一個非常重要的目的,就是讓客戶和最終的生產者距離更近,從而降低客戶和企業內部交易成本,最終降低全社會的交易成本。數字化轉型的關鍵在於拉通客戶端的需求和企業內部生產運營,這就需要企業內部各個部門的快速協作與靈活變通,這些工作是最難的。作爲數字化轉型顧問和大型研發團隊的領導者,我很慶幸能看到本書的問世,書中的很多實踐和工具能幫助我們推進數字化轉型。

建議大家靜下心來,閱讀這樣一本好書,理解書中講述的工具、流程以及軟件設計的藝術。開卷有益,祝閱讀愉快!

萬學凡,凱捷諮詢全球副總裁,中國區數字化團隊負責人

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章