云計算、大數據和人工智能的關系

2019/3/29

在了解云計算技術之前,先要知道云計算的目標:

云計算在設計之初,主要是為了對計算資源,網絡資源,存儲資源的管理

虛擬化:

我們先談談虛擬化技術:假如,我們花費100元在阿里云購買一臺服務器,我們仿佛就獲得了一臺計算機,,我們想要使用遠程工具登錄到我們的計算機上進行相關的部署,而我們從阿里云購買的這臺計算機,要知道只有100元,怎么可能買得到計算機呢?還要知道阿里云里面的每一臺計算機在采購的時候都是非常昂貴的,但是我們就是花100元獲得了計算機的使用權。這是怎么做到的呢?這里用到了虛擬化技術:

基于虛擬化技術的虛擬化軟件可以創建一臺虛擬的電腦,這臺電腦提供電腦的所有的功能,但是你看不到其物體。這有點移動支付的味道,錢真實的到賬了,但是你就是沒有看到鈔票。

實際上啊。阿里云將一臺臺大型的計算機,劃分成了一個又一個的小模塊,客戶的每一次購買,阿里云都是將數據中心的物理設備(計算機)虛擬出來一小塊給客戶,虛擬化的技術能夠保證不同客戶的電腦看起來是隔離的,比如我的100G是我的,你的100G是你的,但是實際上,這200G的存儲在一塊很大很大的磁盤上。

實現虛擬化最早的公司是VMware,VMware是閉源的,還有兩個開源的虛擬化軟件,Xen,KVM。使用虛擬化軟件能夠虛擬出來計算機,雖然虛擬化軟件能夠解決將一個大型機(更多是大型機集群)虛擬出多個計算機,供多人使用,但是虛擬化軟件能夠管理的集群規模有限制,一般不能很大(最多百臺),而且一般的虛擬化軟件創建一臺虛擬機,需要人工指定這臺虛擬電腦放在哪里。這里使用過VMware軟件的應該知道,每一次新建虛擬機的時候,都必須要指定你的虛擬機放在哪個磁盤上。由于①人工,②管理的集群有限兩個弊端,出現云化技術。

 鄭州APP開發公司,就找河南天頻信息有限公司

云化:

如果每一次虛擬出電腦,都需要去指定該電腦要放置的位置并做相應的配置,幾乎是不可能的事情,我們需要將其機器化,自動化,人們發明了 各種各樣的算法,算法的名字叫做Scheduler(調度)

就是說在數據中心里的物理機集群中,設置一個調度中心,這個調度中心管理整個數據中心的所有物理機,當用戶提交計算資源的申請的時候,這個調度中心自動的處理用戶的請求,虛擬出符號用戶要求的計算機,并完成相應的配置,這個調度中心支持管理的服務器在萬臺,百萬臺。

這就是云化,可以理解為加強版的虛擬化技術,如果一個物理機集群,達到了云化的階段,我們就可以稱之為云計算了。

公有云,私有云:

云計算大致分為公有云和私有云,混合云為私有云和公有云的連接,我們這里不做討論,所謂私有云:

①私有云:把虛擬化和云化的這套軟件部署在別人的數據中心里面。使用私有云的用戶往往很有錢,自己買地建機房、自己買服務器,然后讓云廠商部署在自己這里

②公有云:把虛擬化和云化軟件部署在云廠商自己數據中心里面的,用戶不需要很大的投入,只要注冊一個賬號,就能在一個網頁上點一下創建一臺虛擬電腦。比如:AWS 即亞馬遜的公有云;國內的阿里云、騰訊云

亞馬遜為什么要做公有云呢?原來亞馬遜是國外的一個較大的電商,國外的電商也有類似于國內的Double Eleven的場景,大家同一時刻,沖上去買東西,這是我們熟悉的高并發場景,需要巨大的計算資源支持,所以亞馬遜需要一個云計算平臺。當出現高并發的情況的時候,立馬虛擬化一些計算機來應對高并發情況,過了高并發階段,馬上釋放這些資源去做別的事情。

然而虛擬化軟件太貴了,亞馬遜不愿意掏這個錢,也不愿受制于虛擬化軟件廠商,于是在開源虛擬化軟件 Xen,KVM的基礎上開發了自己的一套云化軟件,后來亞馬遜的云平臺越來越牛。

雖然,亞馬遜使用了開源的虛擬化技術,但是云化的代碼是閉源的,很多公司看到亞馬遜共有云很掙錢,但是苦于技術難度大投入大。后來,公有云的第二,Rackspace開放了云化的源代碼,做云計算的公司紛紛涌入進來。

云計算的分層:Iaas,Pass,

計算、網絡、存儲我們常稱為基礎設施 Infranstracture,有了云計算之后,我們能夠非常靈活的獲取一臺計算機(包含計算,網絡,存儲資源)因此云計算做到了基礎即服務,而且這個服務還具有彈性,不使用的時候釋放,使用的時候創建, 這個階段的彈性稱為資源層面的彈性。

IaaS 平臺之上又加了一層,用于管理資源以上的應用彈性的問題,這一層通常稱為 PaaS(Platform As A Service)。

docker容器技術:最大的應用就是在云計算的方向的Paas中,實現用戶應用的在多臺機器的部署,是實現自動化部署用戶應用的工具。

PaaS層的作用:完成用戶個性化應用的自動部署,通用的應用服務不用部署(實際上是云平臺幫你部署了)

鄭州APP開發公司,就找河南天頻信息有限公司

在PaaS層用戶如何完成個性化應用的快速部署? 使用的是容器的技術。也既保存鏡像和還原鏡像。

這兩步需要封閉的環境,封閉的環境有兩個技術支持:   第一個隔離的技術,稱為 Namespace,也即每個 Namespace 中的應用看到的是不同的 IP 地址、用戶空間、程號等。 第二個隔離的技術,稱為 Cgroups,也即明明整臺機器有很多的 CPU、內存,而一個應用只能用其中的一部分

大數據和云計算之間的聯系: 在PaaS層中一個通用的復雜的應用就是大數據平臺, 數據沒有用,但是數據里面有一個重要的東西,叫做信息,數據十分雜亂,經過梳理和清洗,才能夠稱為是信息,從信息中總結出規律出來,稱為知識,知識應用于實踐,就成了智慧。下面是圖:

數據如何完成一次旅行?從數據到智慧?

數據收集
數據傳輸
數據存儲
數據處理和分析
數據檢索和挖掘
【數據收集】的方式有兩種:  

拿:抓取,或者是爬取,比如搜素引擎就是這么做的,它把網上的所有的信息都下載到它的數據中心,然后你一搜才能搜出來。比如你去搜索的時候,結果會是一個列表,這個列表為什么會在搜索引擎的公司里面?就是因為他把數據都拿下來了,但是你一點鏈接,點出來這個網站就不在搜索引擎它們公司了。比如說新浪有個新聞,你拿百度搜出來,你不點的時候,那一頁在百度數據中心,一點出來的網頁就是在新浪的數據中心了

推送,有很多終端可以幫我收集數據。比如說小米手環,可以將你每天跑步的數據,心跳的數據,睡眠的數據都上傳到數據中心里面。 多臺機器,完成數據的收集操作。

【數據傳輸】:一般會通過隊列進行傳輸,因為數據量實在是太大了,系統處理不過來,只好排隊,慢慢處理。這讓我想到了kafka。 數據量非常大的時候,一個內存里面的隊列一個內存里面的隊列肯定會被大量的數據擠爆掉,于是就產生了基于硬盤的分布式隊列,這樣隊列可以多臺機器同時傳輸,隨你數據量多大,只要我的隊列足夠多,管道足夠粗,就能夠撐得住

【數據存儲】:這讓我想到了HDFS,一臺文件系統肯定是放不下的,所以需要一個很大的分布式文件系統:

數據處理和分析:原始數據雜亂無章,有很多垃圾數據在里面,需要清洗和過濾,這讓我想起了MapReduce。terasort對一個TB的數據進行排序,單機處理需要幾個小時,但是并行處理需要209秒。 數據量越來越大,很多不大的公司都需要處理相當多的數據,這些小公司沒有那么多的機器怎么辦?云計算來解決。

鄭州APP開發公司,就找河南天頻信息有限公司

數據檢索和挖掘:檢索就是搜索,所謂外事不決問 Google,內事不決問百度。內外兩大搜索引擎都是將分析后的數據放入搜索引擎,因此人們想尋找信息的時候,一搜就有了。另外就是挖掘,僅僅搜索出來已經不能滿足人們的要求了,還需要從信息中挖掘出相互的關系。

比如財經搜索,當搜索某個公司股票的時候,該公司的高管是不是也應該被挖掘出來呢?如果僅僅搜索出這個公司的股票發現漲的特別好,于是你就去買了,其時其高管發了一個聲明,對股票十分不利,第二天就跌了,這不坑害廣大股民么?所以通過各種算法挖掘數據中的關系,形成知識庫,十分重要。 數據量越來越大,很多不大的公司都需要處理相當多的數據,這些小公司沒有那么多的機器怎么辦?

云計算來解決。很多的小公司都會在自己的云上安裝大數據,干脆云平臺,將其部署到PaaS,將其作為一個通用的應用。現在的公有云上,基本上都有大數據的解決方案了。如此一來,小公司不需要采購一千臺機器,只要在公有云上一點擊,千臺機器出來了,而且上面已經部署好了,大數據平臺,只要把數據放進去就行了。大數據和云計算兩者完美的結合在了一起。

Saas:軟件即服務,比如說人工智能程序。為什么智能程序是軟件即服務呢?而不是像大數據解決方案那樣作為PaaS呢,因為后者是一個集群,涉及到了PaaS中,而人工智能程序是程序,而且這個程序是大量的數據訓練出來的,小公司并沒有那么大的數據訓練,如果用戶單獨安裝一套,結果往往很差。云計算廠商往往積累了大量的數據,于是云計算廠商就在里面安裝一套,暴露一個服務的接口。 當一個大數據公司積累了大量數據,會使用一些人工智能的算法提供一些服務;一個人工智能公司,也不可能沒有大數據平臺支撐
 

广西快乐10分彩