昨天,Amazon EC2迎來(lái)了15歲生日!在這個(gè)值得慶祝的時(shí)刻,我們一起跟隨亞馬遜云科技首席宣傳官Jeff Barr回顧過(guò)去這15年Amazon EC2的歷程吧!
十五年前的今天,Amazon EC2發(fā)布了測(cè)試版。我記得,那時(shí)發(fā)布迫在眉睫,而我們還在努力敲定功能集、定價(jià)模式和諸多細(xì)節(jié)。最終發(fā)布日期確定了,卻與我計(jì)劃已久的家庭旅行重疊,可我還是很淡定地選擇帶上了手提電腦去度假。記得在撰寫(xiě)博文時(shí),為了看清屏幕,我還不得不用毛巾蓋住手提電腦。雖然不是100%確定,但我相信我應(yīng)該是在坐在泳池旁邊的躺椅上點(diǎn)擊發(fā)布按鈕的!以至于在那個(gè)星期剩下的時(shí)間里,我都處于離線狀態(tài),完全不知道這次發(fā)布引起了怎樣的轟動(dòng)。
準(zhǔn)備發(fā)布
最初,Andy Jassy組建這個(gè)小組時(shí)給我看了一份文檔,其中提議打造Amazon Execution Service,并詢(xún)問(wèn)我,開(kāi)發(fā)人員是否會(huì)覺(jué)得有用,以及他們是否愿意為它付費(fèi)?我饒有興趣地閱讀了這份文檔,閱畢很是歡欣鼓舞,對(duì)他的兩個(gè)問(wèn)題的回答都是肯定的。在職業(yè)生涯的早期,我曾構(gòu)建并運(yùn)行過(guò)多個(gè)托管在主機(jī)托管站點(diǎn)的項(xiàng)目,所以對(duì)于長(zhǎng)期合約和難以按需擴(kuò)展再熟悉不過(guò)了。而他提議的服務(wù)將解決這兩個(gè)基本問(wèn)題,并能夠讓像我這樣的開(kāi)發(fā)人員更容易應(yīng)對(duì)需求的大幅波動(dòng)。
Amazon EC2團(tuán)隊(duì)需要做出大量決策,來(lái)構(gòu)建可滿(mǎn)足開(kāi)發(fā)人員、企業(yè)家和更大組織需求的服務(wù)。雖然我不參與決策,但在我看來(lái),他們至少需要在三個(gè)主要方面做出決策:功能、定價(jià)和詳細(xì)程度。
功能
首先,讓我們回顧Amazon EC2發(fā)布時(shí)提供的功能。當(dāng)時(shí)只有一種實(shí)例類(lèi)型,在一個(gè)區(qū)域(美國(guó)東部·弗吉尼亞北部),并且我們還沒(méi)有公開(kāi)可用區(qū)的概念。只有為數(shù)不多的預(yù)構(gòu)建Linux內(nèi)核可供選擇,并在實(shí)例啟動(dòng)時(shí)分配IP地址。所有存儲(chǔ)都是暫時(shí)的,并且與實(shí)例具有相同的生命周期。沒(méi)有數(shù)據(jù)塊存儲(chǔ),根磁盤(pán)鏡像(AMI)存儲(chǔ)在Amazon S3捆綁中。按理說(shuō)在最初發(fā)布Amazon EC2時(shí)我們應(yīng)該提供完善的功能,但事實(shí)上我們更加注重服務(wù)的必要性,而后是完整性。多年來(lái),我采用這樣的發(fā)布策略,即創(chuàng)建最小但有用的服務(wù),這使我們能夠快速發(fā)布并快速迭代(以及添加新功能)以響應(yīng)客戶(hù)的反饋。
定價(jià)
如何決定Amazon EC2的使用收費(fèi)所依據(jù)的單位并不容易。最終,我們確定按實(shí)例小時(shí)數(shù)收費(fèi)。與直接購(gòu)買(mǎi)服務(wù)器并在3或5年期限內(nèi)折舊,或作為年度合約的一部分每月支付的舊模式相比,這樣的付款方式更加科學(xué)。即便如此,我們的客戶(hù)仍有可以從更精細(xì)計(jì)費(fèi)方式受益的使用案例,因此我們?cè)?017年針對(duì)Amazon EC2和Amazon EBS推出了按秒計(jì)費(fèi)的方式。在背后,亞馬遜云科技團(tuán)隊(duì)還必須構(gòu)建基礎(chǔ)設(shè)施,來(lái)對(duì)客戶(hù)的使用情況進(jìn)行測(cè)量、跟蹤、制表和計(jì)費(fèi)。
詳細(xì)程度
詳細(xì)程度也是我在撰寫(xiě)博文時(shí)經(jīng)??紤]的問(wèn)題。在發(fā)布時(shí),我分享了一個(gè)事實(shí),即Amazon EC2實(shí)例(我們后來(lái)稱(chēng)為m1.small)提供了相當(dāng)于1.7 GHz Intel Xeon處理器的計(jì)算能力,但我并沒(méi)有分享實(shí)際型號(hào)或其他細(xì)節(jié)。取而代之,我們只在Xen上分享了構(gòu)建Amazon EC2的事實(shí)。隨著時(shí)間的推移,客戶(hù)需要一些專(zhuān)門(mén)的處理器功能來(lái)滿(mǎn)足需求,所以我們慢慢開(kāi)始分享這些信息。
一些令人難忘的Amazon EC2發(fā)布
回顧過(guò)去的15年,我認(rèn)為我們做對(duì)了很多事情,我們也為該服務(wù)的發(fā)展留下了巨大空間。每一次發(fā)布都很重要,但這里我說(shuō)說(shuō)讓我記憶猶新的幾次:
2006 Amazon EC2發(fā)布
這是一切的開(kāi)始。早期較為重要的擴(kuò)展成功案例之一發(fā)生在2008年初,當(dāng)時(shí)Animoto在一周內(nèi)將其使用量從不到100個(gè)實(shí)例擴(kuò)展到了3400個(gè)實(shí)例。
2008 Amazon Elastic Block Store發(fā)布
此次發(fā)布使我們的客戶(hù)能夠?qū)mazon EC2和持久性數(shù)據(jù)塊存儲(chǔ)結(jié)合使用。如果您看一看那篇文章,您會(huì)看到曾經(jīng)流行的適用于Firefox的擴(kuò)展ElasticFox的一些歷史屏幕截圖。
2009 Amazon Elastic Load Balancing/Amazon Auto Scaling/Amazon CloudWatch以及Amazon Virtual Private Cloud/Amazon VPC的發(fā)布
Amazon Elastic Load Balancing、Amazon Auto Scaling和Amazon CloudWatch的發(fā)布使我們的客戶(hù)能夠更輕松地構(gòu)建可擴(kuò)展且高度可用的應(yīng)用程序。引用我自己的話(huà),“Amazon CloudWatch可監(jiān)控Amazon EC2容量,Amazon Auto Scaling可根據(jù)需求動(dòng)態(tài)擴(kuò)展它,而Amazon Elastic Load Balancing可在一個(gè)或多個(gè)可用區(qū)中的多個(gè)實(shí)例之間分配負(fù)載?!?/p>
Amazon Virtual Private Cloud/Amazon VPC的發(fā)布使我們的客戶(hù)能夠創(chuàng)建邏輯隔離的Amazon EC2實(shí)例集,并通過(guò)IPsec VPN連接將它們連接到現(xiàn)有網(wǎng)絡(luò)。它為我們的客戶(hù)提供了對(duì)網(wǎng)絡(luò)尋址和路由的額外控制,并為未來(lái)幾年許多額外的聯(lián)網(wǎng)功能打開(kāi)了大門(mén)。
2017 Amazon Nitro系統(tǒng)發(fā)布
多年來(lái),我們一直努力重新構(gòu)想和重建我們的虛擬化基礎(chǔ)架構(gòu),以追求更高的性能和安全性,此次發(fā)布便是是我們多年工作的結(jié)晶。
2018 Amazon Graviton發(fā)布
此次發(fā)布標(biāo)志著Amazon設(shè)計(jì)的定制CPU的誕生,這些CPU專(zhuān)為成本敏感的橫向擴(kuò)展工作負(fù)載而設(shè)計(jì)。自那次發(fā)布以來(lái),我們繼續(xù)在這條進(jìn)化路線上前進(jìn),推出采用Amazon Graviton2處理器的通用型、計(jì)算優(yōu)化、內(nèi)存優(yōu)化和可突增實(shí)例。
2006-至今 實(shí)例類(lèi)型
在發(fā)布之初,我們只提供一種實(shí)例類(lèi)型,而如今則提供超過(guò)四百種實(shí)例類(lèi)型,每一種都旨在讓我們的客戶(hù)能夠滿(mǎn)足特定使用案例的需求。