Camera360是七牛的早期用戶,是一家科技與藝術(shù)相結(jié)合的公司,以幫助用戶用最便捷的方式捕捉和分享生命里美好珍貴的瞬間為使命,由于在產(chǎn)品各個細節(jié)都盡力為用戶提供良好體驗,而深受喜愛。從2010年發(fā)展至今,在全球已經(jīng)擁有超過4.5億用戶,并先后發(fā)布MIX濾鏡大師、照片圈、寶貝相冊、Camera360 Sight、HelloCamera、Movie360、Pink360、Camera360 Cloud和Web Camera360等多款產(chǎn)品,打造“手機攝影生態(tài)圈”。如何在維護用戶高速增長的同時,不斷豐富產(chǎn)品線,發(fā)布眾多新品,不免引人思考。本文中,Camera360技術(shù)副總裁劉宏偉將為大家詳細講述其中緣由。
結(jié)緣七牛,借力云服務(wù)
身為Camera360技術(shù)副總裁的劉宏偉,是公司多個核心技術(shù)團隊的組建者,長期關(guān)注研發(fā)效率,先后成立多個特別小組,解決團隊效率需求,確保團隊始終保持著高執(zhí)行力和凝聚力。這無疑是開篇中所描述的一切得以實現(xiàn)的基本前提,而善用云服務(wù)更將其夯實。“作為創(chuàng)業(yè)公司,人力物力十分有限,我們應(yīng)該將優(yōu)勢資源投入到自己最擅長最具有競爭力的業(yè)務(wù)上去,借力七牛提供的云服務(wù)能幫助我們節(jié)省大量的時間和成本。”訪談伊始,劉宏偉笑著說到。
與七牛的結(jié)緣是在2012年,當時兩家公司都處于創(chuàng)業(yè)初期。對Camera360來說,七牛創(chuàng)始人許式偉在行業(yè)內(nèi)的知名度以及七牛在存儲領(lǐng)域的創(chuàng)新理念十分具有吸引力,但決定最終選用七牛的服務(wù)是經(jīng)過一系列對比和深思熟慮的。“由于我們必須將研發(fā)精力集中在產(chǎn)品業(yè)務(wù)上,所以我們對所選云服務(wù)的可用性、易用性、擴展性等有非常苛刻的要求。七牛不僅有非常棒的存儲技術(shù)實力,并且能夠快速地支持我們在產(chǎn)品上的定制需求,提供7*24小時的技術(shù)支持,很好地滿足了我們的要求,同時在成本方面,七牛也相當具有競爭力。”他強調(diào),“現(xiàn)在我們的用戶已達到幾億級,相對以往有很大增長,哪怕是一秒鐘的閃斷都是不能容忍的,而七牛提供的服務(wù)始終高效穩(wěn)定。”
目前,Camera360基本使用了七牛提供的所有產(chǎn)品和服務(wù),例如Camera360云相冊使用了存儲、CDN、縮略圖和音頻轉(zhuǎn)碼等業(yè)務(wù)。除了穩(wěn)定的存儲服務(wù)和上傳下載雙向加速的CDN服務(wù),七牛提供的圖片和音頻實時轉(zhuǎn)碼特性被劉宏偉連連稱道。七牛有非常強大的轉(zhuǎn)碼集群,在產(chǎn)品需要擴展一種新的圖片規(guī)格時,轉(zhuǎn)碼集群能很快完成,并且將轉(zhuǎn)碼生成的新規(guī)格圖片放在七牛提供的緩存層供App調(diào)用,不用占用存儲空間。Camera360每天產(chǎn)生的照片數(shù)量已達2億張,累計照片數(shù)達到千億張,這種服務(wù)器端只需存儲一份原圖,其他規(guī)格實時生成且不占用存儲空間的機制,自然給Camera360帶來諸多益處,成本是一方面,良好的用戶體驗也是不言而喻的。
小選擇,大收益
“類似于CDN、縮略圖、音視頻轉(zhuǎn)碼等貼心業(yè)務(wù),讓我們從基礎(chǔ)業(yè)務(wù)中解脫出來,使我們少受干擾、更加專注,更重要的是七牛讓我們具備了選擇權(quán)。”劉宏偉的言談中略顯興奮。選擇權(quán)?這個說法,在云服務(wù)領(lǐng)域第一次聽到。對此,他給出了以下解釋。在2014年上半年,有段時間Camera360頻頻收到用戶反饋,圖片加載速度慢,經(jīng)認真分析對比后,劉宏偉及其團隊發(fā)現(xiàn),應(yīng)對大圖片加載慢這個問題,他們選用在圖片沒有加載成功時用Camera360的logo來做填充的處理方法,形成了不夠好的用戶體驗。由此,他們想嘗試采用業(yè)界經(jīng)常提到的“平均色”,來解決這一問題。平均色的用途是在照片還未加載完成的情況下,先用色塊填充照片區(qū)域,暗示用戶照片正在加載,減少用戶焦慮,從感性的角度減少加載時長。
在做完充分的分析和調(diào)研之后,Camera360研究院很快拿出了平均色算法程序。但考慮到Camera360云相冊每日上傳規(guī)模較大,照片上傳完成后再做運算成本高、延遲長,而且自己部署和運維程序的話,也要消耗團隊大量的時間和精力,于是劉宏偉與七牛技術(shù)團隊進行了深入的交流和探討。最終一致決定,由Camera360發(fā)揮自身專業(yè)優(yōu)勢提供效率高、通用性強、感官自然的平均色計算算法,由七牛團隊在存儲集群中提供高性能、高可用性部署,向所有使用七牛業(yè)務(wù)的開發(fā)者們分享該成果,大家可以通過“魔法變量”中的“imageAve”參數(shù)獲取平均色(具體參見技術(shù)文檔:http://developer.qiniu.com/docs/v6/api/overview/up/response/vars.html)。
由于七牛采用的分布式存儲架構(gòu)本身具有很強的可擴展性,平均色算法程序交給七牛之后,七牛技術(shù)人員用一周時間就將Daemon做出來了,后面用了不到一周時間來做調(diào)試和優(yōu)化??偣不ㄙM兩周不到的時間,這項服務(wù)就正式上線了,為Camera360和其他需要此項服務(wù)的七牛小伙伴均帶來了很大方便,在圖片上傳后調(diào)用之前,就完成了平均色的計算和填充,極大地改善了用戶體驗。
他山之石,可以攻玉
“自Camera360與七牛建立合作關(guān)系以來,已經(jīng)進行了多次深入的技術(shù)交流,每一次都很有啟發(fā)性,特別是七牛CEO許式偉和CTO韓拓分別做的技術(shù)分享,對我們團隊的成長幫助巨大,至今歷歷在目。”劉宏偉回憶道。有次許式偉在分享中提到,設(shè)計方案評審和技術(shù)債等概念,強調(diào)了過度設(shè)計會產(chǎn)生很多并不需要的設(shè)計,有時會導致工期延誤、開發(fā)成本變高等問題,而設(shè)計不足,則會導致架構(gòu)的可擴展性極差,后期做架構(gòu)調(diào)整困難等問題,并基于此給出了自己的經(jīng)驗和技巧。劉宏偉帶著團隊的人一起深入學習了這次分享,目前團隊所有的子系統(tǒng)設(shè)計方案都會經(jīng)過討論PK的,并且由于對技術(shù)債有了更加客觀準確的理解,他們已能做到有目的地“借債”有計劃地“還債”,在日益增長的業(yè)務(wù)需求與有限的人力資源中尋找平衡,靈活應(yīng)對。
而韓拓分享的運維自動化和研發(fā)流程自動化等方面的經(jīng)驗同樣令劉宏偉的團隊受益匪淺。受韓拓的自動化思路的啟發(fā),Camera360結(jié)合自身的業(yè)務(wù)特點,很快建立了自己的自動化工作流,不僅包括上線自動化,還包括Andriod&iOS打包自動化,從研發(fā)提交最新代碼到粉絲下載體驗最新包,最快能在3分鐘內(nèi)完成,完整地實現(xiàn)了“代碼提交->單元測試->自動打包->上傳包到服務(wù)器->發(fā)送新包推送->下載安裝統(tǒng)計”無人值守的自動化流程,對團隊的工作效率有非常積極深遠的影響。
結(jié)語
根據(jù)App Annie的最新數(shù)據(jù),Camera360現(xiàn)名列全球前30大應(yīng)用,超過Twitter、Amazon等,與Camera360同列全球前30還有WhatsApp、Facebook、Line、Snapchat等。劉宏偉表示,海外業(yè)務(wù)已成為Camera360的業(yè)務(wù)重心之一,目前已經(jīng)著手展開全球化部署計劃的完善階段,同時會加大對存儲的投入力度以及與七牛的合作深度。