在公司發(fā)展的初期SmugMug和傳統(tǒng)的公司一樣建立自己的數(shù)據(jù)中心并通過不斷添置新的IT設(shè)備以適應(yīng)業(yè)務(wù)量的增長,但是很快就發(fā)現(xiàn)業(yè)務(wù)量的增長速度大大超過設(shè)備添置速度。作為一家未完全盈利的新興公司,SmugMug顯然難以長期承受巨額的基礎(chǔ)設(shè)施開銷。最后公司選擇使用Amazon的S3服務(wù)器托管服務(wù)。結(jié)合公司的實(shí)際情況,SmugMug將網(wǎng)站上最熱門的部分照片仍舊存儲(chǔ)在公司自己的服務(wù)器中,剩下的絕大部分照片則轉(zhuǎn)移到S3服務(wù)器中,由Amazon來提供照片的安全存儲(chǔ)。這樣既能保證基礎(chǔ)設(shè)施不會(huì)成為公司發(fā)展的瓶頸,又能節(jié)省大量成本。照片轉(zhuǎn)移的過程僅僅花費(fèi)一周的時(shí)間。
完成數(shù)據(jù)遷移后,由不需再考慮基礎(chǔ)設(shè)施問題,SmugMug將公司的主要精力集中在提高服務(wù)質(zhì)量上。目前SnmgMug向用戶提供了以下三種照片訪問方式。
(1)SmugMug以代理的身份處理用戶訪問請求。
(2)SmugMug對用戶訪問請求進(jìn)行重定向。
(3)利用有關(guān)API直接對存儲(chǔ)在S3中的數(shù)據(jù)進(jìn)問。
在這三種訪問方式中,以第一種方式訪問的用戶超過99%。也就是說幾乎所有的用戶都選擇這種訪問方式,這也正是SmugMug所期待的結(jié)果因?yàn)樗M鸖3對于普通用戶來說是透明的。SmugMug公司還引入了EC2服務(wù),使客戶可以利用EC2來完成圖片的在線編輯和處理。
將基礎(chǔ)設(shè)施部分外包給Amazon后,SmugMug基本架構(gòu)如圖3-39所示。幾乎所有的用戶都是采用直接訪問SmugMug的方式處理照片,實(shí)際的照片處理過程對于用戶是透明的。SmugMug的系統(tǒng)后臺(tái)則如虛線框所示。主要包括三個(gè)部分:隊(duì)列服務(wù)、Amazon AWS和控制器,目前使用的AWS包括EC2和S3,而隊(duì)列服務(wù)和控制器則由SmugMug提供。SmugMug并沒有采用SQS,而是建立了自己的隊(duì)列服務(wù),控制器每隔固定的時(shí)間就會(huì)自動(dòng)決定增加還是減少EC2實(shí)例。整個(gè)SmugMug的系統(tǒng)具有高度的智能型,絕大部分操作都會(huì)自動(dòng)完成,這也是為什么SnmgMug僅用幾十人就可以完成如此巨大的原因。
總而言之,Amazon通過提供云計(jì)算服務(wù)實(shí)現(xiàn)了冗余基礎(chǔ)設(shè)備的高利用率,SmugMug以合理的投入解決了公司急速發(fā)展和基礎(chǔ)設(shè)施之間的矛盾,雙方達(dá)到了一個(gè)雙贏的局面。