寫給小白的云計算入門科普
2006年8月9日,當時的谷歌首席執(zhí)行官埃里克·施密特(Eric Schmidt)在搜索引擎大會(SES San Jose 2006)上,首次提出了“云計算”(Cloud Computing)的概念。
而就在大會的5個月之前,2006年3月,電商起家的美國亞馬遜公司正式推出了自家的彈性計算云(Elastic Compute Cloud,EC2)服務。
這兩個標志性事件的發(fā)生,正式宣告了云計算時代的到來,也意味著互聯(lián)網(wǎng)的發(fā)展進入了一個新的階段。
時至今日,十四年過去了,云計算經(jīng)歷了質(zhì)疑,也經(jīng)歷了狂熱,逐漸被人們所接受,進入了穩(wěn)步發(fā)展的階段。
然而,作為一個高大上的名詞,眾人皆知的概念,至今為止,我們?nèi)匀浑y以對云計算給出一個準確的、通俗易懂的定義。
專業(yè)機構(gòu)給出的定義,永遠讓人云里霧里——
一種計算方式,能夠通過Internet技術(shù)將可擴展的和彈性的IT能力作為服務交付給外部用戶。(Gartner公司)
一種標準化的IT性能(服務,軟件或者基礎設施),以按使用付費和自助服務方式,通過Internet技術(shù)進行交付。(ForresterResearch公司)
云計算是一種模型,可以隨時隨地,便捷地,按需地從可配置計算資源共享池中獲取所需的資源,資源可以快速供給和釋放,使管理的工作量和服務提供者的介入降低至最少。(美國國家標準和技術(shù)研究院)
究其原因,我覺得有兩個方面。
第一,是不同的人,看待云計算有完全不同的角度。
“一千個人心中有一千個哈姆雷特”。不同的人對云計算有不同的定義,不同的想法。例如:
技術(shù)工程師認為:云計算是一種技術(shù),一項專業(yè)。
商人認為:云計算是一種商業(yè)模式,一門賺錢的生意。
普通用戶認為:云計算是自己經(jīng)常會用到的一種服務。
財務總監(jiān)和老板認為:云計算是資金投入,是成本。
第二個原因,我覺得是因為云計算過于龐大,以至于“盲人摸象”。甲認為A是云計算,乙認為B是云計算,丙認為C是云計算。大家各說各話,無法給出一個統(tǒng)一的定義。
其實,我覺得,云計算就是“云”+“計算”。“計算”是一種行為。而“云”,是一種模式、方法,或者說理念。
我們對計算非常熟悉。人腦思考,就是一種計算方式。計算,就是對信息、數(shù)據(jù)進行處理和運算。這是一個很寬泛的概念。
我們玩游戲,里面的人物建模、移動控制,屬于計算。我們看視頻,里面的圖像編碼解碼,屬于計算。我們網(wǎng)上購物,計價付費,也屬于計算。
在信息時代,計算無處不在。
然而,就像人思考需要大腦、干活需要工具一樣,計算也離不開資源。
信息時代的計算資源,既包括CPU、內(nèi)存、硬盤、顯卡這樣的硬件資源,也包括操作系統(tǒng)、數(shù)據(jù)庫、運行庫、中間件、應用程序這樣的軟件資源。
而“云”,就是獲取這些資源的一種新型方式。
與云計算相對應的,是傳統(tǒng)計算。
最早的大型機,中型機,再到80年代的PC機,90年代的小機房,都屬于傳統(tǒng)計算。
傳統(tǒng)計算的一大特點,就是資源固化。也就是說,這些計算機所能夠使用的軟硬件計算資源,是固定的。
CPU、內(nèi)存、硬盤,裝了多少,就只能用多少。資源少了(性能不足),需要再花錢買。資源多了(性能過剩),也不給退。
正因為傳統(tǒng)計算在資源分配上缺乏足夠的靈活度,所以才有了“云計算”概念的提出。
簡單來說,相比傳統(tǒng)計算,云計算的資源獲取方式,從“買”變成了“租”。
所有我們前面提到的軟硬件計算資源,全部都能租。提供資源租用服務的,就是云服務提供商。
▉ 云計算的基本特點
云計算的這種“租”,和我們平常租房租車又有很大不同。它具有三個顯著特點:
- 資源池化
云計算的計算資源,大部分不是單體物理資源。也就是說,不會租一臺孤零零的物理服務器給你。(裸金屬服務器除外)
大部分云計算資源,都是池化了的資源。什么叫池化?池化就是物理資源的基礎上,通過軟件平臺,封裝成虛擬的計算資源,也就是我們常說的虛擬化。
- 虛擬化
虛擬化的好處,就是讓計算資源變得更加容易選擇,調(diào)用更加靈活。
- 彈性伸縮
云計算的計算資源,可以按需付費。你想要用多少,就租多少,配置是支持自定義的。
這就有點像吃麻辣燙,豐儉由人,想吃什么就拿什么,想吃多少就拿多少。最后按量付費。
麻辣燙
如果你后期因為業(yè)務增長,需要更好的配置,可以加錢,買更多資源。
增加資源的過程,基本上是平滑升級。盡可能減小對業(yè)務的影響,也不需要進行業(yè)務遷移。就像你現(xiàn)在用的電腦,硬盤從1TB升級到2TB,下個訂單就完成了,不需要換機,甚至不需要重啟。(升級CPU或內(nèi)存還是需要停一下機的。)
如果某項業(yè)務的負荷下降,你也可以選擇彈性收縮,降低配置,節(jié)約資金。
- 安全可靠
專業(yè)的人做專業(yè)的事。傳統(tǒng)計算,需要自購硬件,自建機房,自行維護。這是很大的資金和人力投入。
而云計算,從物理角度來說,所有的計算資源都匯集在大型互聯(lián)網(wǎng)數(shù)據(jù)中心(IDC),那里有嚴格的安保、抗震的建筑、安全的供電,有非常全面的容災設計和應急方案,能夠更好地保護計算資源,不會輕易地中斷服務。
IDC數(shù)據(jù)中心
從軟件上來說,云計算服務提供商有更專業(yè)的技術(shù)團隊,更成熟的技術(shù)儲備,能夠更好地保護計算資源不被入侵或破壞。
大部分云計算服務采用的分布式架構(gòu),使得計算資源可以承受遠超單點架構(gòu)的負荷壓力。多節(jié)點的服務方式,也便于服務不同區(qū)域的用戶。
▉ 云計算到底包括哪些服務
前面我們說了,云計算提供資源服務,主要包括硬件資源和軟件資源。
你知道具體有多少種資源嗎?
小棗君以目前國內(nèi)某云計算服務商所提供的服務為例,整理了一個產(chǎn)品表格,如下:
簡單統(tǒng)計了一下,一共7個大類,149個項目,充分說明了現(xiàn)在云計算業(yè)務的多樣性,但凡是你能想到的,都被做成了云服務,用來“出租”。
我們來簡單看看這些大類分別是干什么的。
- 彈性計算
這是最主要的一類云計算服務,實際上就可以理解為租一臺配置靈活的服務器。支持異構(gòu)運算,既可以租用CPU算力,也可以租用GPU、FPGA算力。算力從入門級到高性能,全部配齊。
實現(xiàn)彈性計算的虛擬化和容器技術(shù),也被單獨拆分出來,進行“出租”。
- 數(shù)據(jù)庫
這個就不用說了,從結(jié)構(gòu)化數(shù)據(jù)庫到非結(jié)構(gòu)化數(shù)據(jù)庫,從開源數(shù)據(jù)庫到私有技術(shù)數(shù)據(jù)庫,全部都有。
- 存儲
我前幾天介紹過的,塊存儲、文件存儲、對象存儲,全部配齊。
- 網(wǎng)絡
包括帶寬、公網(wǎng)IP、VPC專有網(wǎng)絡,能想到的都有。SLB負載均衡服務,CDN內(nèi)容分發(fā)網(wǎng)絡服務,也有。
- 安全服務
從DDoS到漏洞掃描、安全測試,全部配齊。
- 物聯(lián)網(wǎng)和云通信
相信很多通信人會感到有點驚訝。是的,對于云服務提供商來說,這些都屬于云服務。既然移動通信網(wǎng)絡沒牌照不能碰,LoRa、終端、物聯(lián)網(wǎng)平臺這些能碰的技術(shù),還是不會放過的。
- 人工智能和大數(shù)據(jù)
這兩塊是最值得關(guān)注的。大數(shù)據(jù)我之前專門介紹過,它本質(zhì)上就是屬于云計算的。人工智能也沒有被云服務提供商放過,從接口到平臺,都有所涉及。包括語音識別、圖像識別,都成了云服務的一種。有的云服務商,還提供人臉識別和人體分析服務。
以上各類云計算業(yè)務,基本涵蓋了所有的計算領域和需求,也適合各個行業(yè)各個層次的用戶。
所以說,很多人把云計算比作是和水、電一樣的基礎設施,確實如此,以后沒有人能離得開云計算。
- ▉ IaaS、Paas、SaaS
剛才我們是對計算資源進行了橫向分類。其實,我們也可以對它們進行縱向分類。
戴爾公司曾經(jīng)給云計算梳理過一個12層模型:
上面這個模型非常專業(yè),我畫一個大家更能看得懂的簡單模型:
云計算既然是一種資源提供方式,那么,就可以根據(jù)模型的層級,提供不同等級的資源。
我們姑且分為三層:第一層次,是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網(wǎng)卡(網(wǎng)絡資源)等。第二層次,要高級一些,我不打算直接使用CPU、硬盤、網(wǎng)卡,我希望你把操作系統(tǒng)(例如Windows、Linux)裝好,把數(shù)據(jù)庫軟件裝好,我再來使用。第三層次,更高級一些,你不但要裝好操作系統(tǒng)這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。這三種層次,就是大家經(jīng)常聽到的IaaS、Paas、SaaS。IaaS: Infrastructure-as-a-Service(基礎設施即服務)PaaS: Platform-as-a-Service(平臺即服務)SaaS: Software-as-a-Service(軟件即服務)
事實上,這三種服務模型并不代表云計算的全部。如果你愿意,完全可以自己定義一個模型,例如存儲即服務、網(wǎng)絡即服務、編排即服務,甚至出行即服務、定位即服務。
這充分體現(xiàn)了云計算服務的靈活性。
▉ 公有云、私有云和混合云
最后,我們再來看看公有云、私有云和混合云。
這個是站在部署方式的角度來進行分類的結(jié)果。
公有云:這是云計算部署最常見的一種方式。計算資源由第三方云服務提供商擁有和運營。來自不同組織的企業(yè)或個人,共享資源池中的資源。
私有云:計算資源由第三方或組織自己擁有和運營。所有的計算資源,只面向一個組織開放。這種方式資源獨占,安全性更高。
混合云:公有云+私有云。例如,平時業(yè)務不多時,使用私有云資源,當業(yè)務高峰期時,臨時租用公有云資源。這是一種成本和安全的折中方案。
好啦,相信看到這里,大家都搞明白云計算到底是什么了。
我還是要補充說一句,云計算其實并不是萬能良藥。這種資源集中的方式,對于很多場景需求來說,并不一定適合。
以前我們搞云計算,主要的動力來自資源不足。現(xiàn)在,隨著終端算力的不斷增加,分布節(jié)點的計算資源也能夠滿足很多場景需求。于是,區(qū)塊鏈等去中心化的技術(shù),開始崛起,邊緣計算這樣的新型計算方式,也在崛起。這些,都會對云計算造成一定的競爭壓力。
至于未來的計算模式會不會發(fā)生新的變革,還需要時間來告訴我們答案。