文/張百靈
挖掘快速交付的技術(shù)核心看傳統(tǒng)應(yīng)用如何輕松上云
文/張百靈
近年來,互聯(lián)網(wǎng)企業(yè)一直作為新技術(shù)的探索者和創(chuàng)新者,隨著開源技術(shù)的不斷發(fā)展,整體IT架構(gòu)出現(xiàn)了根本性的變革,秒級部署、每日上線等交付方式已經(jīng)形成新常態(tài),這讓很多傳統(tǒng)企業(yè)羨慕不已,也想通過技術(shù)變革獲取IT敏捷、快速交付能力。
隨著云計算、容器技術(shù)、微服務(wù)架構(gòu)、敏捷交付、持續(xù)集成等相關(guān)概念和技術(shù)的逐步成熟,云應(yīng)用早已不是互聯(lián)網(wǎng)企業(yè)所獨享的技術(shù)優(yōu)勢,很多傳統(tǒng)企業(yè)受到互聯(lián)網(wǎng)思維模式的啟發(fā),紛紛邁出了上云的第一步,并且開始收獲新技術(shù)帶來的諸多成效。
本文將對糧食這樣一個關(guān)系國家民生基礎(chǔ)工程的典型傳統(tǒng)行業(yè),如何利用云計算技術(shù)徹底改變傳統(tǒng)交付模式,以技術(shù)推動變革,用變革提升效率,大幅釋放生產(chǎn)力的案例進行分析和探討。
怡和祥云的交付團隊可以在6~7天交付出一個可以供用戶使用的用戶程序APP,65天交付上線一套智慧倉庫系統(tǒng),這樣的速度是否有些匪夷所思?把交付過程拆解來看,不難看發(fā)現(xiàn)交付過程的每一個階段都可以按天甚至按分鐘記錄,見表1。那么如此驚人的速度是如何練就的呢?
表1 某APP交付各階段時間表
步驟1:換個角度看業(yè)務(wù),一切皆“服務(wù)”
傳統(tǒng)應(yīng)用上云的第一步是將一個完整的業(yè)務(wù)場景,通過“解耦”的視角進行服務(wù)化。從云端看業(yè)務(wù)時,一切業(yè)務(wù)場景都是由“微服務(wù)”構(gòu)成的,一切業(yè)務(wù)場景全都可以通過微服務(wù)來進行定義。
業(yè)務(wù)視角:以某省儲備糧的糧庫管理為案例,在一座糧倉里面,為保證糧食存儲期間的安全,以及保證能夠追溯糧食流通過程,主要涉及以下幾個方面:
貨位監(jiān)控:備案倉內(nèi)糧食信息,并生成庫存識別碼;
視頻監(jiān)控:通過攝像頭實時監(jiān)控倉內(nèi)情況;
環(huán)境監(jiān)控:對倉內(nèi)溫度、濕度和氣體成分進行監(jiān)控;
蟲害監(jiān)控:自動監(jiān)測倉內(nèi)糧食的蟲害情況。
服務(wù)視角:怡和祥云打破以往的項目模式,將糧庫管理這一業(yè)務(wù)場景細化為10個獨立的過程,分別對應(yīng)一個微服務(wù),由微服務(wù)拼裝成智能倉庫系統(tǒng),如圖1、2所示。
由此看見,在云上看業(yè)務(wù)時,所有業(yè)務(wù)都是由獨立的微服務(wù)拼裝組合而成,IT交付過程從傳統(tǒng)的流水線式交付可以輕松變?yōu)楠毩⒌能囕?,不再互相制約,加速交付速度。
步驟2:重塑組織形態(tài),構(gòu)建小而美的微型團隊
雖然從交付模式說起,但是依據(jù)“康威定律”,可以發(fā)現(xiàn)交付模式其實是一個組織溝通形式的反應(yīng)。因此要想具備上述微服務(wù)的“眼睛”,必然要具備微服務(wù)的“大腦”,即組織形態(tài)在微服務(wù)架構(gòu)下必然要進行重塑。
組織形態(tài)由以項目為核心轉(zhuǎn)化為以微服務(wù)產(chǎn)品為核心,由大組織的集中管理變?yōu)樾〗M織的自治管理,更加敏捷而靈活,如圖3所示。在智能倉庫系統(tǒng)的開發(fā)過程中,正式采用了上述微服務(wù)架構(gòu)下的組織形態(tài),6~7天即可上線一個業(yè)務(wù)完整的小程序。
步驟3:轉(zhuǎn)化交付思維,以“快”應(yīng)“變”是云端的交付思維模式
在應(yīng)用設(shè)計時,以微服務(wù)架構(gòu)進行應(yīng)用開發(fā)設(shè)計,秉承“項目不停、需求不斷;持續(xù)迭代、持續(xù)交付”的原則,保證應(yīng)用快速落地和持續(xù)優(yōu)化。業(yè)務(wù)活動轉(zhuǎn)化為功能應(yīng)用過程示意圖如圖4所示。每個微服務(wù)都是一個獨立的業(yè)務(wù),業(yè)務(wù)人員(微服務(wù)產(chǎn)品經(jīng)理)可隨時提出需求變更,對微服務(wù)進行迭代,保證了業(yè)務(wù)流程的充分靈活性。
圖1 以業(yè)務(wù)視角看業(yè)務(wù)
圖2 以微服務(wù)視角看業(yè)務(wù)
圖3 重塑組織形態(tài)
圖4 持續(xù)交付-應(yīng)用設(shè)計原則
圖5 快速交付能力的核心技術(shù)
為實現(xiàn)敏捷、快速交付能力,其背后強大的核心技術(shù)是關(guān)鍵,如圖5所示。下面我們將逐條解讀快速交付背后的核心技術(shù)。
資源虛擬化能力:基礎(chǔ)設(shè)施和技術(shù)資源全面云化,以服務(wù)的形式按需開通,根據(jù)負載隨需擴展,實時獲取業(yè)務(wù)變化,并對此作出響應(yīng),提高了資源利用率和開發(fā)效率。
分布式環(huán)境的開通和管理能力:微服務(wù)架構(gòu)下,每個業(yè)務(wù)單元可以獨立運行與管理,保證了高可用性。
DevOps自動化作業(yè)能力:通過工具集成與平臺化管理手段,形成自動化持續(xù)交付流水線,將開發(fā)和運維融為一體,加快業(yè)務(wù)響應(yīng)速度,提高交付質(zhì)量。
重塑組織架構(gòu)的能力:打破以往的開發(fā)形式,重構(gòu)人員組織,組建微服務(wù)團隊,由微服務(wù)團隊對服務(wù)的整個生命周期負責(zé),團隊自治,提高了開發(fā)效率。
為保證應(yīng)用具備云原生應(yīng)用的特點,在應(yīng)用架構(gòu)設(shè)計、開發(fā)管理過程中,要嚴格對標原生云應(yīng)用12 factor,這樣能夠輕松實現(xiàn)業(yè)務(wù)縱向擴展或資源水平擴展。此外,還能實現(xiàn)由平臺負責(zé)處理復(fù)雜、重復(fù)的事情,使開發(fā)人員更加專注于業(yè)務(wù)應(yīng)用的創(chuàng)新。怡和祥云在產(chǎn)品研發(fā)過程中,對原生云應(yīng)用12factor的落地工作見表2。
怡和祥云在糧食信息化建設(shè)過程中,緊密貼合糧食業(yè)務(wù)需求,以O(shè)penBridge平臺為支撐,全面釋放糧食業(yè)務(wù)價值,實現(xiàn)了對糧食信息化的顛覆,為糧食信息化的標準化奠定了堅實基礎(chǔ)。在未來的發(fā)展中,怡和祥云將繼續(xù)嚴格對標云原生應(yīng)用的12要素,全面提高應(yīng)用的交付速度,助力更多傳統(tǒng)企業(yè)快速上云。
表2 原生云應(yīng)用12 factor對標實踐
作者單位:怡和祥云(北京)科技有限公司