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