從今天開始,我將開啟走近云計算系列,這一系列不是高屋建瓴的科普,而是我的學習筆記,因為,我也是個菜鳥。如有謬誤,敬請評論區(qū)或私信交流。
這里是第一篇,初探云計算。
本文首發(fā)于個人公眾號:fanyongjian1994
我上大學的時候,云計算類似于今天的區(qū)塊鏈,更多是一種技術概念,聽著高大上,但并沒有大范圍在商業(yè)環(huán)境落地。短短數(shù)年后,云計算已經(jīng)成為業(yè)界的一個新的發(fā)展浪潮。亞馬遜作為云計算行業(yè)的先行者,其旗下的云計算服務 AWS 已經(jīng)成為亞馬遜的王牌業(yè)務,據(jù)數(shù)據(jù)統(tǒng)計,2017 年,AWS 貢獻的銷售額,超過了阿里巴巴一年的總營業(yè)收入。
亞馬遜之后,微軟、谷歌等國際互聯(lián)網(wǎng)大廠相繼推出自己的云計算服務,國內(nèi)也有阿里云、騰訊云、華為云等重磅玩家入場。當互聯(lián)網(wǎng)的人口紅利逐漸消失,服務模式轉(zhuǎn)型,產(chǎn)業(yè)互聯(lián)網(wǎng)成為新的戰(zhàn)場,而云計算在這樣的變革中,屬于大有可為的基礎設施。
可以做這樣一個比喻:云計算,正是產(chǎn)業(yè)互聯(lián)網(wǎng)時代的基建。
那么,到底什么是云計算?
什么是云計算
試想這樣一個場景,我們要做一個個人網(wǎng)站,來發(fā)布一些想要分享的東西,例如拍的照片、寫的文章等。在互聯(lián)網(wǎng)的早期,要實現(xiàn)這樣的需求,意味著你要做以下的事情:
- 擁有一臺接入互聯(lián)網(wǎng)的服務器
- 搭建服務器環(huán)境
- 編寫博客軟件(這意味著你要學習 Web 前后端的若干種編程語言)
- 部署軟件:你要使用一些 web 服務器,來讓你的軟件跑起來,例如 Nginx,WAMP 等
- 服務掛了,你還要懂一些運維的知識
也就是說,你為了寫一篇博客,需要一些硬件的資源,還要能夠編寫軟件,搭建網(wǎng)絡服務,才能將這樣一個簡單的個人網(wǎng)站搭起來。如果有一天,你發(fā)現(xiàn)你自己的服務器硬盤滿了,你還需要給服務器擴容,還可能升級 CPU 等等,夠麻煩,是不是?
事實證明,我們不需要這么麻煩,否則互聯(lián)網(wǎng)也不會有如今的普及度。現(xiàn)在的世界,我們想要搞一個個人網(wǎng)站,有太多的可供選項,你可以選擇類似于微信公眾號、微博這樣的第三方平臺;如果你懂一些編程知識,可以通過 WordPress 等服務搭建自己的博客站點;你如果更想折騰一下,大可以買一臺虛擬主機,這里已經(jīng)繼承了很多我們需要的服務環(huán)境,不需要你自己一一搭建,你只需要上傳自己的軟件就可以。
你發(fā)現(xiàn)了沒有,這些服務的特征是:不需要自己搭建服務器,我們和世界各地的各個用戶共享資源池,可以快速部署自己的服務,之后只需要關注上傳個性化內(nèi)容。
通過上面的這些特征,我們已經(jīng)對云計算有一個朦朧的理解:共享資源池、快速部署與交付、虛擬化的服務器。
事實上,當使用這些產(chǎn)品的時候,你已經(jīng)參與到到云計算的服務之中。
從使用者的角度講,云計算指的是,通過互聯(lián)網(wǎng)按需提供網(wǎng)絡資源,按使用量來計價,來獲得需要的技術服務,而不需要自己購買、擁有物理的數(shù)據(jù)中心和服務器。
而從技術的角度來說,云計算服務的基礎,是虛擬計算環(huán)境,或者你可以理解為虛擬的網(wǎng)絡資源與服務,用戶通過互聯(lián)網(wǎng)來獲得彈性的,易擴展的,虛擬化的資源。而這些資源,就是云計算服務器廠商來提供。
重復強調(diào),云計算的核心是基于共享的虛擬化資源和服務。有一個常見的類比,就是電力設施,我們每個家庭,或者組織都需要使用電力,那不能每家都維護一個發(fā)電廠,我們只需要一條電線和插板,就能夠獲取到電力。而電力的生產(chǎn)、運輸、維護則由國家的電力基礎設施建設來負責。如果把電網(wǎng)看作用電的基礎設施,那么,如今的云計算可以看作上網(wǎng)的基礎設施,如同普通人不用關心如何發(fā)電,如何運輸,你也不用擔心硬盤擴容、CPU、甚至服務構建,這些東西你會使用到,但是并不會具體接觸,因而它們是虛擬的。
所以,云計算擁有以下的基礎特征:
- 多人共享:你一個小博客不用占一整臺服務器,可以和很多類似的用戶共享這部分資源。
- 彈性計算:根據(jù)你的使用量,來動態(tài)地計算你需要的資源,最大化資源的使用率。
- 按需付費:既然你只用了小小的一部分資源,就不需要付整臺服務器的費用,這樣大大節(jié)省成本。
- 虛擬化:你不需要接觸硬件,甚至基本的平臺軟件。
- 快速部署:根據(jù)指引,你可以快速部署自己的服務,將之發(fā)布到互聯(lián)網(wǎng)上。
為什么需要云計算
為什么需要云計算這個問題,其實在上面已經(jīng)有一部分答案,對于用戶來說,省力、省錢是最直接的原因。
對于行業(yè)來說,我認為,這里的彈性計算是主要的原因,隨著互聯(lián)網(wǎng)應用的日益復雜,對于應用架構的基礎服務要求較多,你作為一個小的企業(yè),如果用戶量在短期內(nèi)井噴式爆發(fā),僅靠自己來擴容服務器,這就涉及到人力、資源、技術、維護的投入。反之,某一天你的用戶量流失嚴重,你的機房大部分服務器處于閑置狀態(tài),這同樣是一種浪費和成本流出,所以,云計算服務,實際上是將這些可能出現(xiàn)的情況,委托給云計算服務商處理,云計算服務商通過彈性計算、負載均衡、網(wǎng)絡存儲等技術干這些事,為你提供你所需要的服務,不多不少,正好。這對于一些創(chuàng)業(yè)公司以及中小型公司十分重要。
做個總結吧:本文主要是對云計算的主要特征有一個基本的把握,首先,對于云計算服務的使用者來說,你所接觸的服務是虛擬化的,很多時候是和互聯(lián)網(wǎng)上的各個節(jié)點互相共享的(當然私有云這樣的形式,是你獨有一部分資源,這塊后續(xù)再來介紹),云計算服務商通過彈性計算,來為你動態(tài)匹配需要的資源和服務,以讓你花最少的錢,來享受最滿意的服務。
云計算的另一個類比:
正文以用電來類比云計算,同樣,我們可以用用水來類比。你只需要拎開水龍頭,就可以喝到水,不需要關心水的處理、管道運輸,更不會鉆到下水道去看自己家的污水流到哪里去了。
下文預告
走近云計算系列之二:云計算的三種服務模式