借力DevOps,日本軟銀如何搶占先機?
和大家耳熟能詳的任天堂、索尼、東芝一樣,日本軟銀是一家巨無霸級企業,堪稱互聯網帝國幕后王者。二十年間,投資超過全球六百家企業,其中就包括雅虎、阿里巴巴、盛大、網易等。為了推進投資戰略并不斷拓展新的業務領域,其旗下子公司軟銀電信正利用人工智能、物聯網、機器人技術等,建立更多創新服務,這些服務由多達800套系統提供支持,整個開發、維護與操作體系覆蓋近5000位內部及合作方工作人員。
軟銀集團對于快速、高效的系統開發需求正在迅速增長,為了滿足這種不斷變化的需求,軟銀電信決定啟動一項系統開發平臺計劃(以下簡稱GIP戰略),希望借此建立起更為高效的服務基礎。此外,該公司IT部門還著手推進運營改革,希望在將開發成本降低一半的同時,讓生產效率提升一倍。信息技術部平臺開發總監Toyofumi Yamashita表示,“我們GIP的戰略重點,在于使用新架構滿足整個IT部門對于新型開發方法的不斷追求。新系統提供的開發資源將以分布方式支持新業務增長,而我們則需要在朝這個目標不斷努力的過程中保持良好的服務水平。”
不過,在大型企業環境中提高開發生產力絕非易事。目前日本軟銀的大部分項目仍在使用瀑布式方法,也就是按順序依次完成不同任務與流程,之后再推進下一步,開發人員更像是“流水線上的工人”。遺留系統帶來的沉重維護負擔,也讓開發人員難以專注于處理更有價值的工作。
為此,軟銀電信決定引入技術合作伙伴以協同開發GIP戰略,由此邁出快速轉向DevOps的腳步。
牽手紅帽,建立容器與DevOps技能儲備
為了建立DevOps與敏捷化工作流程,軟銀電信決定與開源解決方案供應商紅帽開展合作。其實在此之前,軟銀多年來一直在內部系統開發中使用紅帽產品,包括Red Hat Enterprise Linux 與 Red Hat Middleware。這次合作,軟銀希望向紅帽“取經”,學習采用DevOps的各個關鍵步驟,包括敏捷化、持續集成與交付(CI/CD)以及自動化測試等。經過初步培訓,軟銀把個人客服管理(簡稱PAM)作為DevOps的試水場景,PAM是一套面向應用程序的管理系統,用于自動響應店內客戶的實時查詢。
為了更好地支持其全新DevOps功能,軟銀擴展了原有Red Hat軟件環境,向其中引入包括Red Hat OpenShift Container Platform在內的其他產品。OpenShift Container Platform由軟銀自有數據中心進行部署及維護,可存儲該公司的各類應用程序服務、提供動態存儲配置,并通過多租戶與打包鏡像為不同團隊及應用程序提供支持。這些鏡像不僅支持對單一容器功能進行變更,同時也可配合紅帽的軟件與服務顯著提高敏捷性與生產力。
要成功采用DevOps,一大前提在于廣泛引入容器機制。但軟銀在容器使用方面缺乏經驗,相關技能也不夠完備。如果從零開始自主嘗試,肯定無法滿足PAM項目的時間規劃。在這方面,紅帽組建起一支擁有多種專業背景的技術團隊,在他們的支持下,軟銀很快了解到OpenShift的使用方法并極大提升了開發效率。同時,紅帽還為每個DevOps團隊指派了專家,確保軟銀能夠成功采用并不斷嘗試新的、協作水平更高的工作方法與容器知識。 軟銀平臺推廣團隊成員Takuya Sasaki表示,“如果沒有他們的幫助,我們根本不可能在短時間內快速適應DevOps方法。”
完成了敏捷性與DevOps工作方法的初步普及,軟銀方面做好了全面協作的準備。基于Scrum的開發流程使,團隊成員可以隨時共享自己的工作狀態與時間表,確保每位參與者都能深入理解項目狀態,進而為其他更深層次的協作創造機會。“我們培養起良好的合作精神,每個人都真正感受到自己在推動項目發展中扮演的角色與發揮的作用。”Takuya說。
通過迭代方法及模塊化技術提高部署頻率
憑借響應性更強的技術選項與工作方法,軟銀團隊得以迅速收取反饋,并根據需求調整項目及代碼。例如,自動化與CI/CD機制幫助團隊減少了代碼測試方面的大量重復性任務。采用OpenShift Container Platform,軟銀方面還得以在多種獨立環境中通過受支持的代碼庫打包各類應用程序。這種隔離機制確保任何單一應用程序的變更都不致影響到其他應用程序,由此加快了開發流程中的迭代與測試速度。
憑借這些變革,軟銀開發團隊在PAM項目開發期間,得以將每兩周發布1次的頻率提升至每兩周發布118次。
隨著PAM項目的成功,軟銀信息技術部門的其他開發團隊也開始采用DevOps工作方法。軟銀電信信息技術部平臺開發平臺推廣經理Aya Sugimura表示,“著眼于未來,軟銀計劃在超過半數系統的開發工作中使用DevOps方法,而我們則開始考慮在整個IT生命周期之內全部實現系統流程自動化。”
放眼未來,軟銀還將進一步建立跨部門任務團隊,提升DevOps與相關技能水平。Toyofumi總結道,“通過與紅帽聯手推進的PAM項目,每位開發人員都開始將項目質量與工作效率視為自己的核心訴求。我們則希望借PAM的成功,把DevOps確立為我們新的開發實踐標準。”
結語
作為合作伙伴,紅帽助力軟銀掌握最佳實踐,并決定將DevOps納入其個人客服管理(PAM)項目。軟銀電信還將Kubernetes與Red Hat OpenShift Container Platform結合起來作為其應用環境基礎,進而提高開發人員生產力、協作性與部署頻率。