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