沈建苗編譯
移動大型機(jī)工作負(fù)載之所以很難,是因?yàn)樗鼈兒軓?fù)雜。最近筆者有機(jī)會與Cobol-IT、Compuware、Heirloom Computing、TmaxSoft,以及另外幾家公司的代表進(jìn)行交流,這些公司關(guān)注的客戶群是仍在使用大型機(jī)的企業(yè)。有幾家公司(比如Compuware)專注于為大型機(jī)添加快速應(yīng)用程序開發(fā)和部署(又叫DevOps)技術(shù)。
而大多數(shù)公司專注于說服企業(yè):是時(shí)候丟棄大型機(jī)了,應(yīng)該將那些工作負(fù)載遷移到運(yùn)行Windows或Linux的基于行業(yè)標(biāo)準(zhǔn)的x86系統(tǒng)上,或者遷移到中檔Unix系統(tǒng)上。
不管受到行業(yè)的關(guān)注力度有多大,大型機(jī)仍然是企業(yè)數(shù)據(jù)中心的一個(gè)常客。關(guān)鍵問題是為什么會這樣?
大型機(jī)工作負(fù)載復(fù)雜
希望遷離大型機(jī)的企業(yè)面臨的一個(gè)問題是:它們自己的工作負(fù)載帶來的“全有或全無”(all-or-nothing)的挑戰(zhàn)。這種工作負(fù)載相互依賴、錯(cuò)綜復(fù)雜,以至于要一下子遷移過去,否則企業(yè)就會受到影響。
問題通常集中于因零敲碎打地添加功能或需要添加新的開發(fā)或運(yùn)維工作人員,以支持目標(biāo)環(huán)境而引起性能欠佳或增加復(fù)雜性。最終,硬件或軟件方面節(jié)省的成本不如混合計(jì)算解決方案所需要的成本大。
一些公司選擇用基于云的解決方案取代全部功能,或者只是將整個(gè)定制解決方案換成一款定制性較差的、現(xiàn)成的軟件包。在這種情況下,企業(yè)決策者似乎接受了以較差的定制性來換取一些好處:通過使用一批基于行業(yè)標(biāo)準(zhǔn)的系統(tǒng)來提升性能;更容易找到開發(fā)和運(yùn)維工作人員,或者為可以在行業(yè)標(biāo)準(zhǔn)領(lǐng)域找到的額外硬件、軟件和軟件組件降低成本。
筆者注意到,這個(gè)“大型機(jī)遷移”市場中的許多競爭對手都針對在大型機(jī)上執(zhí)行的基于Cobol的應(yīng)用程序。一些公司希望說服客戶通過將Cobol轉(zhuǎn)變?yōu)镴ava來遷移到其他計(jì)算平臺或云端,另一些公司建議遷移到更容易移植的Cobol版本,還有個(gè)別幾家公司建議使用不同的語言處理環(huán)境。如果沒記錯(cuò)的話,其他那些平臺中有一些包括Ruby和Python。
雖然所有這些服務(wù)似乎至少提供幫助企業(yè)停用大型機(jī)的某種技術(shù),但沒有一家真正著手改善整個(gè)環(huán)境。
遷移的潛在復(fù)雜性
大型機(jī)工作負(fù)載常常很復(fù)雜,結(jié)合了編程語言、工作負(fù)載管理工具、事務(wù)處理監(jiān)控工具和大型機(jī)數(shù)據(jù)庫引擎。整批工作負(fù)載的遷移通常包括找到一種方法,可以一次性取代下列所有的工具:作業(yè)控制語言(JCL)文件;事務(wù)處理環(huán)境監(jiān)控工具(通常是CICS或IMS TP);數(shù)據(jù)庫引擎,可能是下列任何單獨(dú)一種,也可能與另一種結(jié)合起來,包括Adabas、CA Datacom、IDMS、Oracle、FOCUS、NOMAD、TOTAL/SUPRA/ULTRA、IBM IMS、Model 204、SQL / DS或另外幾種產(chǎn)品;用一種或多種受到支持的大型機(jī)語言(將近20種)編寫的應(yīng)用程序。
不難看出,將整個(gè)工作負(fù)載環(huán)境從大型機(jī)遷移到別處是個(gè)很難的問題。這就是為什么大多數(shù)供應(yīng)商將“容易遷移”的部分挑出來作為其關(guān)注的賣點(diǎn)。
誰能幫助遷移大型機(jī)?
許多供應(yīng)商都想方設(shè)法引起企業(yè)的關(guān)注,但是它們真能幫上忙嗎?這是個(gè)簡單的問題,但回答起來很難。這完全取決于該企業(yè)的大型機(jī)計(jì)算環(huán)境到底有多復(fù)雜。
如果這個(gè)環(huán)境主要由使用關(guān)系數(shù)據(jù)庫(由簡單的作業(yè)控制環(huán)境來管理)的一些Cobol應(yīng)用程序構(gòu)成,答案可能是廠商可以幫助做好遷移工作。如果該企業(yè)的環(huán)境比較復(fù)雜,那么廠商最多幫助將簡單的部分遷移到別處,而對其他部分則不負(fù)責(zé)處理。