因併發而生 因雲計算而熱:Erlang專家訪談實錄(1)

Erlang並行計算

主持人 : 我們目前談到了很多Erlang在語言特性方面的問題,我們知道Erlang最大的特點是分佈式、並行計算的特性,有人說如果一門語言不能很好地處理並行計算的問題,將來很可能會失去生存的權利,二位對於這個觀點怎麼看?

趙東煒 : 我分成兩個部分來說,第一個是現在的計算環境已經到了雲計算、多核計算、分佈式,已經是一個常態,如果一個語言不能很好地處理並行計算的問題,它肯定會出問題。我覺得它不能夠說是一個很偉大的語言,至少是不能夠擔當大任。第二個部分,未來也不是很絕對的,未來這個計算的模式會繼續發展,有可能會出現這樣的情況,有一個很成熟的計算框架,大家仍然用之前的語言,它不去處理並行計算,它運行在這個框架之上,這個框架本身把並行計算、併發、容錯解決好了,你的語言不需要關注這些問題。實際上這些問題不是你不關注,而是別人幫你處理好了。從這個角度上來說,這個語言也沒有死掉。

成立濤 : 語言環境在不斷地發展,任何的環境不可能永遠處在一個位置上。目前學習Erlang對於我們開發和對於目前環境的理解有很大的幫助。

主持人 : 是因爲它解決問題的目標很明確?

成立濤 : 對,比如說我們以後還用自己的思想、方法做,下面有很多的底層的封裝,這些封裝也是有人做的,我們通過Erlang可以瞭解下面是怎麼做的,用什麼方式來實現這種效果的。

趙東煒 : 這種底層的封裝很可能用Erlang語言來寫。像目前Erlang的DB就是用Erlang來寫的,等於是它提供了一種基礎設施,你上面用什麼語言就用什麼語言。

Erlang與雲計算

主持人 : 現在雲計算是一個熱門話題,請趙老師給我們詳細地介紹一下雲計算,您認爲雲計算是一個什麼東西?它有哪些優勢?

趙東煒 : 我認爲雲計算分成兩個部分來看,一個是商業的部分,商業的部分是各家有自己的理解,我認爲這是比較浮的一部分,它現在看不清楚一個具體的狀況。

從技術的層面來講,雲計算本身關注一個是容錯,是個分佈,另外一個是在多核系統上運行。它其實就關注這三個技術核心的問題。

對於雲計算提到了一個伸縮性的問題,實際上雲計算對於我們目前主流的工業語言在伸縮性上的問題的總爆發。目前大部分的語言寫的軟件,它在去掉伸縮的時候,就不會很好地解決這個問題,雲計算試圖提供這麼一種架構,在這種架構之上,你可以比較平滑地過渡到伸縮的語言環境。

這是我對於雲計算的個人理解。Erlang本身設計的目標就是剛纔我們提到的這三個東西,一個是容錯,一個是併發,另外一個是多核。實際上,在這三點上已經非常完美地貼到了雲計算的目標,這是從技術的層面來講。對於Erlang來說在雲計算非常有優勢,那麼雲計算實際上主要的優勢就是它的成本很低。不僅是我初期投入的成本很低,我的服務是按照我的使用來付費的,不僅是我初期的費用很低,而且我係統要擴張的時候,比如說我成百倍、上千倍來擴張的時候,我投入的費用也很低。像目前的金融微機,我覺得實際上對於雲計算是一種很好的機會。

主持人 : 成老師怎麼看雲計算?

成立濤 : 我覺得我們搞程序的人都是這麼一種感覺,比如說在自己的公司,我們需要上某個項目的時候,我們需要購買很多的服務器,需要網管人員去運維,可能會出問題。我們希望將來雲計算的方面由第三方來提供,我可以保證你的需求,你們的服務質量我們都可以滿足,比如說你的帶寬、容量都可以滿足。這也是爲了節省企業成本,充分利用資源也是主要的優勢。

主持人 : 我覺得雲計算在實現上應該分基礎的硬件、基礎設施,比如說它的併發、安全、負載,還有就是應用層。那麼,Erlang主要是針對基礎設施那個層面來實現的是嗎?

趙東煒 : 也不完全。Erlang目前來說比較適合看到用它來做一個雲出來,用它來實現一個雲,可以看到有這樣的例子。但是,從這個代碼本身來講,它要做應用的時候,Erlang本身也是很有優勢的。我們剛纔提到,它的代碼寫起來非常簡潔,而且它本身自己就很適應雲計算這種環境。

成立濤 : 既可以做基礎的架構方面的實現的基礎服務,也可以做上層的應用,兩者都可以。

主持人 : 雲計算現在比較熱,大家一直在炒,二位老師有沒有在亞馬遜和Google的平臺做過項目?

趙東煒 : 我自己曾經在亞馬遜的EC2的平臺上面做一些嘗試,我現在也在做一些小東西,我覺得它離我們理想的雲計算的目標有一定的距離,主要欠缺在哪裏呢?你剛纔提到了存儲和資源的管理,但是上面還有一個應用的問題,應用本身還有一個應用框架的問題,這個部分目前是欠缺的。我覺得這個部分可能需要一段時間的競爭,慢慢浮現出一個很不錯的應用框架,這個應用框架要是一個開放的,而且是兼容的。我覺得現在的雲計算離這個目標很遠,主要是這個方面有所欠缺。

比如說我很簡單地開發一個東西,可以在這家的雲上跑,也可以在那家的雲上跑,這個目標很難實現,因爲現在很多的都是廠家綁定的,而且各個廠家的解決思路都不一樣。這是目前它發展的制約因素,我認爲這個因素在很短的時間內會有所突破。

主持人 : 成老師有關於雲計算的項目嗎?

成立濤 : 我以前有一個Erlang所書寫的框架,關於集羣這方面,允許你在亞馬遜的EC2上建立一些自己的節點,我們可以進行處理,那方面如果有一些瞭解的話,具體的項目暫時還沒有用到這方面的東西。但是,我也是在自己寫一些東西,可能也會在不久的將來申請使用它。

雲計算展望

主持人 : 如果有一天雲計算普及了,至少我們的IT環境會變成一個什麼樣的?請二位老師展望一下。

趙東煒 : 我不知道未來會是什麼樣,但是我們預先想象一下,最先被裁掉的部分是我們的大量的IT部分,因爲我們現在有大量的SA來維護我們大量的服務器,這個工作可能以後不需要我們自己來做了,這個部門的人數會精簡下來,我們目前看到有可能是這樣子的。

主持人 : 這還是基礎設施方面,講到應用它會給我們帶來什麼好處?

成立濤 : 對於一般用戶來說是比較透明的,對於我們開發人員來說,我們可能更加需要遵循一些標準和協議,怎麼樣和第三方交互、通信,我們會更加專注編寫一些應用,而不是非常龐大的系統。

主持人 : 雲計算給我們帶來的好處還是很多。從現在來看,雲計算距離我們還有多遠?在實現方面雲計算還有哪些問題?

成立濤 : 我感覺一個口號特別熱的時候,就是快要來臨的時候,所以雲計算現在是剛到,還不是太成熟,在一些標準、安全、服務方面還沒有做到統一。但是,我覺得這些方面應該不久的將來很快就會做出一些統一、實現,應該會比較快。

主持人 : 趙老師怎麼看?

趙東煒 : 我覺得目前雲計算從技術的角度來講,它其實問題已經不多了,基本上可能就是一些市場上競爭方面的問題。我是比較樂觀的,我覺得雲計算離我們並不很遙遠,我覺得需要解決的問題是大家的信心問題,或者是需要有一個殺手級的應用,出來以後大家都覺得雲計算可以,沒有問題。之前大家對於雲計算的安全性有所擔憂,擔心數據存放在雲裏面會不會不安全。實際上,這是一個有點問題的問題。比如說我們現在的錢都存在銀行,那麼通過網上銀行就能夠隨便地訪問它,我們也沒有覺得很大的不安。我覺得這個需要客戶的信心慢慢培養起來,那麼它就會迅速地得到普及。

主持人 : 那麼在雲計算的普及中,Erlang處於什麼位置?會給雲計算帶來哪些實現上的好處?

趙東煒 : 前面我們講到了,Erlang在設計目標上和雲的設計目標是非常契合的。實際上它經過的20多年的發展已經非常成熟,剛纔成立濤也講到了,Erlang已經走了很遠。對於雲計算來說是Erlang是在手邊就可以用的工具,而且有很多的例子可以告訴你,你對它會比較放心。你用其他的技術,可能對於未來會比較擔心,或者不是很確定。

Erlang對於雲計算的優勢在於此,就是它很成熟,而且整個的計算模型是非常符合雲計算的。它的優勢目前來說,很難在短期之內有另外一個技術能夠超越它。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章