本文來自微信公眾號“twt企業(yè)IT社區(qū)”,作者/一只紅松鼠。
提到信創(chuàng),大家第一反應(yīng)就是自主可控。不過信創(chuàng)的定義卻是“信息技術(shù)應(yīng)用創(chuàng)新”,因?yàn)槿绻荒軇?chuàng)新,不能為業(yè)務(wù)帶來價(jià)值,自主可控是難以有持續(xù)的投入來維持的,自主可控本質(zhì)是為了加速新生態(tài)的成熟速度,是為創(chuàng)新服務(wù)。因此要做好信創(chuàng),需要從埋頭于自主可控中抽出一部分精力,思考如何從信創(chuàng)中獲取價(jià)值。
本文是對自己出于省錢、提升性能,支撐業(yè)務(wù)發(fā)展等目的的IT改造替換經(jīng)驗(yàn)以及對產(chǎn)業(yè)界類似活動(dòng)的觀察分析,得出的信創(chuàng)如何為業(yè)務(wù)帶來價(jià)值的思考,希望對朋友們的工作有所幫助。
為業(yè)務(wù)帶來價(jià)值的標(biāo)準(zhǔn)
在開始分析前,先定義一下怎樣才算為業(yè)務(wù)帶來價(jià)值,這是我總結(jié)的兩種情況:
在獲得與原有方案架構(gòu)相同能力的情況下,如相同的業(yè)務(wù)支撐能力(性能,可用性,安全性等),付出的硬件、軟件改造和開發(fā)、運(yùn)維和使用(如機(jī)房租賃,電費(fèi)或云服務(wù)費(fèi))綜合成本更低。
突破原有能力極限,能更好支撐業(yè)務(wù),且投入產(chǎn)出比能支持業(yè)務(wù)運(yùn)轉(zhuǎn)。
按這個(gè)定義,雖然有些替代工作能成功支撐業(yè)務(wù),比如數(shù)據(jù)庫,由于需要大量的硬件來補(bǔ)齊性能和可靠性的差距,或者應(yīng)用改造和運(yùn)維的成本有比較大上升,暫時(shí)還不能算為業(yè)務(wù)帶來價(jià)值。
接下來首先看看技術(shù)替代的成功案例,再分析一下技術(shù)替換在什么情況下能為業(yè)務(wù)帶來價(jià)值,最后轉(zhuǎn)回用戶視角,分析一下如何做能夠讓信創(chuàng)更好地為業(yè)務(wù)服務(wù)。
國內(nèi)外技術(shù)替代獲得商業(yè)成功的案例
全閃存陣列的彎道超車
AFA(All-Flash Array)或SSA(Solid-state Arrays)曾經(jīng)是Gartner關(guān)注的創(chuàng)新技術(shù),AFA不僅是把存儲介質(zhì)換成SSD,而是根據(jù)SSD相對機(jī)械盤不需要機(jī)械尋道、擦寫更快的特性,以新緩存配置與算法、控制器配置來充分發(fā)揮SSD介質(zhì)性能,并通過SSD介質(zhì)的特性優(yōu)化快照原理、重刪壓縮能力,因此與為了一種新架構(gòu)?,F(xiàn)在全閃存陣列已經(jīng)成為企業(yè)存儲的主流并于2018年從Gartner技術(shù)成熟度曲線中“畢業(yè)”。
在這場技術(shù)迭代中,老牌存儲廠商試圖在原有機(jī)械盤陣列上不重構(gòu)架構(gòu)直接支持SSD盤,無法充分發(fā)揮SSD介質(zhì)的優(yōu)勢,在創(chuàng)新上力不從心,最終只能靠收購維持江湖地位,而Pure Storage則靠AFA殺出重圍,成功躋身存儲領(lǐng)先廠商。有意思的是,AWS作為云廠商,也收購了全閃存廠商E8 Storage,之后推出的“首個(gè)云上SAN存儲”IO2 Express頗有企業(yè)存儲的味道。
AFA以技術(shù)創(chuàng)新重塑了產(chǎn)業(yè),而它的成功說明客戶認(rèn)可了架構(gòu)替代對業(yè)務(wù)的價(jià)值。
ARM從移動(dòng)端到超算,到云再到桌面
20年初,我曾經(jīng)寫了國產(chǎn)化將帶來創(chuàng)新的新機(jī)遇一文。到今天AWS基于ARM架構(gòu)研發(fā)的CPU Graviton已歷經(jīng)三代,阿里也推出了自研的倚天CPU并大規(guī)模商用。蘋果則將桌面系統(tǒng)轉(zhuǎn)向自研的ARM CPU,而Windows開始向ARM發(fā)力則可能徹底改變個(gè)人PC X86的主流格局。
ARM的算力與X86架構(gòu)相比并沒有優(yōu)勢。但在單體應(yīng)用的算力需求過剩的時(shí)代,ARM CPU可以滿足大量應(yīng)用的需求,同時(shí)眾核(并發(fā)性能)、低功耗在很多場合還有優(yōu)勢。從超算到云再到桌面,ARM在與Intel的競爭中獲得了市場認(rèn)可,已經(jīng)逐漸站穩(wěn)腳跟。
應(yīng)用層X86化和海外銀行業(yè)大型機(jī)替換
看過廠商視角,再回到用戶視角。2008年我在某運(yùn)營商深度用X86刀片服務(wù)器替換Web業(yè)務(wù)使用的IBM小型機(jī),結(jié)果超出預(yù)期。首先因?yàn)閾?dān)心刀片機(jī)性能不行所以用了12片刀片替換了4個(gè)P595分區(qū),但割接上線后CPU的負(fù)載只有20%,大大緩解了系統(tǒng)壓力。而無論是采購成本,還是機(jī)房占地與耗電,刀片機(jī)都遠(yuǎn)低于小型機(jī)。至于代價(jià)幾乎沒有,因?yàn)閼?yīng)用不需要改造,只是改了改負(fù)載均衡的配置。自此之后,X86服務(wù)器替換小型機(jī)就成了自發(fā)而非任務(wù)性的工作,幾年時(shí)間,除了中間件CICS沒有X86版本外,全部前端業(yè)務(wù)和大量后端應(yīng)用換成了X86服務(wù)器,不但領(lǐng)導(dǎo)高興,運(yùn)維也高興,因?yàn)槭诸^寬裕能買更多機(jī)器,支撐業(yè)務(wù)就更輕松些。
如今IBM的日子過得不好,并不是中國的原因,大型機(jī)替換在國外金融業(yè)這一IBM的糧倉也在進(jìn)行,只不過速度相對中國慢些而已,這與替換的綜合收益分不開。
輪子本是洋人造,拿來主義為我用
對比一下會發(fā)現(xiàn),信創(chuàng)的根技術(shù)與國外的替代技術(shù)路徑是一致的,比如算力方面的ARM和AMD64,存儲方面的AFA和分布式存儲,網(wǎng)絡(luò)方面的ROCE,NvME Over ROCE/TCP。雖然遺憾我們還未實(shí)現(xiàn)根技術(shù)創(chuàng)新超越,但證明我們并沒有因自主可控的壓力閉門造車,這就為實(shí)現(xiàn)創(chuàng)造業(yè)務(wù)價(jià)值最關(guān)鍵的:實(shí)現(xiàn)同等能力替代創(chuàng)造了有利條件。
技術(shù)替換怎樣才能帶來價(jià)值
這些成功的“信創(chuàng)”有一些共同點(diǎn),正是它們能為業(yè)務(wù)帶來價(jià)值的原因:
主要能力差距不大,能部分/全部一對一替換
要做到為業(yè)務(wù)帶來價(jià)值的第一條綜合成本更底,需要信創(chuàng)產(chǎn)品的主要能力與被替代者比較接近,這樣就不會為關(guān)鍵能力的補(bǔ)齊而耗費(fèi)大量成本,同時(shí)新產(chǎn)品的成本優(yōu)勢能真正發(fā)揮。
2015年我負(fù)責(zé)運(yùn)營商B域(主要負(fù)責(zé)計(jì)費(fèi)和為受理客戶業(yè)務(wù))的IT規(guī)劃和系統(tǒng)集成時(shí),客戶采購了一批華為的高端存儲。因?yàn)檫@是華為存儲在運(yùn)營商核心業(yè)務(wù)的首次使用,誰都沒有使用經(jīng)驗(yàn),不清楚在這么重要的系統(tǒng)中應(yīng)該怎么配置存儲。于是剛測試就發(fā)現(xiàn)性能有問題,后來發(fā)現(xiàn)是多路徑配置問題,華為按之前的業(yè)務(wù)經(jīng)驗(yàn),沒有為每條路徑連接所有的控制器,后來又調(diào)整了LUN的條帶配置,上線后性能和現(xiàn)網(wǎng)使用的EMC、HDS存儲沒什么差別。還有如發(fā)現(xiàn)華為的存儲不支持命令行進(jìn)行容災(zāi)和Clone操作,于是寫了個(gè)腳本直接向控制器發(fā)指令湊合了。此外還發(fā)現(xiàn)一些功能看上去有,但用習(xí)慣了EMC等廠家的我們和華為對功能的理解和操作方法有很大的不一致,不過最終都找到了規(guī)避的方法。之后幾年,可靠性沒有出問題,也就是性能和長期穩(wěn)定性過關(guān),就不必為此付出太多成本,替換難度不大,成本則有明顯的下降。
目前替換中最困難的數(shù)據(jù)庫則相反。15年就已實(shí)現(xiàn)的國產(chǎn)存儲去E,可以做到一對一替換性能可靠性不降,但到今天如果用分布式數(shù)據(jù)庫做去IOE,硬件需求需要幾倍甚至十幾倍增長來彌補(bǔ)可靠性和性能的差距,應(yīng)用改造和后期維護(hù)成本也高,代價(jià)巨大。
前文提到的用X86刀片服務(wù)器替換與也類似,在第一批替換時(shí),還特意選擇了電信系統(tǒng)使用的可靠性較高的服務(wù)器。雖然新采購的服務(wù)器可靠性有所下降,但通過負(fù)載均衡整體的可靠性仍能保證。而這兩次替換還反映出成功替換中的另一個(gè)特點(diǎn):
盡量減少應(yīng)用改造
以AFA替換原有存儲,不但不需要應(yīng)用改造,反而可能因?yàn)樾阅艿奶嵘苊饬嗽?jì)劃中的數(shù)據(jù)庫拆分等應(yīng)用改造,并使業(yè)務(wù)體驗(yàn)得到改善。在Web應(yīng)用替換為86服務(wù)器時(shí),雖然節(jié)點(diǎn)增加了,但由于應(yīng)用接近無狀態(tài),可以很容易基于原有的負(fù)載均衡架構(gòu)進(jìn)行Scale Out擴(kuò)展,因此也不需要應(yīng)用改造。
類似的情況還有很多,比如用NAS替換服務(wù)器搭建的NFS,用SSD高性能NAS替換GPFS,都不涉及應(yīng)用改造。由于很多替代是核心業(yè)務(wù),光改造的風(fēng)險(xiǎn)就會使替換變得異常困難,而且真正有重構(gòu)核心業(yè)務(wù)架構(gòu)改造能力的并不多。
架構(gòu)和工具彌補(bǔ)能力缺失
除了一對一能力足夠強(qiáng)的替換外,像X86替換前端應(yīng)用就利用了負(fù)載均衡來補(bǔ)齊可靠性和單機(jī)擴(kuò)展性(小機(jī)分區(qū)可以加CPU/內(nèi)存)的短板。成功的架構(gòu)或工具的特點(diǎn)是,要么是把原來大/中/小型機(jī)中具備的能力補(bǔ)回來,要么是用在IOE架構(gòu)中也能起到優(yōu)化作用。
比如大/中/小型機(jī)中支持將一臺物理設(shè)備分割成若干邏輯設(shè)備的能力,被虛擬化和容器補(bǔ)齊了。另一些技術(shù)則解決了替換后的能力短板:緩存技術(shù)彌補(bǔ)了數(shù)據(jù)庫能力的不足,容器編排調(diào)度提高了應(yīng)對業(yè)務(wù)壓力的能力、加快了問題響應(yīng)速度、簡化了安裝部署發(fā)布和運(yùn)維操作,調(diào)用鏈技術(shù)提高了故障定位效率等。這些技術(shù)在單體產(chǎn)品能力較弱時(shí),可以彌補(bǔ)短板,等單體產(chǎn)品能力提升上來,仍然可以用來增強(qiáng)系統(tǒng)的能力,甚至在信創(chuàng)前就有應(yīng)用了。不過這類優(yōu)化往往不能帶來質(zhì)變,比較典型的數(shù)據(jù)庫,阿里去IOE,淘寶的數(shù)據(jù)庫普遍替換為MySQL。但17年后,阿里研發(fā)了PolarDB數(shù)據(jù)庫IOE從架構(gòu)的層面又回來了,與分庫分表結(jié)合成云原生數(shù)據(jù)庫:
分庫分表和云原生數(shù)據(jù)庫的結(jié)合
不管是PolarDB,還是它的“老師”AWS Aurora都是希望“達(dá)到商業(yè)數(shù)據(jù)庫的性能和可靠性,回到一對一替換的路子上去。
新架構(gòu)顛覆舊格局
真正能形成質(zhì)變的新架構(gòu)比如大數(shù)據(jù)、AI。從架構(gòu)上,它們更容易通過分布式架構(gòu)來實(shí)現(xiàn),從業(yè)務(wù)角度看,大量業(yè)務(wù)是新業(yè)務(wù),替換難度小,就不展開討論了。
中國制造打破壟斷溢價(jià)
這段純粹用來增加自豪感:-D
IOE貴,有合理的技術(shù)領(lǐng)先溢價(jià),這部分換成任何廠商都少不了,因?yàn)榧夹g(shù)溢價(jià)能換來支撐能力的提升和綜合成本的下降,是合理的。但I(xiàn)OE的貴更多是壟斷溢價(jià),壟斷越強(qiáng)溢價(jià)越高,最明顯的是大型機(jī),其次是數(shù)據(jù)庫。其實(shí)海外高技術(shù)產(chǎn)品都存在類似的問題,曾經(jīng)一臺電信設(shè)備上的擋風(fēng)板不過是一個(gè)鐵片就要幾萬塊。
但當(dāng)中國產(chǎn)品達(dá)到能替換,尤其是一對一替換這些海外高科技產(chǎn)品時(shí),擋風(fēng)板就不要錢了,高鐵跑遍中國,造船份額世界第一……用戶獲得的產(chǎn)品更好了,而成本卻更低了,讓高技術(shù)為更多人提供了服務(wù)。
回顧高鐵、光伏的發(fā)展過程,信創(chuàng)更像一個(gè)大號的產(chǎn)業(yè)扶植政策,最終目的還是實(shí)現(xiàn)世界領(lǐng)先。
信創(chuàng)中用戶可以如何做
如果是IT產(chǎn)品的用戶,在信創(chuàng)中希望降低難度,或者也想?yún)⑴c其中貢獻(xiàn)自己的智慧,我認(rèn)為可以考慮以下幾方面:
減少應(yīng)用改造
除非你在一家偉大的企業(yè),能投入巨量資源進(jìn)行業(yè)務(wù)改造并且能持續(xù),否則最好的策略就是不改造應(yīng)用。不過不改造應(yīng)用不等于不創(chuàng)新,更不是落后的表現(xiàn),需要改變思路。
優(yōu)先一對一替換
通常我們在做替換時(shí),都會把能實(shí)現(xiàn)一對一替換作為首選方案。不過信創(chuàng)的特殊性可能使我們專注于架構(gòu)路線之類的爭議中而忽略了這一基本原則。一個(gè)數(shù)據(jù)庫,一臺存儲,里面是什么架構(gòu)并不是最重要的,最重要的是能跑得動(dòng)業(yè)務(wù)。從去IOE到學(xué)IOE阿里是最務(wù)實(shí)的??纯醋罱性茝S商的動(dòng)向,已經(jīng)有了走大型機(jī)路子的苗頭。如果我們真從學(xué)IOE再到成為IOE,到哪天中國能造大型機(jī)了,為什么不用呢?
找到和驗(yàn)證能實(shí)現(xiàn)一對一替換的技術(shù)路線,是最實(shí)惠的創(chuàng)新。
在使用新架構(gòu)時(shí)減少應(yīng)用改造
有一個(gè)誤區(qū)就是新架構(gòu)要用”新技術(shù)“。比如云計(jì)算一定要用分布式架構(gòu),容器一定要用分布式存儲……但實(shí)際上虛擬化,容器甚至分布式都是在小/大型機(jī)時(shí)代就出現(xiàn)的技術(shù),甚至分布式、虛擬化也是大型機(jī)、高端磁盤陣列、Oracle RAC技術(shù)的“根”技術(shù)。公有云走大型機(jī)的老路也是創(chuàng)新。
如果跳出架構(gòu)的束縛,很多問題就很好解決。比如小規(guī)模的虛擬化系統(tǒng),使用磁盤陣列可能比分布式存儲還便宜,易維護(hù),可靠性高。再看看我印象最深的則是重載應(yīng)用的容器化:
容器的編排調(diào)度能力可以很方便進(jìn)行應(yīng)用任務(wù)調(diào)度,因此對重載的批處理業(yè)務(wù)很有價(jià)值。然而像運(yùn)營商的話單處理業(yè)務(wù)使用的是大量小文件共享文件系統(tǒng),容器“原生”的共享文件存儲比如Ceph、GlusterFS性能差得太遠(yuǎn),可靠性也不盡人意。不過如果跳出架構(gòu)優(yōu)選的框框,把GPFS當(dāng)成容器宿主機(jī)的本地目錄,一樣能實(shí)現(xiàn)話單處理的容器化。后來隨著GPFS被國產(chǎn)閃存NAS(非分布式存儲)替代,容器存儲信創(chuàng)就完成了。如果跳過GPFS那一段,那么容器化改造的過程應(yīng)用沒有做什么改造。如果再調(diào)整一下存儲接口,用CSI實(shí)現(xiàn)動(dòng)態(tài)分配就又實(shí)現(xiàn)了新的創(chuàng)新。
當(dāng)遇到新架構(gòu)的問題時(shí),不妨用“老產(chǎn)品”嘗試解決,可能會收到意想不到的效果。
將經(jīng)驗(yàn)賦能廠商,促進(jìn)能力提升
回顧下15年做存儲替換的例子,基本上所有的功能華為都有,因?yàn)镋MC的功能都是公開的,相當(dāng)于EMC告訴華為存儲要做什么,但EMC并不會告訴華為為什么要做,做了干什么,自然華為就不一定知道怎樣做用戶才能用得更好,所以國產(chǎn)廠商的產(chǎn)品從可用到好用的過程中,吸收用戶的意見和經(jīng)驗(yàn)非常重要。
中國企業(yè)的研發(fā)主力在國內(nèi),交流更方便,同時(shí)一些領(lǐng)先廠商已經(jīng)和行業(yè)客戶建立了聯(lián)合創(chuàng)新甚至是聯(lián)合研發(fā)機(jī)制,一些開源社區(qū)和產(chǎn)業(yè)聯(lián)盟也起到了傳遞用戶經(jīng)驗(yàn)和創(chuàng)意的作用。如果有這方面的條件,可以考慮通過上述渠道與廠商一起推進(jìn)產(chǎn)品能力提升,自己則能更早受益。
重點(diǎn)關(guān)注可持續(xù)使用的架構(gòu)和工具
2017年我們曾經(jīng)想在核心業(yè)務(wù)中進(jìn)行分庫分表改造,不過打算使用Oracle數(shù)據(jù)庫。這個(gè)在當(dāng)時(shí)看來“不正確”的思路,今天卻和AWS、阿里的云原生數(shù)據(jù)庫思路很接近。對一些對業(yè)務(wù)有明確價(jià)值的架構(gòu)改進(jìn),比如緩存、分庫、容器化,可以在現(xiàn)有系統(tǒng)中就進(jìn)行嘗試,這樣無論是對現(xiàn)有業(yè)務(wù)還是對未來的遷移都是有價(jià)值的。