PPTV是一家視頻公司,面向全球范圍用戶提供視頻服務(wù),每天的用戶規(guī)模達(dá)到了千萬級(jí),月度覆蓋超過3.5億用戶。PPTV的軟件客戶端覆蓋PC、安卓、Web、Windows Phone、iOS等平臺(tái),其硬件產(chǎn)品主要有PPLink、PPBox等。
云播項(xiàng)目是PPTV借助微軟Azure重點(diǎn)打造的一個(gè)視頻云平臺(tái),借此定義一種全新的本地播放和在線播放方式,為PPTV平臺(tái)的所有用戶、所有操作系統(tǒng)、所有客戶端提供服務(wù)。PPTV希望憑借此平臺(tái)實(shí)現(xiàn)從智能手機(jī)、平板電腦、筆記本電腦到臺(tái)式機(jī)、大屏幕電視的全面覆蓋,實(shí)現(xiàn)真正的一云多端。
Azure大幅縮短部署時(shí)間
“在產(chǎn)品調(diào)研之初,我們就意識(shí)到,要構(gòu)建PPTV云播平臺(tái)并非易事?!?PPTV公司技術(shù)人員池強(qiáng)在接受記者采訪時(shí)表示,PPTV要為用戶提供自主上傳影片的功能,但是同時(shí)也面臨著各種困難和挑戰(zhàn):PPTV用戶分布較廣,全國(guó)各地運(yùn)營(yíng)商網(wǎng)絡(luò)的連通性較為復(fù)雜;高峰期在線用戶多,請(qǐng)求并發(fā)量大;大文件上傳難度大,成功率低;存儲(chǔ)容量消耗逐漸增大且無限擴(kuò)張;數(shù)據(jù)要求永久保存、安全可靠、數(shù)據(jù)一致。
除此之外,PPTV云播平臺(tái)還要為用戶提供多端下載和播放功能,因此影片引入多碼流技術(shù),瞬時(shí)就會(huì)產(chǎn)生大量轉(zhuǎn)碼需求。這對(duì)該平臺(tái)提出了更高的要求:任務(wù)空閑時(shí),能夠動(dòng)態(tài)節(jié)省成本;跨地域、跨運(yùn)營(yíng)商還能獲取高質(zhì)量的VOD服務(wù);影片可以隨時(shí)下載到本地保存。
“即使是像我們這樣具有較強(qiáng)實(shí)力的互聯(lián)網(wǎng)公司,也很難在短期內(nèi)打造這樣一套安全、可靠、高效,并滿足上述所有需求的云端服務(wù)架構(gòu)。”池強(qiáng)強(qiáng)調(diào),“因?yàn)榛ヂ?lián)網(wǎng)行業(yè),快者為王?;谶@樣的需求,我們選擇采用微軟Azure公有云服務(wù),幫助我們?cè)谧疃痰臅r(shí)間內(nèi)構(gòu)建起PPTV云播平臺(tái),實(shí)現(xiàn)快速迭代,形成產(chǎn)品并提供服務(wù)?!?/p>
PPTV云播平臺(tái)的架構(gòu)采用中央控制方式,同時(shí)配合一系列的微軟Azure公有云服務(wù):首先用戶上傳文件至Azure Storage,在Azure虛擬機(jī)上進(jìn)行轉(zhuǎn)碼壓制,隨后,借助Azure CDN實(shí)現(xiàn)隨時(shí)隨地在各種終端軟件上播放,保證流暢的QoS(Quality of Service,服務(wù)質(zhì)量)。
其中,Azure Storage的突出優(yōu)勢(shì)表現(xiàn)在:首先,它的網(wǎng)絡(luò)連通性好,而且支持文件分段上傳,使得用戶大視頻的上傳變得更可靠、高效;其次,持久化存儲(chǔ)和地理機(jī)房冗余,使得用戶不用擔(dān)心文件丟失和自然災(zāi)難的影響;再次,存儲(chǔ)容量可以無限擴(kuò)展,給PPTV云播平臺(tái)提供了很好的規(guī)模擴(kuò)張能力,而且簡(jiǎn)單的架構(gòu)也降低了開發(fā)難度;最后,Azure Storage 采用Restful接口,使得客戶端的開發(fā)變得非常簡(jiǎn)便,不需要引入第三方類庫。值得一提的是,Azure Stoage還提供了24小時(shí)的實(shí)時(shí)可靠服務(wù),擁有極佳的用戶體驗(yàn)。
“為了實(shí)現(xiàn)多終端的播放,我們會(huì)對(duì)文件進(jìn)行轉(zhuǎn)碼。因?yàn)椋叻迤诘挠脩舨シ艜?huì)給平臺(tái)增加大量的轉(zhuǎn)碼計(jì)算任務(wù),為此,我們會(huì)啟用大量Azure 虛擬機(jī)進(jìn)行轉(zhuǎn)碼壓制。這是一個(gè)相當(dāng)耗費(fèi)CPU的計(jì)算密集型工作。目前的高峰期,我們使用的內(nèi)核數(shù)已經(jīng)達(dá)到了幾千個(gè)。” PPTV技術(shù)人員胡炫強(qiáng)調(diào):“無需人工干預(yù),該平臺(tái)的中央控制功能會(huì)自動(dòng)將任務(wù)調(diào)度到Azure虛擬機(jī)上進(jìn)行壓制以提高轉(zhuǎn)碼效率?!?/p>
Azure提高用戶服務(wù)質(zhì)量
“目前,PPTV云播平臺(tái)還處于公測(cè)期,幾萬用戶量還能應(yīng)付,尚不需要開啟此功能。整個(gè)過程也不需要更多的開發(fā)工作?!?池強(qiáng)表示,“隨著今后用戶規(guī)模的擴(kuò)大,最終用戶在播放視頻時(shí),可以請(qǐng)求Azure的CDN,以達(dá)到較高的QoS體驗(yàn)。”
“我們開發(fā)這個(gè)產(chǎn)品的初衷可以用兩句話概括:第一個(gè)叫‘云互動(dòng),第二個(gè)叫‘趣點(diǎn)視頻?!背貜?qiáng)表示,用戶可以把自己喜歡的視頻上傳到云端,然后可以通過任何設(shè)備、在任何時(shí)候觀看自己的“趣點(diǎn)視頻”,還可以把視頻分享給自己的好友。
“這樣就達(dá)到一個(gè)互動(dòng)的效果,也就產(chǎn)生了一定的商業(yè)價(jià)值。因?yàn)橐恢币詠?,如何讓用戶產(chǎn)生互動(dòng)以增加產(chǎn)品黏度都是互聯(lián)網(wǎng)公司感到頭痛的事情?!?池強(qiáng)為記者解釋了PPTV云播平臺(tái)的商業(yè)價(jià)值。對(duì)此,胡炫補(bǔ)充道:“如PPTV云播平臺(tái)這樣提供類似云存儲(chǔ)的服務(wù),有很多互聯(lián)網(wǎng)公司都在做,包括百度和360等,但是,它們更偏向于云端文件夾,存儲(chǔ)的文件類型包括文檔、個(gè)人照片,還包括視頻、音頻文件等。但是,PPTV云播平臺(tái)把著眼點(diǎn)主要集中在用戶視頻的相關(guān)服務(wù)上?!?/p>
PPTV云播平臺(tái)借助微軟Azure公有云的功能,融合了在線視頻和本地視頻,建立了自有云端視頻庫。用戶可以將視頻進(jìn)行云端存儲(chǔ),自由管理自己的云端視頻庫。通過使用Azure公有云,PPTV云播平臺(tái)建立了包含從用戶上傳、云端編碼壓制、云端視頻存儲(chǔ),到云端播放和CDN加速等一整套功能在內(nèi)的在線視頻播放體系。同時(shí),PPTV云播平臺(tái)也達(dá)到了緊隨移動(dòng)互聯(lián)網(wǎng)步伐、聚集視頻資源、解放用戶本地存儲(chǔ)空間的目的,為用戶提供5A(Anytime、Anywhere、Anybody、Anyscreen、Azure)的視頻觀看體驗(yàn)。
對(duì)Azure印象最深的功能
在被問及在開發(fā)PPTV云播平臺(tái)過程中,微軟Azure給技術(shù)人員留下最深刻的印象是什么時(shí),池強(qiáng)表示:“以動(dòng)態(tài)擴(kuò)展為例,我們前期運(yùn)營(yíng)PPTV云播平臺(tái)的時(shí)候,用戶量不會(huì)很大。但是,當(dāng)存儲(chǔ)量急劇增加的時(shí)候,我們只要將Azure的存儲(chǔ)擴(kuò)大就行了,非常簡(jiǎn)單。”Azure動(dòng)態(tài)擴(kuò)展功能的優(yōu)勢(shì)在這個(gè)時(shí)候就體現(xiàn)出來了:它既可以適應(yīng)小數(shù)據(jù)量的存儲(chǔ),也能夠適應(yīng)大數(shù)據(jù)量的存儲(chǔ)。
同時(shí),胡炫補(bǔ)充道:“而且,我們不需要為存儲(chǔ)方面的問題而擔(dān)心,因?yàn)锳zure已經(jīng)把開發(fā)和架構(gòu)變得很簡(jiǎn)單。這個(gè)功能不管對(duì)于小型企業(yè),還是大型企業(yè),都很方便。”
除了Azure的動(dòng)態(tài)擴(kuò)展功能,PPTV云播平臺(tái)的技術(shù)人員對(duì)Azure的監(jiān)控功能也是贊賞有加。“借助Azure的監(jiān)控功能,我們可以很明確地知道,現(xiàn)在我們提供的服務(wù)還有什么地方需要優(yōu)化,還有哪些不足的地方需要加大資源和投入,或者是哪些地方存在資源浪費(fèi)的問題,我們可以適當(dāng)做些調(diào)整以節(jié)省資源?!背貜?qiáng)強(qiáng)調(diào)說,“Azure上類似這樣的監(jiān)控功能,對(duì)于我們這類平臺(tái)運(yùn)營(yíng)企業(yè)來說非常有幫助?!眅ndprint