到底什麼是雲計算?

  • 現如今,在計算機科學與工程領域,“雲計算”可謂是個最火的詞。可是,就像之前的“深度學習”,“大數據”一樣,這些被炒的很火的詞除了確實人更多的人知道了當今發展熱點之外,卻也爲廣大學習者和愛好者帶來了困惑。彷彿覺得這就是傳說中的“計算機科學的技術日新月異,更新很快”的合理解釋,從而拼命去學習一個又一個技術,卻不得要領,越學越累,沒了當初的強烈興趣。本人就是深受其害,也深知了解其本質和發展脈絡的重要性。下面結合自己的學習方向,就自己的理解,談一談什麼是雲計算。各位大牛們莫要恥笑。
  • 首先我們要明確一個事實:各行各業都在討論雲計算,然後這個概念對於不同的行業和不同崗位的行業從業者來講是不同的。大家都是從各自的角度來看待這個問題。就目前來看,主要有兩個角度:一是服務的角度,二是技術的角度。
  • 首先從服務的角度說說。騰訊老總馬化騰曾經說過:“我們提供的服務的目標就是要成爲互聯網的水和電。”我覺得這個理念就是基於雲計算提出的。一些大的公司或者企業,因爲擁有大量的資源和強大的資源的整合能力,他們有能力通過規模效應,投入大量資金,部署大量資源,吸引大量人才,在整個社會中形成一個個資源高度集中的中心,然後通過互聯網,將資源或者服務之間提供給需要服務的用戶。這非常類似於我們平常使用水和電的模式。這是在計算機科學高速發展的過程中才有的模式,以前的社會不會有這樣的條件去催化。可以說,這是把雲計算提升到技術革命的高層概念,就像農業時代,工業革命,交通運輸革命以及互聯網革命這樣的社會發展階段。
  • 舉一個我使用雲計算服務的例子。以前搞項目的時候,遇到處理海量數據,由於我喜歡用Python寫代碼,程序跑着跑着就會出現“out of memory”。然後,項目就沒辦法進行了,我就把導致項目終止的原因歸結爲:“沒有大規模集羣計算資源。”就算我把程序根據map reduce改寫成可並行計算,我也沒那麼多電腦去搭集羣啊。後來才發現自己out了。目前好多大公司早已經退出了自己的雲計算服務,只需要簡單的配置,就可以將自己的計算任務交給他們的集羣去處理,而且只需要相對低廉的可以接受的價格。比如國外的亞馬遜,國內的阿里雲,美團雲等等。大公司的這種提供計算資源的服務,就是我們所說的雲計算的範疇。
  • 然後從技術的角度說一下什麼是雲計算。以前我們社會中可以處理的數據相對很少,所以再難的計算任務只要交給一臺配置較高的服務器,基本上都可以解決。隨着信息化時代的到來,我們每天都在產生大量的數據,比如淘寶網交易數據啦,電信運營商每天的電話短信記錄啊等等。那麼,首先需要解決的一個問題就是:這麼多的數據如何存儲。
  • 傳統的數據庫無法滿足這樣的需求。雖然目前已經有了一體化的商用大規模數據庫服務器,但是價格昂貴,而且不易於升級擴容。所以,分佈式存儲就成了熱門話題。分佈式存儲主要就是用多臺價格相對低廉的普通PC在一定的機制下相互連接起來,共同完成海量數據的存儲,並且很好地滿足查詢等需求。所以,分佈式存儲是雲計算的基礎,是首要考慮問題。
  • 解決了分佈式存儲這個基礎問題,我們就可以考慮如何去分析或者計算海量數據啦。其實本質和分佈式存儲也差不多,同樣是使用很多普通的PC以一定即機制連接起來,每臺PC完成計算或者分析任務中的一部分,然後把所有的PC的結果彙總,得到最後的結果。經典的分佈式計算框架MapReduce就是這樣的原理。當然其中的細節很是很複雜的,有興趣的同學可以深入研究一下。
  • 當然,涉及到雲計算還有許許多多的技術。但是大概意思就是這樣。
  • 下面我們來總結一下。首先,“大數據”的到來提出了海量數據分析與處理的需求,然後就有了對應的“深度學習”這樣的理論方法去更好地解決問題,那麼有了解決方案,就需要“雲計算”這種手段去實現理論方法,得出我們想要的結果。很簡單,是不是?

  • 最後我想談一談對我們學生的個人發展有指導意義的幾點。
  • 首先是:要不要學習“雲計算”。我想說的是,只要你從事計算機相關領域的科研工作,就目前發展而言,就一定避不開它。高校的科研可能需要Spark這樣的迭代計算分佈式產品來精確求解,工業界可能更需要類似於Hadoop的產品去滿足自己的特定業務需要。所以,如果你對它還有一定興趣,就一定要多學習一下。
  • 其次是:學習“雲計算”要側重哪些方面。我們看到好多互聯網公司的校園招聘,很多崗位要求“熟悉Hadoop,MapReduce”。但是,這些崗位的側重點可能不同。機器學習算法工程師或者數據挖掘工程師可能更側重如何去使用這些雲計算工具,比如如何將一個問題改寫成可在Hadoop上並行計算的問題;而云計算研發工程師或者架構師是要根據公司業務需求自己開發出一個雲計算工具的底層應用供別人使用。
  • 最後是:怎麼學得問題。我個人覺得,這是個因人而異的問題。有的人喜歡先配置好環境,搭建好平臺,然後通過實例代碼去一點點研究;有的人喜歡先學習相關理論,然後再去實踐。然而不管怎樣,我始終覺得,實踐中的問題就要在實踐中解決。所以如果有條件的話,一定要儘快開始參與到某個項目中去,一邊學習一邊解決問題。
發佈了45 篇原創文章 · 獲贊 109 · 訪問量 37萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章