解讀云計(jì)算霸主AWS
亞馬遜網(wǎng)絡(luò)服務(wù)系統(tǒng) AWS (Amazon Web Services) 是由亞馬遜公司創(chuàng)建的云計(jì)算平臺(tái),提供眾多遠(yuǎn)程網(wǎng)絡(luò)服務(wù)。云計(jì)算(Cloud Computing) 的云是什么意思呢,顧名思義就是指你看不到提供計(jì)算、儲(chǔ)存、服務(wù)等功能的硬件,不知道你的數(shù)據(jù)和服務(wù)放到了什么地方,就像是儲(chǔ)存和運(yùn)行在云里霧里的感覺。
最傳統(tǒng)的計(jì)算中心的模型我們稱之為 On Premises,就是你把CPU、網(wǎng)絡(luò)、存儲(chǔ)、服務(wù)器等各方面的硬件都買齊了,讓工程師把它們都搭建好,然后在這些硬件之上部署你的操作系統(tǒng)、數(shù)據(jù)和軟件,從頭到尾把你的服務(wù)建立起來。
云計(jì)算則是把其中的一部分抽象出來,直接作為服務(wù)提供給使用者。云計(jì)算目前有三種類型:
- Infrastructure as a Service (IaaS)
- Platform as a Service (PaaS)
- Software as a Service (SaaS)
IaaS 把底層的硬件抽象出來,上圖中綠色的模塊都不需要用戶自己搭建,而是由云服務(wù)商把它們抽象出來直接作為一種服務(wù)提供給用戶使用。使用者可以在其上搭建自己的操作系統(tǒng)等。
PaaS 比 IassS 的抽象程度更高,傳統(tǒng)的OS接口等也由云服務(wù)商提供,用戶只需在上面建立自己的應(yīng)用程序和數(shù)據(jù)。
SaaS 是離普通用戶最近的一層,用戶只需進(jìn)去直接應(yīng)用它提供的服務(wù)就行了,比如Google docs,可以直接為你提供文字處理的服務(wù)。
我們可以看到,不同的層次對(duì)資源的抽象程度不一樣,越往上層越抽象,也越容易去學(xué)習(xí)。而越往下層走,用戶需要管理的東西也就越多,同時(shí)對(duì)云平臺(tái)上資源的控制權(quán)也越多。
為什么企業(yè)需要使用云計(jì)算而不使用傳統(tǒng)的自建計(jì)算中心呢?
首先,企業(yè)不需要自己買硬件了。他們可以直接在網(wǎng)上獲得資源服務(wù)器來提供計(jì)算、存儲(chǔ)、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)等服務(wù)。企業(yè)只需要通過工具把各種資源組合起來使用即可。
其次,云計(jì)算為企業(yè)提供了很強(qiáng)的靈活性。企業(yè)不需要單獨(dú)用買一個(gè)服務(wù)器,而同時(shí)使用多臺(tái)服務(wù)器。一般搭建自己的服務(wù)器需要耗費(fèi)一定的時(shí)間,并且需要在固定地點(diǎn)搭建。而使用AWS的服務(wù),幾分鐘就能搭建運(yùn)行起來。
此外,云計(jì)算讓用戶的服務(wù)器不用拘泥于一個(gè)地點(diǎn),在地理的分布性上有很大的優(yōu)勢(shì),能更好地服務(wù)世界各地的客戶。
使用云服務(wù)也有需要注意的地方,不能單純認(rèn)為使用它就一定比傳統(tǒng)方式便宜。5年服務(wù)器的使用,計(jì)算下來,買服務(wù)器大約是7000美金,而云服務(wù)雖然在相同情況下只需要0.2美金每小時(shí),可5年要花費(fèi)8700美金。所以不是說用云計(jì)算服務(wù)就一定便宜,使用者需要有 cost-performance的意識(shí),要從架構(gòu)師的角度來看待問題。好資源是很花錢的,我們需要學(xué)習(xí)的就是怎么樣才能又快又省地完成任務(wù)。
從全球市場(chǎng)來看,提供云服務(wù)商中,微軟、谷歌、IBM、阿里云,四家的市場(chǎng)份額加起來也不及亞馬遜的AWS。云平臺(tái)的市場(chǎng)里,AWS占領(lǐng)了 IaaS 中將近50%的市場(chǎng)份額,遠(yuǎn)遠(yuǎn)領(lǐng)先其他公司。AWS也已成為云計(jì)算行業(yè)中的標(biāo)準(zhǔn),其他的公司也向其靠攏,所以學(xué)習(xí)AWS的應(yīng)用范圍是非常廣的。
由于資源硬件降價(jià)、競(jìng)爭(zhēng)激烈,AWS價(jià)格大幅下降。可價(jià)格跳水的同時(shí),AWS的收入?yún)s不斷增長(zhǎng)。這說明AWS的發(fā)展越來越好、客戶越來越多。將來計(jì)算資源越來越便宜,云計(jì)算的價(jià)格會(huì)逐漸降低,使用的人也會(huì)越來越多,大家不會(huì)再自己買自己的硬件。使用AWS成為未來企業(yè)發(fā)展的一大趨勢(shì)。AWS作為一門通用的技術(shù),也非常值得投資學(xué)習(xí)。
當(dāng)公司把自己的服務(wù)轉(zhuǎn)移到云平臺(tái)的時(shí)候,面臨的挑戰(zhàn)是完全不一樣的。沒有一個(gè)永久性能解決所有問題的解決方案。這就需要架構(gòu)師搭建正確的架構(gòu)、提供獨(dú)特的方案。在沒有一鍵式解決問題的方式時(shí),工程師的作用就十分巨大了。
上圖展示了AWS的技術(shù)棧:
最底層是AWS的基站,是AWS服務(wù)的物理的結(jié)構(gòu)。
Compute, Storage, Networking, Security作為AWS最基本的模塊。其中,Networking指的是怎么把計(jì)算資源分布和分割,以達(dá)到負(fù)載平衡。Security規(guī)定了資源的訪問權(quán)限。Parallel Processing, Database, Messaging 都是在四大基本模塊之上搭好的服務(wù)。
最上一層的服務(wù),就非常application-oriented,面向不同的應(yīng)用。在其上,公司可以專注于搭建自己的服務(wù)和應(yīng)用。
此外也有很多的第三方開源軟件,用來更好地管理AWS的資源。所有這些模塊的運(yùn)用都通過AWS接口來實(shí)現(xiàn)。AWS有以下幾類:
- Web Console: 在計(jì)算資源的走勢(shì)、價(jià)格是很方便,但是在操作計(jì)算資源時(shí)比較麻
- Command Line:主要運(yùn)用Python來實(shí)現(xiàn)
- APIs:最重要的,只要理解了API的接口,其他的部分都可以信手拈來。第三方應(yīng)用軟件和工具也都是在API上搭建的,這是AWS應(yīng)用的核心
加注黃色高光的部分都是課程中會(huì)講到的。
在不同的計(jì)算資源下,AWS不同的配置會(huì)有不同的價(jià)格,可以選擇的種類很多,這些都是根據(jù)需求來決定的。所以,工程師們一定要有價(jià)格意識(shí),每個(gè)服務(wù)的使用都是要花錢的,不要看價(jià)格表上的價(jià)格很小,用起來其實(shí)可能會(huì)相當(dāng)花錢。
AWS也提供Spot Instances的服務(wù)。AWS有時(shí)候某些資源是用不上的,客戶可以不用付全價(jià)去使用它們,而是以競(jìng)價(jià)拍賣的形式去bid AWS上的空閑資源。通過這種形式,用戶可以以一到兩折的價(jià)格來使用AWS的計(jì)算資源。但是一旦其他用戶出價(jià)更高,資源會(huì)隨時(shí)被搶走,因此非常不穩(wěn)定,需要考慮如何將服務(wù)進(jìn)行快速遷移。
為什要學(xué)習(xí)AWS云計(jì)算技術(shù)?
AWS在當(dāng)今商業(yè)云計(jì)算平臺(tái)領(lǐng)域的應(yīng)用無疑已經(jīng)處于了壟斷地位,市場(chǎng)需求也越來越大,大家有目共睹。詳細(xì)可以參考下面幾篇文章:AWS正在蠶食這個(gè)世界。我們認(rèn)為,AWS技術(shù)已經(jīng)成為了云計(jì)算時(shí)代的”操作系統(tǒng)”技術(shù)。在現(xiàn)在越來越多的公司企業(yè)中,已經(jīng)看不到傳統(tǒng)計(jì)算資源CPU,硬盤,網(wǎng)絡(luò)的身影了。工程師間的對(duì)話也已經(jīng)變成下面這樣:
這個(gè)instance EBS的IOPS太少了,換一個(gè)大的instance才能滿足這個(gè)需求….
你的數(shù)據(jù)在S3的哪個(gè)bucket上面?過多久會(huì)移到Infrequent Access上面啊?
哦,這兩個(gè)instances不在一個(gè)VPC里面,你要peering一下才能訪問,記得加下我的這個(gè)IAM role..
為什么我在這個(gè)availability zone里面花的錢要比另外一個(gè)zone多啊?
無疑,學(xué)習(xí)AWS能讓你最快地參與到上面的對(duì)話里面。
AWS訓(xùn)練營(yíng)主要面向的對(duì)象是?
面向所有背景的同學(xué)和軟件工程師。如果你想找一份云計(jì)算工程的工作,或是做一名技術(shù)全面的軟件工程師,或者你打算搭建自己的計(jì)算數(shù)據(jù)平臺(tái)創(chuàng)業(yè),或者你希望在日常的學(xué)習(xí)或研究里快速便宜地搭建一個(gè)數(shù)據(jù)平臺(tái)來處理自己的數(shù)據(jù)等等。
學(xué)習(xí)的投入和產(chǎn)出?
眾多周知,前端技術(shù)生態(tài)圈的變化是非常非常非常快的,今天你才學(xué)了這個(gè)技術(shù),可能明天就不得不改學(xué)或者遷移到其他技術(shù)。相反的是,底層技術(shù)棧通用性極強(qiáng),對(duì)穩(wěn)定性的要求很高,因此相對(duì)于前段技術(shù)棧來說在長(zhǎng)時(shí)間內(nèi)是非常穩(wěn)定的,不容易被替代。例如AWS的從2006年推出至今,其核心組件服務(wù)編程接口并無大的變化。因此今后越來越大的AWS市場(chǎng)需求下,你的學(xué)習(xí)投資的保值和增值是可見一斑的。