圖1 視訊云平臺架構(gòu)圖
作為Brightcove早期的中國研發(fā)團隊,我們的開發(fā)人員對AWS平臺非常熟悉。2010年公司剛成立時,國內(nèi)還沒有一家類似AWS這樣能提供 IaaS平臺服務的公司。我們只能自己購買物理機部署至IDC機房,然后仿照EC2的模式,先將物理機虛擬化成若干虛擬機,再在虛擬機上部署系統(tǒng)和服務。
眾所周知,無論是雙線機房還是BGP機房都存在很多弊端,運維成本過高,尤其是出現(xiàn)問題時不能快速靈活地響應和處理。因此,當我們得知阿里云服務推出時,第一時間進行了試用。最終,在2012年8月,與阿里云達成合作,將公有云視頻在線服務部署在阿里云。
整個系統(tǒng)部署到阿里云大概只花費了一周時間,使用了10臺云服務器和1個RDS(關(guān)系型數(shù)據(jù)庫服務),整個系統(tǒng)就能在阿里云上正常運轉(zhuǎn)。不過,從部署成功到實際應用仍有一段路要走。
遷移OSS
第一要解決的問題是存儲。如果我們使用一臺云服務器的本地硬盤通過NFS作為一個臨時的存儲方案,性能肯定很差,原因除了多臺云服務器的I/O壓力外,還在于阿里云云服務器的本地硬盤實際上也是遠程掛載的(這一點在我們預料之中),因此這就比普通物理服務器的硬盤速度要慢。當然最合理且優(yōu)化的解決方案是使用阿里云的OSS(開放存儲服務)。于是我們通過阿里云給的Python SDK開發(fā)包,經(jīng)過一周的時間在原有的掛載Gluster的接口上又開發(fā)出了掛載OSS的接口。通過將存儲遷移至阿里云OSS,不但解決了I/O的性能問題,還獲得了以下好處:
OSS提供了比Gluster更強大的分布式存儲解決方案,并且不需要我們自己維護了;
OSS的分布式特性有更好的I/O性能,多臺云服務器同時讀寫OSS性能完全沒有問題;
OSS提供的HTTP接口可以直接讓用戶通過瀏覽器訪問文件而無需經(jīng)過云服務器,這在一定程度上解決了我們的源站問題,部分文件可以無需源站而通過OSS直接實現(xiàn)CDN加速。
實戰(zhàn)RDS
RDS(關(guān)系型數(shù)據(jù)庫服務)也是我們深度依賴的一個服務。我們原有的系統(tǒng)使用MySQL Master-Slave機制保證實時熱備,再通過腳本實現(xiàn)每天定時完全備份。使用了RDS后,主從熱備的問題解決了,還有定期自動備份的功能?,F(xiàn)在,我們的數(shù)據(jù)庫運維工作幾乎沒有了,只有一個腳本每天定時從RDS下載數(shù)據(jù)庫備份到辦公室。
當然,在使用RDS的過程中,功能也是在不斷完善的。一開始我們發(fā)現(xiàn),無法在RDS中創(chuàng)建只讀用戶。因為出于系統(tǒng)安全性的考慮,開發(fā)和運維人員在排查故障時,使用只讀用戶更加安全。通過與阿里云的反饋與溝通,兩周以后,只讀用戶功能上線。
應用SLB
隨著我們把部分測試用戶的視頻數(shù)據(jù)逐步轉(zhuǎn)移到阿里云,我們發(fā)現(xiàn)新的問題又接踵而來。
首先,單臺云服務器的出口帶寬有限,常常成為性能瓶頸,而單獨為每臺云服務器增加帶寬又很不合算。我們了解到阿里云已經(jīng)推出了SLB負載均衡服務,這非常適合解決出口帶寬問題,于是我們將SLB作為前端負載均衡使用。
最早的SLB服務只支持HTTP 1.0。因此,我們很快就發(fā)現(xiàn)源站在處理大量小文件時性能急劇下降。隨后,阿里云添加了SLB的TCP支持,我們采用TCP負載均衡后解決了HTTP 1.1的連接問題。
稍后,我們又啟用了SLB來支持HTTP REST API服務,但位于內(nèi)網(wǎng)的云服務器無法取得用戶的公網(wǎng)IP。于是,我們繼續(xù)反饋給阿里云,希望在負載均衡上添加X-Forwarded-For字段。幾天后,我們終于能拿到用戶的公網(wǎng)IP了。
經(jīng)過幾個月的磨合和測試,架構(gòu)在阿里云平臺的SaaS服務已經(jīng)穩(wěn)定運行了近半年時間,目前我們運行在阿里云的服務架構(gòu)如圖2所示。
遷移至阿里云平臺之后,極大地降低了我們的運維成本。目前,我們僅有一名運維人員即可完成整個視頻云的運維任務。同時,我們可以根據(jù)客戶的不斷增長來隨時添加新的云服務器,以滿足客戶需求和用戶訪問的壓力。從購買1-2臺阿里云云服務器,到部署系統(tǒng)上線服務,一般只需要半個小時,對于傳統(tǒng)IDC機房來說,這個效率是不可想象的。
雖然整個遷移的過程并不是一帆風順,阿里云也尚有一些我們需要的服務還未推出,例如類似Amazon的Simple Queue Service(SQS,簡單消息服務)、Route 53(DNS服務)和CloudFront(CDN服務)等。但在與阿里云的合作過程中,我們對于阿里云平臺的服務質(zhì)量以及成長還是非常有信心的。我們已開始陸續(xù)把正式用戶遷移至阿里云,租用的云服務器從最初的10臺已經(jīng)到現(xiàn)在近百臺,而OSS的存儲空間也從100GB增長到幾十TB的規(guī)模。最近,我們又開始準備把數(shù)據(jù)統(tǒng)計分析服務遷移到阿里云的ODPS(開放數(shù)據(jù)處理服務)上,以便充分利用阿里云提供的海量數(shù)據(jù)分析與挖掘服務。
2012年2月,Brightcove的成功上市,又一次證明了國際資本市場對視頻云服務行業(yè)具有很高的期待。隨著三網(wǎng)融合、寬帶速度的網(wǎng)絡瓶頸的解決,云視頻的需求在教育、電子商務等各個平臺上會得到快速發(fā)展。而中國市場的特殊格局也給本土的創(chuàng)業(yè)公司提供了難得的機遇。作為創(chuàng)業(yè)公司,我們深刻地感受到云平臺帶來的產(chǎn)業(yè)變革。而隨著云計算產(chǎn)業(yè)的變革與發(fā)展,越來越多的公司會將IT基礎(chǔ)設施以及SaaS服務等建立在以阿里云代表的云計算平臺之上,這從國外成功的創(chuàng)業(yè)公司如Instagram、Dropbox等均選擇了在Amazon的IaaS上構(gòu)建自己的SaaS服務,可以看出業(yè)界不可阻擋的云計算趨勢。視訊天下也將自己的SaaS服務建立在阿里云的IaaS平臺上,既充分利用阿里云提供的彈性計算能力,又將精力集中在業(yè)務架構(gòu)和客戶服務上,對比傳統(tǒng)的存儲和IDC成本計算,可能某些時候IaaS的服務成本偏高,但節(jié)省的運維和開發(fā)成本是隱性而巨大的。視訊天下希望借由此文,分享些許遷移云平臺的經(jīng)驗,希望能對大家有所幫助或啟發(fā)。