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