評(píng)論Review
看得見的邏輯,看不見的技術(shù)
檢視編程語言的演化歷程,我們能發(fā)現(xiàn)一種從機(jī)器語言到自然語言的發(fā)展趨向。不同時(shí)期編程方式的差異大到令人驚異的程度,似乎它們不可能屬于同一類工作。用二進(jìn)制碼在數(shù)控機(jī)床的單片機(jī)里寫程序,用匯編語言寫一段硬件控制程序,用一卷長長的打孔紙帶輸入程序,數(shù)百乃至上千人共同寫一個(gè)程序,用鼠標(biāo)拖拽程序語句模塊來拼出程序,這些都發(fā)生過了。未來可能實(shí)現(xiàn)由機(jī)器把人類的自然語言地轉(zhuǎn)化為功能復(fù)雜的程序,或者機(jī)器根據(jù)需要自己寫上一段程序。
跟蹤容器技術(shù)新近的應(yīng)用情況,我想計(jì)算機(jī)技術(shù)或許正處在某種“轉(zhuǎn)捩時(shí)期”,即在數(shù)字工具的制作(如編程)上,由人盡力使用機(jī)器的“思維模式”,轉(zhuǎn)向機(jī)器開始學(xué)習(xí)并使用人類的思維模式。用機(jī)器語言編程明顯屬于前者,而讓機(jī)器理解自然語言則屬于后者。這種轉(zhuǎn)捩也體現(xiàn)在人們使用計(jì)算機(jī)的情景中,用大量日常語言替代較早時(shí)使用的計(jì)算機(jī)術(shù)語,如用“文件夾”替代“子目錄”,用“桌面”替代“初始界面”,等等。
表述替代暗示了廣義的“虛擬化”,即某種方向的映射。軟件工程師們?cè)炀土艘粋€(gè)數(shù)字世界,原本是作為現(xiàn)實(shí)世界的拓展,以實(shí)現(xiàn)功能為目標(biāo),但逐步變成了現(xiàn)實(shí)世界多個(gè)層面的鏡像,繼而和現(xiàn)實(shí)世界扭結(jié)在一起,也成了現(xiàn)實(shí)世界的一部分,再也無法區(qū)分了。
容器技術(shù)之所以大熱,至少有三大原因:讓軟件可在不同技術(shù)環(huán)境中順暢移植,使用計(jì)算能力和存儲(chǔ)能力更高效,以及便于云化。尤其以可移植性最為重要。類比手機(jī)可以明白。一個(gè)客戶端軟件(APP),在負(fù)責(zé)分發(fā)軟件的服務(wù)器里有多個(gè)版本,以對(duì)應(yīng)安卓和蘋果兩種操作系統(tǒng)的多個(gè)版本。收到下載和安裝指令,服務(wù)器根據(jù)用戶手機(jī)的信息,分發(fā)一個(gè)合適的版本到一臺(tái)具體的手機(jī)上。技術(shù)部分手機(jī)用戶不用知道,只選擇想用的APP,點(diǎn)一下“安裝”即可。容器技術(shù)的一大目標(biāo)與此類似,開發(fā)者只用實(shí)現(xiàn)程序功能,程序與物理機(jī)或虛擬機(jī)之間各種操作系統(tǒng)的匹配,由容器技術(shù)供應(yīng)商來做。
不止容器,各類虛擬化技術(shù),無非是為程序建立更便捷的、標(biāo)準(zhǔn)化的映射方式,迅速獲得一個(gè)可以使用的鏡像,以實(shí)現(xiàn)其功能,在這一過程中,幫助用戶開發(fā)者忽略各種底層技術(shù)信息。如此,實(shí)現(xiàn)看得見的邏輯——業(yè)務(wù)邏輯,看不見的技術(shù)。
容器技術(shù)供應(yīng)商Rancher Labs公司大中華區(qū)總經(jīng)理秦小康不久前對(duì)我說,企業(yè)用戶有一個(gè)很大的需求,就是不能太復(fù)雜,容器技術(shù)剛好可以滿足“簡單易用”的需求。秦小康舉例,Rancher Labs和華為合作,在華為公有云中提供容器服務(wù),用戶想申請(qǐng)一個(gè)容器,只用選好菜單,“點(diǎn)一下,就部署好了”。
“工欲善其事,必先利其器”。這話對(duì)企業(yè)用戶中的技術(shù)人員而言,就是精心選擇合適的技術(shù)和平臺(tái),對(duì)提供計(jì)算技術(shù)和平臺(tái)的公司來說,就是要把自己的產(chǎn)品和服務(wù)做到更“利”——既銳利,又便利。
本刊記者:熊偉
E-mail: xiongwei@phei.com.cn