阿里巴巴楊強(qiáng):如何做好移動(dòng)質(zhì)量保障工作
原創(chuàng)2016年4月14-15日,由51CTO傳媒主辦的WOT2016互聯(lián)網(wǎng)運(yùn)維與開(kāi)發(fā)者大會(huì)在北京珠三角JW萬(wàn)豪酒店召開(kāi)。秉承專注技術(shù)、服務(wù)技術(shù) 人員的理念,自2012年以來(lái),WOT品牌大會(huì)已經(jīng)成功舉辦了八屆,積累了大量的技術(shù)專家資源,獲得了廣大IT從業(yè)者和技術(shù)愛(ài)好者的一致認(rèn)可,成為了業(yè)界重要的技術(shù)分享交流平臺(tái)以及人脈拓展平臺(tái)。
在會(huì)上,51TO記者采訪了阿里巴巴高級(jí)技術(shù)專家楊強(qiáng)。楊強(qiáng)2012年加入阿里巴巴,負(fù)責(zé)無(wú)線產(chǎn)品的研發(fā)支撐與無(wú)線線上監(jiān)控運(yùn)維相關(guān)平臺(tái)相關(guān)工作。支持了手淘、天貓、聚劃算、釘釘?shù)劝⒗锇桶蛢?nèi)部APP的研發(fā)支撐和線上監(jiān)控運(yùn)維相關(guān)工作。工作初期是一些質(zhì)量保證平臺(tái)工具的開(kāi)發(fā),進(jìn)而構(gòu)建了一套線下研發(fā)支撐以及發(fā)布流程的體系,再往后擴(kuò)展,可以對(duì)端上進(jìn)行一些運(yùn)維以及專項(xiàng)優(yōu)化的工作等等,從而形成一個(gè)閉環(huán)。
移動(dòng)質(zhì)量保障和傳統(tǒng)PC運(yùn)維的差異性
隨著移動(dòng)互聯(lián)網(wǎng)的大發(fā)展,在手機(jī)等小屏設(shè)備上的應(yīng)用體驗(yàn)和PC互聯(lián)網(wǎng)彼此之間的差異正變得越來(lái)越大,那么從事移動(dòng)質(zhì)量保障工作和傳統(tǒng)PC運(yùn)維之間有什么差異呢?楊強(qiáng)告訴記者其實(shí)從代碼角度來(lái)看差距并不大,最重要的差距就是在環(huán)境上,用戶的環(huán)境在移動(dòng)端上是非常多樣化的,比如它的機(jī)型、它的網(wǎng)絡(luò)環(huán)境,以及機(jī)器內(nèi)部裝的各種軟件的情況,環(huán)境的復(fù)雜度提高了,對(duì)我們開(kāi)發(fā)代碼的質(zhì)量可能有一定的要求,來(lái)保證APP的穩(wěn)定性。
研發(fā)到交付的流程
提到流程為題,楊強(qiáng)表示阿里巴巴APP研發(fā)到交互和傳統(tǒng)服務(wù)端是非常相似的,但是唯一一點(diǎn),像手機(jī)淘寶這一塊,它可能是非常大的一個(gè)APP,傳統(tǒng)小的APP有一套單獨(dú)的功能,一個(gè)APP開(kāi)發(fā)完了就發(fā)布出去。手機(jī)淘寶可能是五六十個(gè)APP在同時(shí)開(kāi)發(fā),最終匯總到一個(gè)APK上,或者一個(gè)LSIPA上進(jìn)行發(fā)布出去,所有業(yè)務(wù)團(tuán)隊(duì)線最終會(huì)聚集到一個(gè)點(diǎn)上進(jìn)行發(fā)布,這可能是***的區(qū)別,而且它的回滾策略以及故障修復(fù)的策略也有很大的不同。
難點(diǎn)與如何克服
當(dāng)然在具體工作上,一些困難也是必不可免的。楊強(qiáng)舉例說(shuō):比如有一次我做了一個(gè)月的項(xiàng)目,進(jìn)行大量的測(cè)試工作,到***發(fā)出去,發(fā)現(xiàn)在某一款熱門(mén)機(jī)型上,它的某一個(gè)重要功能不能用,這個(gè)時(shí)候我就要重新組織很多很多的人力進(jìn)行恢復(fù),然后打出來(lái)新的APK包,進(jìn)行回歸測(cè)試等等要走非常長(zhǎng)的流程,然后再進(jìn)行發(fā)布。
當(dāng)然,吃一塹長(zhǎng)一智。為了應(yīng)對(duì)這些流程上的問(wèn)題,后期在架構(gòu)上進(jìn)行了優(yōu)化。之前只能由APK發(fā)布出去解決問(wèn)題,現(xiàn)在有多種方案,有推patch、hotpatch來(lái)部署等等這種策略,極大的輕量化了修復(fù)bug的成本。最近又推WEEX,業(yè)務(wù)都寫(xiě)在JS上,APK端的功能也像服務(wù)端一樣在服務(wù)端發(fā)布,這樣就避開(kāi)了移動(dòng)端的問(wèn)題。
注重用戶體驗(yàn)
阿里巴巴是一家重視用戶體驗(yàn)的公司,從app的開(kāi)發(fā)和維護(hù)來(lái)說(shuō),會(huì)有一套非常嚴(yán)格的測(cè)試流程,會(huì)有非常多的測(cè)試工具。比如說(shuō)有代碼掃描工具、自動(dòng)化平臺(tái),有試配的平臺(tái),還有一些內(nèi)存的專項(xiàng)、性能的專項(xiàng),各種方面的專項(xiàng)的保證工作。接下來(lái)我們會(huì)進(jìn)行一種內(nèi)部的體驗(yàn)測(cè)試,內(nèi)部用戶會(huì)反饋給我們問(wèn)題,然后我們會(huì)針對(duì)阿里巴巴3萬(wàn)多名員工進(jìn)行內(nèi)部的灰度測(cè)試,在3萬(wàn)量級(jí)上看這個(gè)APK到底是怎么樣的情況,然后分階段進(jìn)行不同批次的灰度,最終進(jìn)行發(fā)布。
當(dāng)然技術(shù)和流程上的優(yōu)化及提高,也進(jìn)一步提升了用戶體驗(yàn)。楊強(qiáng)舉例道,比如我們之前可能就是說(shuō)五六十個(gè)APP打到一個(gè)包里面,隨著我們配置文件hotpotch,或者其他的業(yè)務(wù)迭代的需求,現(xiàn)有框架不能滿足,這個(gè)時(shí)候就要?jiǎng)討B(tài)部署技術(shù)發(fā)揮作用了。我們把單個(gè)的APP進(jìn)行生成一個(gè)差量文件推動(dòng)下去,在本地進(jìn)行默置,然后再啟動(dòng)起來(lái),就達(dá)到了非常高效的netive代碼部署的策略。
采訪***
記者問(wèn)及傳統(tǒng)IT運(yùn)維應(yīng)該如何做才能跟上新型業(yè)務(wù)的步伐的問(wèn)題。楊強(qiáng)認(rèn)為,在現(xiàn)在業(yè)務(wù)發(fā)展非常快速的情況下,各個(gè)部門(mén)應(yīng)該是緊密合作的,所以運(yùn)維、測(cè)試和開(kāi)發(fā)之間的關(guān)系,應(yīng)該是沒(méi)有隔閡的。在他看來(lái),開(kāi)發(fā)和測(cè)試是不是應(yīng)該更多的關(guān)注運(yùn)維相關(guān)的工作,可能是需要解決的一個(gè)問(wèn)題。
“而在阿里內(nèi)部,平臺(tái)也好,專項(xiàng)優(yōu)化也好,都是和研發(fā)團(tuán)隊(duì)緊密結(jié)合起來(lái)的,所以發(fā)現(xiàn)問(wèn)題、解決問(wèn)題,以及提出來(lái)新的解決方案的效率是非常高效的。”楊強(qiáng)說(shuō)道。