說起彈性計算,相信沒有人懷疑亞馬遜EC2(Elastic Compute Cloud)是目前的業(yè)界翹楚:亞馬遜將自己的彈性計算云建立在公司內(nèi)部的大規(guī)模集群計算的平臺之上,而用戶可以通過彈性計算云的網(wǎng)絡(luò)界面去操作在云計算平臺上運行的各個實例(Instance),而付費方式則由用戶的使用狀況決定,即用戶僅需要為自己所使用的計算平臺實例付費,運行結(jié)束后計費也隨之結(jié)束。
可以看出,彈性計算這種方式,一方面減少了小規(guī)模軟件開發(fā)人員對于集群系統(tǒng)的維護(hù),另一方面收費方式簡單明了,用戶需要使用多少資源,只需要為這一部分資源付費即可。因此,從這兩個方面來說,對處于創(chuàng)業(yè)期的公司來說,尤其適用。阿里云作為國內(nèi)云計算行業(yè)的領(lǐng)軍者,為廣大企業(yè)提供穩(wěn)定的彈性計算服務(wù),這其中,煎蛋網(wǎng)、向日葵、上網(wǎng)快鳥就是應(yīng)用阿里云彈性計算的典型代表。本文就帶你走進(jìn)這三家公司,在分享其創(chuàng)業(yè)歷程的基礎(chǔ)上,展現(xiàn)它們在彈性計算上的實踐。
煎蛋網(wǎng):阿里云,很貼心煎蛋,很簡單
煎蛋,諧音“簡單”,以翻譯和摘要形式向中文讀者介紹境外新鮮資訊,其前身是煎蛋網(wǎng)創(chuàng)始人駱?biāo)y(sein)的個人博客。當(dāng)時他訂閱了很多國外網(wǎng)站,感覺每天都有眾多新鮮有趣的事情發(fā)生,而國內(nèi)網(wǎng)站卻還在轉(zhuǎn)載早已發(fā)霉的火星文,于是他就和另一位創(chuàng)始人楊光(oioi)一起,決定把它做成一個境外資訊內(nèi)容分享網(wǎng)站。從成立至今,煎蛋始終以“創(chuàng)作共用協(xié)議”授權(quán)方式堅持原創(chuàng),在以復(fù)制粘貼為內(nèi)容源的中文站大環(huán)境下逐漸脫穎而出。另外由于輕松隨意的寫作方式,煎蛋站內(nèi)互動氛圍非常熱烈,得到了眾多讀者的認(rèn)同和支持。目前,煎蛋成長為擁有幾十位兼職作者的團隊博客,已是同類小眾網(wǎng)站的典型,在hao123、360等導(dǎo)航首頁上長期推薦,在Google Reader、QQ訂閱里也有累計200萬左右的RSS讀者。
結(jié)緣阿里云作為非專業(yè)人員組成的興趣團隊,煎蛋每次在經(jīng)歷主機升級、服務(wù)器故障和改換機房時,往往不知所措,有時一個簡單的問題就可能讓網(wǎng)站宕機一整天。
與阿里云走到一起也算是機緣巧合。大約2個月前,因為某黑客的臨時起意,煎蛋不幸成為其DDoS的目標(biāo)。當(dāng)時的托管機房所采取的措施不是協(xié)助煎蛋找出攻擊來源,而是把煎蛋的網(wǎng)絡(luò)切斷,并封鎖其IP不再上線。這讓煎蛋很是苦惱。恰好此時駱?biāo)y了解到阿里云的硬件防火墻,于是抱著嘗試心態(tài),在阿里云購買了一個月的試用。據(jù)駱?biāo)y介紹,煎蛋現(xiàn)在每天的流量是15萬獨立IP訪問、80萬左右PV,而靜態(tài)文件和圖片都存儲在第三方服務(wù)上,這樣他們便考慮用阿里云最低的5MB獨立帶寬(這也比煎蛋之前使用的北京某BGP機房里號稱100MB共享實際限速2MB的好得多)。經(jīng)過初步估算,煎蛋選擇了云服務(wù)器D套餐和RDS數(shù)據(jù)庫中型。煎蛋在之前的機房托管了兩臺服務(wù)器(一臺前端、一臺數(shù)據(jù)庫),服務(wù)器購買成本2萬元左右,托管費每年成本在1.5萬元左右,而使用阿里云的話不需要再單獨購買數(shù)據(jù)庫服務(wù)器,只需購買RDS服務(wù)就可以,這樣云服務(wù)器+RDS的費用加起來也就2萬元左右,比之前反而節(jié)省了很多。此外,由于都是云服務(wù)器,因此以后不用擔(dān)心硬件故障或者為了升級內(nèi)存而專門跑機房了,而且現(xiàn)在還有專門人員提供技術(shù)支持,這樣看的話,云服務(wù)就顯得更具優(yōu)勢。于是煎蛋果斷下單,購買了預(yù)定的服務(wù)。
在遷移到阿里云、配置服務(wù)器的過程中,煎蛋網(wǎng)還經(jīng)歷了外網(wǎng)IP無法獲取、數(shù)據(jù)庫連接無法ping通等問題。這倒是讓煎蛋首次使用了阿里云的工單系統(tǒng),在后臺提交工單后,很快就在后臺看到了阿里云的反饋,問題解決之后,阿里云的技術(shù)還親自打電話說明了情況。值得一提的是,5月9日,煎蛋又遭遇了一次小規(guī)模攻擊,網(wǎng)站瀏覽速度被嚴(yán)重拖慢,前臺只能顯示靜態(tài)緩存而后臺基本癱瘓。駱?biāo)y迅速在阿里云后臺提交了工單反饋問題,10分鐘后阿里云方面就打來電話,通過PHP進(jìn)程和網(wǎng)絡(luò)狀態(tài)判斷出煎蛋遭受了小規(guī)模CC攻擊。因為這種DDoS的流量較小沒有被阿里云的硬件防火墻清洗,就只能靠煎蛋服務(wù)器端發(fā)現(xiàn)問題所在并設(shè)置防火墻來解決。同時,阿里云RDS數(shù)據(jù)庫的技術(shù)人員還發(fā)現(xiàn)煎蛋數(shù)據(jù)庫引擎用的是MyISAM,不支持多并發(fā)更新,在壓力大時讀操作會卡住而讓故障更嚴(yán)重,因此建議轉(zhuǎn)為InnoDB數(shù)據(jù)庫引擎。隨后,煎蛋的網(wǎng)管Paveo將數(shù)據(jù)庫轉(zhuǎn)換為InnoDB引擎并添加了iptables規(guī)則,將進(jìn)入流量降了下來,網(wǎng)站也恢復(fù)了正常訪問。
這次小規(guī)模攻擊是對煎蛋的一次考驗,但他們這次并沒有張皇失措,因為服務(wù)商不是撇清關(guān)系趕他們走而是幫他們解決問題。談及阿里云的使用體會,駱?biāo)y總結(jié)道:“就我個人目前的體會,阿里云的優(yōu)勢是穩(wěn)定的帶寬和周到的技術(shù)服務(wù),而這是對網(wǎng)站正常運行來說最為重要的。阿里云與傳統(tǒng)機房的區(qū)別就是在線后臺和工單系統(tǒng)。完善的在線后臺可以做一些基本管理操作,有問題時可以在線提交工單。一開始我們對不能直接打電話找客服的方式很不習(xí)慣,但使用工單后發(fā)現(xiàn)阿里云的同學(xué)反饋非常及時,而且在答復(fù)時一般都會打電話進(jìn)行說明,這樣在解決問題時非常方便。”
阿里云給煎蛋帶來的好處,連他們的讀者都能夠真實地感受到:“我們以前的服務(wù)器經(jīng)常超載,超載的提示頁面是一只雞,讀者們把它稱作超載雞。最近2個月經(jīng)常有讀者說,自從煎蛋搬了服務(wù)器,都看不到超載雞了,好懷念它。事實上,在我們搬到阿里云的這2個月里,我也注意到阿里云的網(wǎng)站后臺在不斷升級改版,后臺界面更漂亮了,功能更多了,與之前不同的是可以直接監(jiān)控系統(tǒng)狀況,并增加了續(xù)費和升級管理配置功能。”