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