Hadoop、spark、SaaS、PaaS、IaaS、雲計算概念區分?
如題,連續半個月刷論壇,看資料(純自主,沒人指導),還是無法準確的理解上面幾個概念以及從屬關係。希望相關技術前輩可以指教一下,從而對整個產業鏈有一個清洗的宏觀認識。
疑問1:Hadoop和spark是不是搭載在雲計算上面的搜索引擎?類似百度在Windows上面一樣?只不過Hadoop和spark又自帶的分析過程,只要輸入相關的操作命令即可,我這樣理解是對的嗎?疑問2:SaaS(按軟體),PaaS(按平台),IaaS(按構架)屬於雲計算的3個應用平台,但我還是不太懂怎樣理解這個「平台」的歸類標準,具體資料上面的解釋讀起來有困難,我不是計算機專業,希望可以得到通俗一點的解釋。疑問3:
接著疑問2,例如如果按照SaaS去搭建企業自身的雲平台,供應商只是提供軟體,那企業的數據就要存儲在供應商的後台數據存儲伺服器,互聯網公司應該對數據都很敏感,這樣按照常人理解,不科學。疑問4:題主應屆生剛畢業進入IT行業做大型機的售前工作,拋開傳統的硬體服務領域,往雲平台領域去推廣大型機是潛在的市場,因此現在不僅在努力學習計算機,操作系統等知識,還在學習雲計算,大數據領域知識,有點亂,希望前輩們指導指導。
我覺得,要想正確理解一門技術,一定要理解它產生的背景,解決的問題。背景一:世界需要更多的計算能力信息技術時代的基石是建立在「計算」之上的。以搜索引擎為例,早期的搜索引擎是人工分類索引的,類似黃頁,但是隨著網站數量的增多,人工索引的工作量變得巨大,而且更新時效低得難以忍受了。後來的一波搜索引擎都採用了由計算機演算法自動索引,查找相關文檔,並排序展示的方式。這種方式就導致了對計算能力的巨大需求,類似的趨勢出現在多種技術領域,即世界需要更多的計算能力。背景二:單挑不如群毆,好漢敵不過人多Intel其實已經很努力了,從19xx年人家就按摩爾定律狂奔,CPU的計算能力每一年半翻一倍,但是相比於業界的計算需求,不夠快!但沒關係,一個CPU不夠快,那我搞10000個,甚至100萬個,反正CPU是錢能買到的東西,錢能解決的問題,就不是問題。大概從90年代之後,超級計算機就是拿CPU搭積木玩兒了。背景三:錢不是問題,問題是沒錢但互聯網公司並不太用超算的體系結構(基於MPI的傳統HPC架構),主要原因有三:一是系統投入大,超算架構面向的應用多是計算密集,文件IO少的情況,但互聯網公司文件IO多,這樣會導致在存儲系統和網路上要投入高成本才能有好性能;二是超算一般都是灰常牛逼的伺服器加盤陣,硬體穩定性本來就好,所以容錯機制上不太重視,基本上是用checkpoint技術來搞錯誤恢復。牛逼伺服器和盤陣,都是白花花的銀子呀。三是編程模型難用。我寫過MPI的程序,基本上腦子裡要設想成千上萬個進程的運行狀態以及它們之間的通信過程,還經常有全局的同步,想寫好也不容易。所以這個坑Google是不會跳,too smart to jump in.
正題一:一個好漢三個幫,一個Hadoop三個樁
Hadoop就是poor man"s 天河二號。不要把Hadoop看成一個整體,拆開裡邊看看就清楚地知道它幹了什麼了。Hadoop包括以下三個核心組件:- HDFS,這東西替換了盤陣,使得你有地方存數據了。相當於你的電腦有了C盤,D盤等。
- YARN,這東西是一個集群管理和調度軟體。相當於你的電腦裝上了Windows,現在可以跑各種應用程序了。YARN負責讓你的程序跑起來,萬一掛了還能自動幫你重啟進程。
- MapReduce,定義了集群上數據處理的基本操作。相當於你的電腦上裝了Visual Studio,現在可以開發自己的軟體了。
明白了么,你自己買一坨爛電腦,把Hadoop往上一裝,相當於去電腦城給你的新電腦裝了個正版Windows + Visual Studio,回來就可以開心地擼代碼了,代碼自動就能安全高效地跑在那一坨爛電腦之上,跑得還挺快,是不是很棒?
正題二:光能用是不夠的,好用才是我所需客戶是不會滿足的,Hadoop很牛逼了,但是程序員的惡夢是不會離開的:「什麼?需求又改了?!!」 如果說MPI是分散式計算的彙編語言,那麼Hadoop的MapReduce相當於C,把所有計算都拆成Map和Reduce兩個過程真是:too young, too simple, sometimes naive。Spark相當於分散式計算里的Java,萬物都是RDD,在RDD之上你可以方便地進行更高層的操作。所以Spark和Hadoop不是一個層次的東西,大家一看去年的新聞說Spark排序速度是Hadoop的100倍,所以Hadoop要死,Spark要火,我只能說「呵呵」。但我個人覺得Spark還是蠻有前途的,易用性是大家所愛呀……Spark和Hadoop雖有重合,但Spark是不可能也沒打算替換整個Hadoop的。偏題一:XaaS是什麼東西?是生意aaS = "as a Service",翻譯過來就是:你出錢,我服務你。SaaS 賣軟體的。你什麼也不用干,只要出錢,我直接給你能用的軟體。比如Gmail:給你郵件軟體直接用,http://github.com:給你版本控制軟體直接用,Office 365:給你辦公軟體用,Photoshop Express:給你修圖軟體用。《黑客與畫家》講了互聯網軟體的優點,有興趣可以自己瞅。PaaS 賣平台的。你自己寫你的軟體,但是運行你軟體的平台由我來提供,保證你的軟體運行。流行過的SAE什麼之類的,你拿(世界上最好的編程語言)PHP來寫個網站,上傳給我,我來給你把網站跑起來。你專心寫(抄)你的軟體,其它的事兒交給我。IaaS 賣虛擬機的。我給你一坨虛擬機用,保證它們正常跑,能連網。虛擬機你怎麼用隨便你。代表作AWS, Azure,OpenStack等。這東西優勢明顯:比PaaS安全,因為虛擬機操作系統完全由你控制,別人很難改你的代碼或數據,PaaS就難說了;比自己搞機器省心,不用擔心虛擬機掉盤壞主板(關鍵數據和服務也一樣要備份!小心我大藍翔的挖掘機!)很有前途!偏題二:什麼是雲計算?
我知道你這個土壕會渴,我想給你挖水井,通水管,安水表,收水費來掙錢糊口。怕你不給我開門,所以我穿上制服,說我是自來水公司(哦,不,我是搞雲計算的)。十年後,可能每個公司甚至個人都會擁有相當於十年前google的計算能力,但是這幫新人對計算的理解可能連30年前的google都比不上(對,30年前google不存在,正如這幫新人腦中的分散式計算知識……),但是這幫新人都是壕呀!所以我們這些懂分散式計算的diao絲們,想辦法搞得利用這些牛逼的計算能力就像請客吃飯一樣簡單,來騙點兒錢,是為雲計算。總結:其實雲計算很牛逼如果無法操控,汽油不過是一把火。只有包上汽車這個外殼,它才能把你送到你想去的地方。計算資源就是未來的汽油,我們搞雲計算不是忽悠你們,搞雲計算是為了讓你們指哪去哪,解決你們手頭上需要算一算的問題。上面說的一切東西,都是為了使計算觸手可得,而且管夠。要想汽車跑得快,並不是說多加燃料就行,雲計算就是要解決如何充分利用原始計算資源,減少自身無謂損耗的問題。現在並不是一個已經被完全解決的問題。下面是自己的理解,希望能通俗的表達出來:
要了解Hadoop和spark,以及它們所依託的雲計算,就要先了解這些分散式計算(distributed computing)軟體出現的歷史背景。就拿一個too young too simple版的網路聊天軟體來舉個栗子吧:比如說有一款火爆的聊天軟體叫OOXX,擁有用戶A和B。OOXX軟體公司有一台自己的伺服器。用戶A向用戶B發一句「約嗎」,整個流程大概這樣:1. A的電腦向OOXX伺服器發送信息,當然包含了信息的內容(約嗎),以及目的地(B用戶的客戶端)
2. OOXX的伺服器收到了「約嗎」這個信息,軟體公司為了便於在程序出問題的時候探查問題,以及通過收集用戶的行為和信息來幫助自己提高OOXX的約炮成功率,會在伺服器上面記錄當天伺服器收到的每一條信息,以及相關的信息(發送者A,目的地B,A的IP地址,B的IP地址,A的性別,B的性別 : ), 這些日誌存在伺服器上面。這樣一來,每天伺服器就會積累一堆當天的用戶信息,猥瑣的管理員可以每天用程序掃描一遍所有的日誌,比如記錄一下約炮成功的聊天對話的總數,統計一下當天的成功率,如果成功率很高,就可以作為OOXX公司的宣傳口號了有沒有!
3. OOXX的伺服器收到信息,記錄下來之後,發現信息是要發給B,於是把信息發到B那裡去。
4. B收到「約嗎」的信息,回復「不約,叔叔我們不約」給A,然後這條信息又重複1,2這兩步,發送給A,同樣會被伺服器記錄下來。
5. A收到信息,發現釣魚失敗,馬上拉黑B,轉向下個目標。
在互聯網剛起步的時候,OOXX的伺服器可能每天只用存一存文本聊天信息就好了,後來隨著互聯網技術的發展,支持發圖片了,支持發視頻了,想約的用戶也越來越多了。在這樣的環境下,A會先問問B:「看過優衣庫嗎」,然後把視頻發過去,或者發點圖片先挑逗挑逗(此處應有小黃圖),這樣一來伺服器就hold不住了,用戶數量暴漲,一兩台計算機也是hold不住那麼多用戶的請求和日誌存儲了啊,總得想點辦法,頂住這一波用戶增長,然後做點PPT去忽悠投資人的錢。
像OOXX這樣的公司,可能買不起昂貴的企業級伺服器(比如IBM之類,會提供整套的data center解決方案,對小公司來說可能貴得一逼),琢磨琢磨就躲買點便宜的伺服器(故障率比較高,硬碟容易壞),10台不行我買20台。硬體的故障率高怎麼辦?買不起好的硬體,我想點辦法把軟體做好一點,硬碟容易壞就把伺服器記錄的日誌同時寫到兩三個硬碟里(反正便宜),一個壞了還有另外兩個能湊合。這樣的用來管理由廉價伺服器組成的存儲系統故障率高的伺服器集群的軟體系統,就是HADOOP最開始的動機:GOOGLE的分散式文件系統(GFS)。
現在伺服器這麼多,日誌分散在每個伺服器上面,如果我好奇A今天又約了幾個妹子,我得把幾十台伺服器的日誌全部掃一遍才能知道,反正我只關心A到底約了幾個不同的妹子,我用相同的程序掃描每台機器的日誌,在裡面找與A相關的聊天記錄,把A發送的信息的收件人全部提出來,最後拿到一個地方匯總過濾一下不就好了嘛。每台伺服器上面的日誌文件太大了(大家小黃圖發來發去)一次處理不完怎麼辦?反正我只關心A的相關記錄,把大文件切割成小文件就好了嘛。這樣的日誌處理是把程序分布在每台電腦上運行,每台電腦上的處理程序都做相同的工作——找與A相關的聊天信息,然後把在所有伺服器日誌裡面找到的信息集中發到一個伺服器上,過濾匯總一下,就能知道A到底約了幾炮啦。用來管理和執行這些分散式程序的軟體系統,需要合理調度其控制的所有計算資源(比如其中一台電腦掃描完沒事幹了,不能讓它閑下來,可以把別的電腦還沒處理完的小文件發給它,讓閑置的電腦來處理),最後得出結果。這樣的分散式資源調度+分散式運算 的軟體,就是HADOOP的另一個重要板塊map-reduce,用來處理海量的文件,一開始也是GOOGLE搞出來的。
好了,這就是HADOOP一開始最主要的兩個模塊了,在此基礎上衍生出了一些別的HADOOP模塊(比如PIG),也是基於這兩個基本的模塊的。所以HADOOP這樣的分散式軟體系統,就是為了更好的管理和處理當前互聯網產生的海量的數據文件而出現的。SPARK也是基於HADOOP,可以理解為性能更優異的HADOOP。
有了HADOOP,軟體層面的問題解決了,像AMAZON這樣的大公司,自然會建造大量的伺服器集群,以便處理每天的海量信息。後來這些大公司發現,集群建得太多啦,每天成百上千台計算機閑置在那,燒電不說,還得僱人去維護,太尼瑪燒錢啦!於是有人琢磨著,閑著也是閑著,不如把這些閑置的計算資源租給需要的人,然後按使用時長收費,這就是雲計算啦,妥妥噠!
於是乎,AMAZON搞出了他們的雲計算服務,把自己閑置的計算資源出租給其他人來使用。有的客戶什麼都不懂,你把計算資源直接給他,他毛也不會用,於是有的雲計算提供商就直接把一些軟體運行在自己的集群上,這些客戶直接上網使用這些軟體就好啦,這就是SaaS(Software as a Service)。Salesforce的企業級軟體就是這樣一種服務。
有的用戶不想用雲計算服務商提供的軟體,想自己打造自己的雲服務軟體,於是雲計算服務商用一些技術直接整個伺服器暴露給用戶,用戶可以遠程自定義這個伺服器(調整各種機器配置文件,運行各種程序,完全就和自己的電腦一樣),這就是IaaS(Infrastructure as a Service)了,給用戶提供了更多的把玩空間。AMAZON的EC2就是這樣一個服務
還有些用戶,又想運行自己的程序,又覺得配置伺服器太麻煩了,於是雲計算服務商就只提供一個平台供用戶去上傳和部署自己的軟體,外加一些適當的可配置內容,但是整個底層的伺服器配置還是由雲計算服務商來做,這樣用戶省心。這就是PaaS(Platform as a Service),GOOGLE最開始的雲服務(google app engine)就是這樣一種模式。
大概就這樣。著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。作者:何足道鏈接:https://www.zhihu.com/question/21641778/answer/62523535來源:知乎
是時候祭出這篇吃貨文章了:
————————————————————
————————————————————
————————————————————
https://pic2.zhimg.com/a55676f8e1b084a398f8cd5f85cdae7d_b.png&" dw="714" dh="431" w="714" data-original="&https://pic2.zhimg.com/a55676f8e1b084a398f8cd5f85cdae7d_r.png">https://pic2.zhimg.com/a55676f8e1b084a398f8cd5f85cdae7d_r.png&">你一定聽說過雲計算中的三個「高大上」的你一定聽說過雲計算中的三個「高大上」的概念:IaaS、PaaS和SaaS,這幾個術語並不好理解。不過,如果你是個吃貨,還喜歡披薩,這個問題就好解決了!好吧,其實你根本不是一個吃貨,之所以自我標榜為吃貨,其實是為了收穫讚歎式的誇獎,「吃貨還這麼瘦,好羨慕啊!」或者,總得給倫家的微豐找個像樣的理由。
一個「吃貨」是怎樣吃到披薩的呢?
1. 在家自己做
這真是個麻煩事,你的準備很多東西,發麵、做麵糰、進烤箱。。。。。簡單列一下,需要下圖所示的一切:
https://pic2.zhimg.com/9acf7b0482902a634f654ae8d7e7fbe1_b.png&" dw="373" dh="425" w="373">2. 買好速食披薩回家自己做著吃
你只需要從披薩店裡買回成品,回家烘焙就好了,在自己的餐桌上吃。和自己在家做不同,你需要一個pizza供應商。
https://pic4.zhimg.com/b642b741b04857b513824913d0e71863_b.png&" dw="340" dh="422" w="340">3. 打電話叫外賣將披薩送到家中
打個電話,pizza就送到家門口。
https://pic2.zhimg.com/b7849abcf2233f18b62df90d134b2295_b.png&" dw="272" dh="415" w="272">4.在披薩店吃披薩
你什麼都不需要準備,連餐桌也是pizza店的。
https://pic1.zhimg.com/1e2589df4b3c7caa86e361e3f8796080_b.png&" dw="257" dh="409" w="257">總結一下,吃貨可以通過如下途徑吃披薩:
https://pic3.zhimg.com/be14da9aaf55270380dae3f37eabda7e_b.png&" dw="734" dh="765" w="734" data-original="&https://pic3.zhimg.com/be14da9aaf55270380dae3f37eabda7e_r.png">https://pic3.zhimg.com/be14da9aaf55270380dae3f37eabda7e_r.png&">好了,現在忘掉pizza!
假設你是一家超牛X的技術公司,根本不需要別人提供服務,你擁有基礎設施、應用等等其它一切,你把它們分為三層:基礎設施(infrastructure)、平台(platform)和軟體(software),如下圖:
https://pic3.zhimg.com/f3cc3fca72da988a748cc87173d36e1a_b.png&" dw="714" dh="316" w="714" data-original="&https://pic3.zhimg.com/f3cc3fca72da988a748cc87173d36e1a_r.png">https://pic3.zhimg.com/f3cc3fca72da988a748cc87173d36e1a_r.png&">這其實就是雲計算的三個分層,基礎設施在最下端,平台在中間,軟體在頂端,分別是分別是Infrastructure-as-a-Service(IaaS),Platform-as-a-Service(PaaS),Software-as-a-Service(SaaS),別的一些「軟」的層可以在這些層上面添加。
而你的公司什麼都有,現在所處的狀態叫本地部署(On-Premises),就像在自己家做pizza一樣。幾年前如果你想在辦公室或者公司的網站上運行一些企業應用,你需要去買伺服器,或者別的高昂的硬體來控制本地應用,讓你的業務運行起來,這就叫本地部署。
假如你家BOSS突然有一天想明白了,只是為了吃上pizza,為什麼非要自己做呢?於是,準備考慮一家雲服務供應商,這個雲服務供應商能提供哪些服務呢?其所能提供的雲服務也就是雲計算的三個分層:IaaS、PaaS和SaaS,就像pizza店提供三種服務:買成品回家做、外賣和到披薩店吃。
用一張圖來表示就是這樣的。
https://pic1.zhimg.com/0f8566256a31169d93094fd0b90c9720_b.png&" dw="721" dh="355" w="721" data-original="&https://pic1.zhimg.com/0f8566256a31169d93094fd0b90c9720_r.png">https://pic1.zhimg.com/0f8566256a31169d93094fd0b90c9720_r.png&">現在我們來談談具體細節。
IaaS: Infrastructure-as-a-Service(基礎設施即服務)
有了IaaS,你可以將硬體外包到別的地方去。IaaS公司會提供場外伺服器,存儲和網路硬體,你可以租用。節省了維護成本和辦公場地,公司可以在任何時候利用這些硬體來運行其應用。
一些大的IaaS公司包括Amazon, Microsoft, VMWare, Rackspace和Red Hat.不過這些公司又都有自己的專長,比如Amazon和微軟給你提供的不只是IaaS,他們還會將其計算能力出租給你來host你的網站。
PaaS: Platform-as-a-Service(平台即服務)
第二層就是所謂的PaaS,某些時候也叫做中間件。你公司所有的開發都可以在這一層進行,節省了時間和資源。
PaaS公司在網上提供各種開發和分發應用的解決方案,比如虛擬伺服器和操作系統。這節省了你在硬體上的費用,也讓分散的工作室之間的合作變得更加容易。網頁應用管理,應用設計,應用虛擬主機,存儲,安全以及應用開發協作工具等。
一些大的PaaS提供者有Google App Engine,Microsoft Azure,Force.com,Heroku,Engine Yard。最近興起的公司有AppFog,Mendix和Standing Cloud.
SaaS: Software-as-a-Service(軟體即服務)
第三層也就是所謂SaaS。這一層是和你的生活每天接觸的一層,大多是通過網頁瀏覽器來接入。任何一個遠程伺服器上的應用都可以通過網路來運行,就是SaaS了。
你消費的服務完全是從網頁如Netflix,MOG,Google Apps,Box.net,Dropbox或者蘋果的iCloud那裡進入這些分類。儘管這些網頁服務是用作商務和娛樂或者兩者都有,但這也算是雲技術的一部分。
一些用作商務的SaaS應用包括Citrix的Go To Meeting,Cisco的WebEx,Salesforce的CRM,ADP,Workday和SuccessFactors。
來源地址:如何理解雲計算?很簡單,就像吃貨想吃披薩了...
這個問題還是要簡單答下。
前面已經有人談到了,首先要分為兩組
1. hadoop, spark2. SaaS, PaaS ,IaaS第一組:分散式計算框架,前面說hadoop是大數據平台不合適,只能說是當前很多大數據平台是基於hadoop的。對於spark是對於hadoop的一個質的變化,即可以替代hadoop中的mapreduce+hive的部分功能,同時由於大量操作基於內存計算和處理獲得更高的性能。
第二組:標準的雲計算三層,判斷是否是雲計算平台的核心即是否是在原來終端的能力,不論是存儲還是計算,還是平台或應用層能力,統一遷移到了統一的雲端,並通過服務化的方式暴露出來,如果是,符合雲的第一基礎特徵。如何該平台本身是能夠彈性擴展和伸縮的,則符合雲的第二個核心特徵,其餘的按需使用和計費等都不是重點。
這兩組分清楚了就應該明白,1和2兩組之間可能有融合,也可能完全沒有任何關係。
比如你現在為了處理內部的一個科學計算需求,搭建了一個hadoop平台基於map-reduce進行並行計算和處理,那麼僅僅是實現了並行計算。即使你搭建hadoop的時候在內部使用了大量的虛擬機,本身也和雲計算沒半點關係。
好了還是上面的場景,如果你搭建了一個平台,這個平台可以為所有有類似科學計算需求的人服務,那麼這個平台可以算做雲平台,如果這個平台本身還可以隨時用戶的增加動態彈性擴展底層資源那麼是一個完整的雲計算平台。好了這個平台你可以看到,你可能並不需要用hadoop技術來實現並行計算,那麼它也是一個雲平台,只是沒有使用hadoop技術而已。
============================================================
接著看下你的幾個疑問的解答:
疑問1:
Hadoop和spark是不是搭載在雲計算上面的搜索引擎?類似百度在Windows上面一樣?只不過Hadoop和spark又自帶的分析過程,只要輸入相關的操作命令即可,我這樣理解是對的嗎?Hadoop和spark不是搜索引擎,是分散式計算和大數據分析處理框架。同時這個可以不搭載在雲計算平台上面。和雲平台沒有必然聯繫。疑問2:
SaaS(按軟體),PaaS(按平台),IaaS(按構架)屬於雲計算的3個應用平台,但我還是不太懂怎樣理解這個「平台」的歸類標準,具體資料上面的解釋讀起來有困難,我不是計算機專業,希望可以得到通俗一點的解釋。IaaS: 基礎設施即服務,核心是形成虛擬化資源池,即從物理設施資源變成了邏輯資源。簡單來講就是原來給你的是物理伺服器或存儲設備,現在你看不到這些物理設施了,只能看到具備同樣計算或存儲能力的虛擬機。究竟哪個真正的物理伺服器在提供這個能力你也不用關心。
PaaS:平台即服務,對於公有雲常說的PaaS可以理解為中間件資源池,核心是實現應用的託管和程序的自動部署和彈性調度。簡單理解就是在IaaS這步你還可以看到虛擬機,還可以遠程去操控虛擬機安裝中間件並部署應用。到了PaaS則虛擬機你也看不到了,你只需要將你的程序部署包準備好,通過一個服務界面部署上去即可。SaaS:應用即服務,這個最好理解,即你做了一個應用,可以滿足多個企業客戶或個人客戶同時來使用你這個應用,但是資料庫和程序是一套。核心是多租戶機制。類似當前的在線協同平台,在線CRM,在線進銷存都可以理解為SaaS應用。疑問3:
接著疑問2,例如如果按照SaaS去搭建企業自身的雲平台,供應商只是提供軟體,那企業的數據就要存儲在供應商的後台數據存儲伺服器,互聯網公司應該對數據都很敏感,這樣按照常人理解,不科學。現在情況就是這樣的,數據是存儲在雲端的數據存儲資源上的。雲服務供應商能夠充分保障數據本身的安全性,如果還覺得不安全還可以給了企業在公有雲端開放一個你完全私有的雲環境,這個雲環境只會給你企業自己用,及時資源有空閑也不會分配給企業雲端客戶。
疑問4:
題主應屆生剛畢業進入IT行業做大型機的售前工作,拋開傳統的硬體服務領域,往雲平台領域去推廣大型機是潛在的市場,因此現在不僅在努力學習計算機,操作系統等知識,還在學習雲計算,大數據領域知識,有點亂,希望前輩們指導指導。真是有點難,如果僅僅是售前或銷售,買點這方面通俗易懂的書籍讀讀即可。如果要深入,非計算機專業的話難度還是相當大。建議入手點,一個是對計算機伺服器硬體知識,IDC數據中心和機房多了解,一個是了解整個軟體開發過程和流程。簡單幾點補充:
Hadoop Spark
首先二者均不是屬於產品類別,理解為生態系統或者也有人將其稱為「大數據通用處理平台」也是可以的,這種稱呼也更為準確
Hadoop是由Apache基金會所開發的分散式系統基礎架構
Hadoop主要包括:
Hadoop分散式文件系統:一個分散式的、面向塊的、不可更新的、高度伸縮性的、可運行在集群中普通硬碟上的文件系統
MapReduce框架:一個基本的在集群中一組標準硬體上執行的分散式計算框架
YARN :Hadoop生態集群中默認的資源管理器
Hive :構建在MapReduce框架之上的類SQL查詢引擎
Hbase:基於HDFS的鍵值對存儲系統為Hadoop提供了聯機事務處理(OLTP)能力
Spark而言是專為大規模數據處理而設計的快速通用的計算引擎,實際上現階段其還不夠成熟
Spark主要包括:
Spark Core :用於通用分散式數據處理的引擎
Spark Sql :運行在Spark上的SQL查詢語句支持一系列SQL函數和HiveQL
Spark Streaming:基於spark的微批處理引擎
MLlib:構建在spark之上的機器學習庫
更多:Hadoop VS Spark對比可參閱
三劍客:IaaS 、PaaS、SaaS
其實就是雲計算的三類分層服務:
基礎設施在最下端:Infrastructure-as-a-Service(IaaS)
平台在中間:Platform-as-a-Service(PaaS)
軟體在頂端:Software-as-a-Service(SaaS)
IaaS :Infrastructure as a Service
基礎設施即服務
把計算基礎(伺服器、網路技術、存儲和數據中心空間)作為一項服務提供給客戶。它也包括提供操作系統和虛擬化技術、來管理資源。消費者通過Internet可以從完善的計算機基礎設施獲得服務。
PaaS:Platform as a Service
平台即服務
PaaS實際上是指將軟體研發的平台作為一種服務,供應商提供超過基礎設施的服務,一個作為軟體開發和運行環境的整套解決方案,即以SaaS的模式提交給用戶。因此,PaaS也是SaaS模式的一種應用。但是,PaaS的出現可以加快SaaS的發展,尤其是加快SaaS應用的開發速度。
SaaS:Software as a Service
軟體即服務
是一種交付模式,其中應用作為一項服務託管,通過Internet提供給用戶;幫助客戶更好地管理它們的IT項目和服務、確保它們IT應用的質量和性能,監控它們的在線業務。
更多參閱:求大神解讀下IaaS、PaaS、SaaS的區別?
雲計算:Cloud Computing
當需要的時候,扭開水龍頭,水就來了,我只需要操心交水費就是了!
當你需要用一個軟體時,你不用跑去電腦城,打開應用商店,它就下載下來了,你只需要交錢就是了;
當你想看報紙的時候,你不用跑去報刊亭,只要打開頭條新聞,新聞唾手可得;
當你想看書的時候,你不用跑去書城,只需要打開閱讀軟體,找到這樣的一本書,在手機上閱讀;
當你想聽音樂的時候,你不用再跑去音像店苦苦找尋CD光碟,打開音樂軟體,就能聆聽音樂;
雲計算像在每個不同地區開設不同的自來水公司,沒有地域限制,優秀的雲軟體服務商,向世界每個角落提供軟體服務——就像天空上的雲一樣,不論你身處何方,只要你抬頭,就能看見!
「雲計算」的五大特點:
1.大規模、分散式 2.虛擬化 3.高可用性和擴展性 4.按需服務,更加經濟 5.安全
「雲計算」已經深深植入到我們生活中的點點滴滴,
平時常用的那些APP或網站,基本都離不開「雲計算」作為背後的強大服務和技術支持。如剁手黨愛恨交加的淘寶、京東,社交痴迷黨的微信、微博、快手、秒拍、抖音等等!於此同時,越來越多的企業機構乃至政務部門,開始使用基於雲的平台服務,生活因「雲計算」正在發生著革命性的變革和改變!
更多參閱:雲計算是什麼?
「更懂您和CDN | 視界雲」
這裡面有兩個概念,大數據和雲計算,Hadoop、Spark都是大數據處理的技術平台,是具體的軟體產品。而SaaS、PaaS、IaaS都是雲計算的形態。
大數據是什麼呢?大數據解決的就是數據大到一台計算機無法進行存儲,一台計算機無法在要求的時間內進行處理的問題。
Hadoop是基於Google三篇論文的開源大數據實現,包括HDFS,MapReduce,HBase等。HDFS,在由普通PC組成的集群上提供高可靠的文件存儲,通過將塊保存多個副本的辦法解決伺服器或硬碟壞掉的問題。 MapReduce,通過簡單的Mapper和Reducer的抽象提供一個編程模型,可以在一個由幾十台上百台的PC組成的不可靠集群上並發地,分散式地處理大量的數據集,而把並發、分散式(如機器間通信)和故障恢復等計算細節隱藏起來。而Mapper和Reducer的抽象,又是各種各樣的複雜數據處理都可以分解為的基本元素。這樣,複雜的數據處理可以分解為由多個Job(包含一個Mapper和一個Reducer)組成的有向無環圖(DAG),然後每個Mapper和Reducer放到Hadoop集群上執行,就可以得出結果。 作者:用心閣鏈接:與 Hadoop 對比,如何看待 Spark 技術?來源:知乎著作權歸作者所有,轉載請聯繫作者獲得授權。
Spark是Hadoop之後出現的大數據平台,具體有什麼優勢,我另一篇回答中已經闡述。
雲計算一言概括就是按需使用,按使用付費。
雲計算的核心就是把計算資源(計算,存儲,網路等)抽象為細粒度的邏輯概念,然後保障一個主機中多個租戶之間相互隔離,就像獨享一個硬體配置低的物理機。並且提供API給用戶,以完成分配計算資源的自動化,提高計算資源的上線速度。最後是通過健康檢查智能分配計算資源,比如故障轉移,比如動態和彈性伸縮。作者:用心閣鏈接:本科生是否應該在本科階段就開始學雲計算? 若要著手開始學,大學怎麼合理安排課程?來源:知乎著作權歸作者所有,轉載請聯繫作者獲得授權。
SaaS,也就是軟體即應用,使用者是最終用戶,就像我們使用Gmail一樣,軟體提供方不再是交付軟體的物理載體,如CD或安裝包,而是講軟體部署在計算機上,把軟體作為在線服務提供。比如CRM軟體。
軟體的維護和版本更新不需要使用者操心,使用者只需為使用的軟體功能和計算資源付費。
IaaS,是最底層的抽象,也就是以虛擬機的方式提供計算資源,同時提供存儲資源和網路資源。使用者需要在虛擬機上安裝操作系統和軟體(如Web伺服器),然後才可以部署自己的應用
使用者不需要購買自己的計算機,只需要在線申請一定規格的虛擬機(及存儲和網路),這樣大大縮短了部署的應用所需要購買硬體,到貨後安裝配置調試的時間,可以在線申請自動開通,通常在小時級就可以上線(如果使用預置的鏡像還會更快),使用者只需為計算資源的時間付費。
如果是在線應用,那麼隨著業務的增長,計算資源可以很快隨之增長,對於初創企業來說很重要。如果是臨時計算任務,可以租用幾十台計算機,使用幾個小時,計算完畢後就釋放計算資源,只需要支付那幾個小時的費用。即使大企業,如果有訪問的波峰,如雙十一活動,也可以臨時租用幾十台計算機,加入到集群中,以響應計算壓力的增長。
PaaS是一個不容易理解的概念,因為它既不是最終用戶能接觸,也不是像虛擬機那麼容易理解。 PaaS是面嚮應用開發者的一個資源抽象,為應用開發者減少了操作系統,語言環境,運行時,中間件(如Web伺服器)的安裝,應用開發者只需要講自己的應用打包發布到PaaS平台上就可以立即上線,所需的工作減少了,時間縮短了,自動化程度提高了。
由於大數據技術和雲計算技術都使用到了多台計算機,因此都使用分散式技術,比如分散式文件系統,集群狀態協調等。
具體到你的三個疑問:
疑問1,大數據不一定搭載在雲計算上面,也不都是搜索引擎。最簡單的例子就是統計一本英書的各個單詞出現的次數。大數據完全可以在物理機上搭建。hadoop和spark也不是簡單敲幾個命令就能解決,需要複雜的編程,調試,優化。疑問2,IaaS,PaaS,SaaS只不過是雲計算的三種提供方式,你怎麼申請資源,怎麼進行計算,上面已經詳細說了。其中PaaS的平台是指應用部署支撐平台。
疑問3,SaaS數據是存儲在雲端,也就是提供商的資料庫中,對於數據私密性的疑慮也是常見的,這就需要提供商技術上做好數據安全,不僅包括加密,還有身份認證,安全審計,從企業流程上做好內控。根據你的四個疑問一次作答哈,一家之言僅供參考
疑問1:
Hadoop和spark是不是搭載在雲計算上面的搜索引擎?類似百度在Windows上面一樣?只不過Hadoop和spark又自帶的分析過程,只要輸入相關的操作命令即可,我這樣理解是對的嗎?
答:hadoop是一個有apache基金會開發的分散式系統架構,最原始起源於谷歌的三輛馬車,初期Hadoop只是代表HDFS,MR,bigtable這些,現在發展的已經已經有100+個頂級項目了吧。
spark是一個計算引擎,他的對飆對象最初應該是MapReduce,想搞清楚spark是什麼,多問一句,saprk和MR的區別就行了,具體的我就不這裡細說了,網上資料很多的。
疑問2:
SaaS(按軟體),PaaS(按平台),IaaS(按構架)屬於雲計算的3個應用平台,但我還是不太懂怎樣理解這個「平台」的歸類標準,具體資料上面的解釋讀起來有困難,我不是計算機專業,希望可以得到通俗一點的解釋。
答:這個問題首要搞清楚雲計算的概念。我個人理解分為雲和計算,雲就是X86機器組成的集群,例如公有雲,私有雲,按應用分,可分為金融雲,政務雲,法務雲等。計算就是指的是大數據技術,集群+大數據組成了雲計算。
接下來解釋下Saas,PaaS,IaaS:
自下而上,首先說IaaS,基礎機構即服務,這裡就是大家玩集群,不需要再買物理伺服器了,只要你客戶給錢,我就能提供你對應的服務。例如騰訊雲,阿里雲都是做這個事情的。這樣的優點缺點很明顯,優點是,便宜,方便,快捷,運維簡單。缺點是數據暴露在雲上,資源可靠性不能自我控制等。你有聽說過哪一個銀行租公有雲上的機器大集群部署應用的嘛。IaaS只適合那些小客戶。
PaaS,這一層是具體的架構,也可以理解為平台,原來有份VM等,openstack那些,現在有基於docket的。現在國內有做的很好的大數據平台,這個企業級一站式大數據平台也可以叫做PaaS.
SaaS,這層是服務即服務,這裡的服務,可以是計算引擎,或者哪種程序,或者是大數據周邊的小工具,再廣義,大數據售前架構實施售後這些也可以統稱為SaaS。
疑問3:
接著疑問2,例如如果按照SaaS去搭建企業自身的雲平台,供應商只是提供軟體,那企業的數據就要存儲在供應商的後台數據存儲伺服器,互聯網公司應該對數據都很敏感,這樣按照常人理解,不科學。
答:贊的,這是不可能,所以大部分公司企業都是在自己的數據中心機房,買機器搭建大數據平台來開展應用的。
疑問4:
題主應屆生剛畢業進入IT行業做大型機的售前工作,拋開傳統的硬體服務領域,往雲平台領域去推廣大型機是潛在的市場,因此現在不僅在努力學習計算機,操作系統等知識,還在學習雲計算,大數據領域知識,有點亂,希望前輩們指導指導。
答:硬體售前,我可以這麼理解嗎?硬體這塊我不是很專業。我本身是做大數據的,現在市場上不缺售前,缺的是有大型大數據項實施的項目經理,或者是資深架構師這些。建議你還是先鑽工下技術,做幾個項目,過幾年再去轉售前,會好很多,剛畢業做售前,後面有可能會把自己作廢了。
只是建議,一家之言,僅供參考。
今天挖出樓主這個問題。瀏覽了大部分人的回答
1)Hadoop、spark,這方面了解不深,作為一個IT行業售前深入了解這些是否有必要。想必樓主今天已有了答案,看到後方便解答下么
2)XaaS,不贊同那些回答說這只是一些吹噓概念的。因為作為今天來講,我覺得XaaS還是在生活中起到了一定作用的。比如PaaS平台,個人認為像釘釘、理才網daydao、金蝶在做的就很大程度的改變了辦公。這些移動式的互聯網工作平台,近幾年給企業辦公帶來了許多的便利。
3)雲計算這個,對於到底什麼是雲計算,至少可以找到100種解釋。我還是覺得美國國家標準與技術研究院(NIST)的定義最為清晰:雲計算是一種按使用量付費的模式,這種模式提供可用的、便捷的、按需的網路訪問, 進入可配置的計算資源共享池(資源包括網路,伺服器,存儲,應用軟體,服務),這些資源能夠被快速提供,只需投入很少的管理工作,或與服務供應商進行很少的交互。
這麼說樓主不知道會不會比較好理解~
Iaas是賣筆記本電腦的,Paas是賣操作系統的(比如windows),Saas是賣應用程序的(比如Office等辦公軟體,普通小白用戶能直接用的東西)
從售賣數量上來說,賣筆記本本身的Iaas大於賣電腦操作系統的Paas,但是利潤率正好反過來,賣操作系統的Paas更賺錢,所以微軟的頭號搖錢樹就是office;
一個行業剛興起的時候,一般是賣硬體的最賺錢。打個比方,智能手機剛興起的時候是蘋果最賺錢,其次賺錢的是賣操作系統的,例如小米等,最不賺錢的是賣應用程序的比如騰訊;
但是隨著時間推移和行業的發展,利潤中心會逐步向後移,市場成熟後,利潤都集中到應用程序(Saas)上,因為應用程序才是普通用戶最終接觸到,直接能使用的。
大概是醬紫。
上面這個比喻使用和計算機領域相關的東西來比喻的~如果用日常生活中的東西來比喻的話:
iaas是政府出租土地的,可以種地,可以蓋樓,相當於出租資源;paas是地產開發商,蓋了樓賣毛坯房的,相當於有了應用的架子,但是並不能給最終用戶使用;saas是裝修隊,根據用戶需求把房子裝修出來給不同需求的人住,面向最終用戶。你也可以想像一下中國地產的發展情況,20世紀時候成片出租土地最賺錢,21世紀初的時候是地產開放商最賺錢的時候,而現在房產泡沫沒有之前那麼繁榮了,利潤點也就慢慢往諸如房產交易商、軟裝公司轉移了~
以上~這個問題太混搭了吧,其實每個概念百度一下查清楚,也就差不多理解了,談談我的理解吧:
Hadoop和Spark是具體的開源框架,是工具,用來做海量數據的存儲和計算的;雲計算是一種資源組織的方法論,提高IT運維效率,節省成本;XaaS是雲計算的服務提供模式,分別對應於基礎架構、平台中間件和業務服務,比如AWS,及有IaaS(虛擬機、操作系統等),也有PaaS(存儲等,如S3),還有SaaS(分析服務等)。拿TalkingData舉例子,未必十分恰當:
TalkingData是一家提供雲計算服務的公司;對外,以SaaS的方式提供三種面向移動開發者服務:移動應用統計分析服務、移動廣告監測服務和移動遊戲運營分析服務。對內,運維團隊以IaaS的方式,基於openstack提供虛擬機和系統OS的服務,各團隊都可以線上申請資源;同時對內,數據服務平台團隊以PaaS的方式提供數據存儲、數據計算和數據挖掘的服務,各業務團隊以API的方式調用服務;其中,數據存儲使用Hadoop、MariaDB、Vertica等,數據計算和挖掘使用了Spark/Scala;如下圖: 希望對你理解有幫助。你在寫並行計算的過程的時候,有一些通用的代碼總要重複寫。比如你要把自己的代碼拷貝到一些機器上,運行,監視他們運行,把結果收集回來。如果拋出錯誤,那就把錯誤收集回來。有的錯誤不是要緊的,還要有重試。於是有個叫Jeff Dean的人,寫過幾百次這種東西之後,漸漸的抽象出來一個框架(非杜撰,論文里是這麼寫的。)。這個框架就是Map-Reduce。這個詞取自Functional Programming,比如python里就有map這個函數。這個系統最早在Google使用c++寫的,後來發了論文,一炮而紅。有個叫做Doug Cutting的人就用類似的方法用Java重寫了這個項目,並且開源。這個項目就是Hadoop。
Spark是許多改進Hadoop的努力中的一個,個人理解就是HDFS這個東西本身是給巨量存儲順序讀寫設計的。使用情景比如在幾百個G的log里數滿足某個條件的行的數量。把HDFS當共享內存來做數據統計計算是很浪費的,比較容易成為瓶頸。於是就有了Spark這個東西。Spark大量使用內存做存儲來提高效率。
不論是Hadoop,還是Spark,與其說他們很先進,倒不如說是現在硬體價格大量下降的結果。這兩者在雲計算里應該屬於SaaS(軟體即服務)
IaaS,SaaS和PaaS都是雲計算的模型。區別簡單的說就是介面的層級高低。計算機處理二進位代碼,但是我們今天已經幾乎沒有人用二進位寫代碼了。所有的人在編程的時候都要藉助操作系統的介面。比如你想在電腦的屏幕上列印hello world,你不會寫代碼去直接操作硬體,而是調用操作系統給你的介面來完成。雲計算服務商給你的虛擬機,也就是提供了這些操作系統級別的介面。如果你的程序跑在這些虛擬機里,那麼你就在使用IaaS。而在雲計算出現之前,已經有了一些通用的編程介面,可以加強操作系統的功能。比如說資料庫系統,各種Web伺服器,Hadoop之類的。這些東西已經有了現成的項目,學習者和使用者。所以雲計算服務商也要提供這些介面給用戶。使用這些介面的時候,你就在使用SaaS。當然,使用SaaS的不僅限於程序,人也可以。所以Office 365和iCloud也是SaaS。但是其實人畢竟不能直接和伺服器交流,還是你本地的客戶端在和伺服器交流。PaaS的概念是雲計算比較有價值的一種體現。就好像操作系統不只是讓你自己操作硬體,而是讓你操作一些從硬體上抽象出來的概念(比如文件)一樣(這樣就屏蔽掉了一些系統的複雜性,簡化了處理過程)。PaaS也創造了一些概念,(比如AWS的Queue,Azure的EventHub,Blob),進而把雲計算平台拉高了一個檔次。於是編程者就不在是面向虛擬機編程了,而是在面向這些本來不存在的概念在編程。我認為雲計算是個很商業的概念,為實現它可能需要很多技術,但它自身只是一個概念、一個定義,研究技術的人不了解都沒關係,它只是想說它販賣的商品是:計算能力。
以往的人們要購買計算能力,要去電腦城抱回一台主機,或是去IDC租伺服器,你購買的是機器+計算能力。你要裝機器,裝系統,維護一些你本不想關心的東西。
而在雲計算這個概念下,你不用關心硬體部分,你只需要為你真正需要的部分花錢就可以了,也就是說,你買到的是童嫂無欺的計算能力。雲計算就是讓你像用電一樣,用多少計算能力,就掏多少錢。計算能力包含的內容其實很多,從資源來講可以是CPU、存儲、網路帶寬,從應用來講可以是API(比如你可以使用大微軟的在線人臉識別API,或者使用SAE中的各種服務API),運行環境。不管怎樣,你都是按需選取。
SaaS、PaaS、IaaS是雲計算定義中提到的三個服務模型,它們分別提供:服務、平台、基礎設施。很容易理解,如果你是這些服務模型的使用者,那麼你所用的那個模型中提到什麼,你就不用關心什麼:
比如你租了Azure的IaaS雲,IaaS提供的是基礎設施,那麼你就完全不用操心他的硬體、網路是怎麼物理構建的;你要是用了SAE,屬於PaaS,你就完全不用操心他的運行環境、軟體平台是什麼,只管把符合它API標準的代碼push上去就可以了;你要是用Google搜索,這個屬於SaaS,你不用自己安裝一個搜索引擎軟體,你只管打開瀏覽器使用就可以了。但云計算定義中不只是定義了這三個,它還定義了「公有雲」和「私有雲」的概念,所以你說的構建數據敏感的SaaS會有擔憂的問題,本身不存在,因為他們可以有專門的部門維護他們自己企業雲,術業有專攻,雲讓最專業的運維去做基礎設施,讓最專業的Coder去做應用。------------------------至於Hadoop、Spark等,那都是構成雲應用的平台,利用這些軟體,可以讓工程師更方便更有效率的利用雲中的節點,從而開發出服務於應用的程序。他們提供的是在雲中利用及共享計算資源的能力,所以並不會像你說那樣,自帶分析功能,分析功能都是勞苦的工程師開發出來,利用這些平台 提供的API來做的。沒有專業知識確實不好理解。
說簡單點。XaaS就是三個概念。IaaS就是硬體層面的,PaaS屬於基礎軟體層,SaaS就是軟體層。打個比方,IaaS就是計算機,PaaS就是操作系統,SaaS就是平時用的軟體。至於Hadoop和Spark沒有專業知識真的不好解釋,反正不是你想的那個樣子,不是啥搜索引擎。這是兩個程序運行的platform,是一種軟體。他們提供API,程序員利用這些API寫程序,寫完的程序再用他們運行。問題1:不是
Hadoop和Spark是真正的兩款產品,確切地說是兩個計算框架。正因為突出的是計算,所以主要應用在數據分析和挖掘這種吞噬計算資源的場景里。之所以和搜索引擎有關係,是因為,這個框架特別適合用來處理搜索引擎當中的查詢問題(關於這個問題可以另開一個問題了),其核心思想也是由Google提出的。除此之外根搜索引擎沒啥關係。只是大部分數據分析的問題,都能抽象成 1個或者多個適用於這種框架的計算過程。問題2:
XaaS主要都是概念,樓上說得好,除了幾家大公司真正做出產品,其他基本都是騙錢的。沒必要管理關心技術細節,只要知道分別各哪些人用就好了。SaaS:完全沒有開發能力的公司,業務形態穩定,傳統公司用ERP,CRM,HRM等特別適合。PaaS:有一定開發能力的開發者,適用於中小項目和App的開發者。IaaS:有較強開發能力,業務形態新,需要從底層架構整個業務,絕大多數互聯網公司。問題3:
如果使用SaaS,數據肯定是在供應商的數據服務上的,而且很可能多家公司的相同數據都在同一個表裡。所以回到問題2的回答,互聯網公司通常不是這個場景里的主人公。-------------------------------------------------------
這問題提得挺好的,相信很多人都沒有搞清楚。其實一半程序員自己也沒有搞清楚。手機碼字,有錯誤請見諒。前兩個是有實際意義的,滿口什麼aas,雲計算的人什麼都不懂,炒概念的居多
看書,比如 https://www.amazon.cn/Cloud-Computing-Explained-Handbook-for-Enterprise-Implementation-Rhoton-John/dp/0956355609/ref=pd_sim_14_2?ie=UTF8dpID=51NDgs1NHoLdpSrc=simspreST=_AC_UL160_SR123%2C160_psc=1refRID=VJ0D0EAA69VPJBHB9NQ2
這個問題問得好,敢提出來就值得贊一個。個人理解及簡單起見,這幾個概念可以分為三組。Hadoop和Spark一組;雲計算一組;剩下三個X-aaS一組。Hadoop是大數據應用平台,用于海量數據處理,即海量數據存儲和分析。前者是Hadoop的HDFS(Hadoop分布文件系統的縮寫),後者由Hadoop的Map/Reduce計算框架實現。Spark可以理解為Map/Reduce的替代版本。Hadoop可以獨自為戰;Spark可以但不局限於Hadoop的文件系統作為基礎的數據分布存儲。雲計算確切的說是"虛擬計算機機群"。使用單機或多機虛擬出遠多於原來數量的物理計算機。通過少量設備供多人使用,即人數>電腦數的計算環境,如此可以節約大量的後台維護工作,也利於企業的保密管理。這些虛擬機可以通過區域網或者公網像普通電腦那樣使用。其功能、操作系統、計算速度、上網方式都跟物理機幾乎沒有區別。你甚至也沒必要去區分自己到底是在跟哪種性質的電腦打交道,你要做的就是像平時那樣,盯住屏幕和鍵盤就行了。大數據Hadoop、Spark和雲計算都是基於Linux操作系統的開源應用。雲計算即虛擬機機群目前主要通過OpenStack軟體集構造,其它的如CloudStack似乎日見勢弱。最後可以這樣簡單的理解:Hadoop、Spark機群,機比人多;雲計算機群,人比機多。至於X-ssA沒必要過多關注,這些概念沒有實質上的意義,且都是相對而言,姑且將其理解為"五講四美"之類的簡稱罷了。你明白前兩組的區別,後面這組的概念也就容易理解了。另外理解這些概念的最好方式就是自己搭建前兩組系統,僅靠看資料還是很容易犯迷糊的。可參考一下這個鏈接:http://blog.sina.com.cn/rvlyoung
[大數據]hadoop和spark和雲計算沒什麼關係,都可以解決海量數據問題。 算大數據類的技術
[雲計算/虛擬化]cloudstack和openstack在對kvm,xen這類的虛擬化技術進行底層封裝,外加自己實現了一堆模塊(存儲,網路,計算。。),這才是真正的雲計算。阿里雲,青雲,amazon都是做這塊的,百度也開始搞了。 他們這種屬於公有雲,你說的數據安全問題可以公司內部搭建個私有雲或者混合雲來解決,關鍵的數據放自己內部伺服器。
iaas 提供底層的的資源(內存,cpu,網路等等)服務paas在iaas上面部署一些程序運行環境,提供一個運行平台服務
saas 在paas上部署了一堆程序,你要哪個就付費買。直接用就好了,不用在費事自己裝了。
青雲感覺已經把大數據云化(二合一)了,挺給力。看圖說話
說說我的理解,不對的請指正。
雲計算的基礎是虛擬化,解決的是提高硬體利用率的問題,好比你有一間500平米的房子就住了一家三口,顯然不划算,於是分隔出好多個單間拿出來租。
大數據要解決的是計算量和數據IO規模超過單台伺服器的處理能力的問題,要把計算放到多台主機上並且能夠有條不紊的協調多個計算單元的工作。好比你一大家子18口人,一間商品房肯定不夠住,於是要租或者買多處房產,而且開家族會議的時候還能夠都聯繫上。
兩者儘管表現出來的都是一大堆機器的集群,但是從出發點來看,其實幾乎是硬幣的兩面。但是又但是在某些方面又能找到不錯的契合點,比如普通人或者小公司一般沒辦法擁有幾百個核心,去運算幾個TB的大數據,但是從雲計算服務商那裡卻可以租用到,按需付費即可。推薦閱讀:
※如何用形象的比喻描述大數據的技術生態?Hadoop、Hive、Spark 之間是什麼關係?
※內存有限的情況下 Spark 如何處理 T 級別的數據?