hengheng123456789

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            297 Posts :: 68 Stories :: 144 Comments :: 0 Trackbacks
          轉自:http://huandu.me/2010/06/19/619/

          近幾個月來簡單體驗了Amazon AWS大部分服務,現在分享一下使用感受。

          Amazon EC2

          從各方面來看,EC2應該算是Amazon的王牌產品。EC2功能全面,它可以在數分鐘內launch一個實例,可以(理論上)自動提升/降低機器性能配置,可以綁定EBS成為具有高可用性特質的計算核心,可以搖身一變成為ELB成為一個load balancer。這些功能非常實用,特別適合針對國外市場且快速增長的小網站,可以在前期完全不受機器約束。

          EC2機器的內核在申請時指定,有很多選擇,如果有閑心,還可以做一個自己專用的,我們沒用這個功能,實在太繁瑣了。EC2提供了完全的root權限,可以隨意安裝軟件,由于EC2一般帶有足夠的硬盤空間(Large Instance就自帶850GB磁盤空間),裝個mysql當數據庫機器也完全沒有問題。

          EC2最大優勢是靈活,最大劣勢則是性能。EC2的IO性能欠佳,當EC2機器作為mysql數據庫時,系統吞吐量只能到3~10 MB/s,相比而言,在同樣數據同樣程序條件下,使用真實機器則能輕松達到30MB/s。EC2的CPU是多個實例共享的,一般stolen的CPU都在10%左右,對于nginx+php-cgi這樣的組合,EC2高端配置也不太能撐住壓力,總是CPU吃緊。

          雖說EC2劣勢明顯,但由于互聯網應用一般都很容易做到水平擴展,它的靈活性可以很大程度緩解這個劣勢,不會有太大問題。不過最終我們還是放棄了EC2,主要因為今年5月Amazon云計算服務出了大量的事故,僅5月頭兩周,在同一個機房就出了5起大事故,我們在3起事故中受影響,每次都很不幸的都是單點EC2出問題,最長的一次在高峰期中斷了6個小時服務,損失巨大。最郁悶的是,到了5月下旬,有一臺跑數據庫的EC2機器莫名奇妙磁盤損壞,還有一臺莫名其妙的無法ssh,讓我們感覺越來越不靠譜,于是決定逃離。云計算的可用性始終值得擔心。

          EC2的價格相對傳統IDC要貴不少,按高端機器High-Memory Double Extra Large每小時1.2US$來算,每月就要花864US$,再加上流量費,很容易達到每臺服務器1000US$的水平。

          Amazon RDS

          RDS是一種數據庫托管服務,通過RDS toolkit可以很方便的創建RDS實例并立即使用。據Amazon幫助文檔說,RDS的數據庫軟件維護、升級、優化的工作全部由Amazon負責,用戶只需要使用功能即可。

          可惜,RDS純粹是一個看起來很美的東西。首先是RDS為了同時支持異構的數據庫,犧牲了很多靈活性,例如,因為無法訪問RDS的物理機器或存儲空間,使得跑著mysql的RDS實例連記錄slow log都成了難事,更別說什么err log,出了問題只能一抹瞎。如果要獲取bi/bo這樣的數據需要使用專用的RDS toolkit完成,很難集成到現成的監控工具里去。其次,RDS底層使用的是類似于EBS的網絡存儲,其IO性能差到一個令人發指的地步。一個很感性的數據是:使用RDS Double Extra Large DB Instance跑mysql時慢查詢占1%,同樣數據轉到EC2 High-Memory Double Extra Large實例后慢查詢降為0.01%。最讓人無語的是RDS價格高于同等配置的EC2+EBS價格,每小時都貴超過0.3US$,相當于貴25%,省下來的錢用來雇專業運維人員綽綽有余,而且RDS功能和靈活性還遠弱于后者,不怕折騰但怕花錢的人不建議選擇RDS。

          如果執意要使用RDS,那么一定要注意RDS沒有固定IP,每次重啟實例(或過一段時間)都會變,程序連接的時候最好寫域名,當然,這會損失性能。此外,RDS可用性也沒宣傳的那么高,我們5月最先掛的就是RDS實例,一掛就是好幾個小時。

          Amazon S3

          S3是少有的看上去物美價廉的東西,只需要花幾美元就可以拿到幾十GB空間,對一般的互聯網應用來說綽綽有余。

          S3提供豐富的API和工具上傳文件。對firefox用戶來說,有一個專門的S3擴展可用,可直接上傳本地文件。還有一個s3curl.pl工具,可以用命令行傳任意文件,可以方便的做到自動化。

          S3存儲的文件可以直接通過域名從外網訪問,不過比較郁悶的是文件尾部不能帶“?“,一切基于文件名后面加隨機串的避免緩存的做法都會失效。

          Amazon CloudFront

          CloudFront是一種CDN,它的訪問速度據稱不錯,我們并沒有實際使用過。

          我們不使用CloudFront主要是因為很難控制文件在CloudFront中失效。根據我們的程序結構,我們需要在靜態文件后面加version信息強制用戶在必要時更新到最新版,現在由于CloudFront既不能手動invalidate某個文件,也不能保證CloudFront上緩存的文件及時更新(可能更新會花24小時),我們需要修改現在的策略才能使用到它。

          CloudFront是根據用戶所在網絡來收費的,對于國內,CloudFront使用的是香港價格,貴于美洲和歐洲,不太劃算。對于歐美市場,我也不清楚歐美CDN的價格究竟如何,無法比較。CloudFront在歐美的流量費用與EC2相同,不過由于沒有按小時計的租費,總體價格會比EC2提供靜態文件服務便宜很多。

          Amazon CloudWatch

          CloudWatch是一個性能數據監視器,對于這個東西我只能說太小兒科了,沒看出來有什么實際的用處。一旦開啟CloudWatch,Amazon就會幫忙收集開啟了這個服務的instance數據,包括CPU和IO信息等。可惜,數據精度不高(大概是幾分鐘一次統計),數字也只是個大概值,能看的數據也很少,無論對入門者還是高手來說,都不能帶來太多價值。

          CloudWatch看上去比較好的是可以配合EC2/EBS/Load Balancer toolkit做一些auto scale的事情,自動提升/降低EC2/EBS參數,還可以(理論上)自動launch新實例。這些東西我們都沒嘗試過,有興趣的同學可以試試。

          CloudWatch價格不貴,一臺機器就只用0.1US$而已,不過一般還是不建議開,裝一個其他監控軟件更靠譜。

          Amazon Premiun Support

          Premiun Support包括即時的電話支持和一個專有的提案系統。從服務質量上來說,Amazon的客服總是很熱心,響應速度也很快,專業素質也不錯,很不錯。

          Premium Support非常貴,簡直是搶錢。它是按照每月總花費來算價格的,最多增加總花費的16%,最少為無限接近于10%,代價十分明顯。

          結語

          Amazon AWS提供豐富功能,還有不少toolkit和API,適合小應用使用。對于要求較高性能或較低成本的應用來說則不太適合,折騰一下IDC應該達到更好效果。

          posted on 2011-04-29 17:26 哼哼 閱讀(3197) 評論(1)  編輯  收藏 所屬分類:

          Feedback

          # re: Amazon AWS使用體驗(轉) 2011-07-25 20:26 Silicone Bracelet
          我也想用EC2,只是要自己配置,感覺很頭大。
          跑XR和SB之類的軟件,應該比較劃算。  回復  更多評論
            

          主站蜘蛛池模板: 巴中市| 肥城市| 五常市| 江陵县| 云龙县| 武鸣县| 南岸区| 莱芜市| 石门县| 民丰县| 兴安县| 中阳县| 巨野县| 石台县| 泗水县| 山东省| 贺州市| 格尔木市| 曲阜市| 临朐县| 德州市| 南召县| 寿光市| 伊通| 固原市| 禹州市| 临城县| 宁强县| 翼城县| 连山| 葫芦岛市| 丰县| 吴堡县| 女性| 左贡县| 盘锦市| 荥经县| 娄烦县| 焦作市| 林州市| 安阳市|