如何迅速開發(fā)一款移動App?螞蟻金服mPaaS已幫你寫好答案
時間倒推到兩三年前,大家可能對刷支付寶乘公交車和地鐵還感到驚奇。但如今,一個外來游客要是來到北上杭這些城市旅游的話,再也不用浪費(fèi)時間在各個地鐵票售賣處排長隊(duì)買地鐵票了。無論是用支付寶掃碼進(jìn)站,還是打開像上海地鐵的“METRO大都會”這類App,這些應(yīng)用的出現(xiàn)和存在最終都是為了方便消費(fèi)者的日常出行體驗(yàn)。
與此同時,現(xiàn)在的年輕人可能對銀行線下網(wǎng)點(diǎn)和人工柜臺的服務(wù)越來越陌生,因?yàn)樵絹碓蕉嗟霓D(zhuǎn)賬、匯款等交易都發(fā)生在了線上。多年前春運(yùn)期間一大清早去火車票網(wǎng)點(diǎn)排隊(duì)購票的場景也逐漸消失,人們已經(jīng)習(xí)慣用互聯(lián)網(wǎng)來搞定一切,并習(xí)以為常。
但這也變化也不是一夜之間一蹴而就的,那些我們吐槽部分App和線上業(yè)務(wù)體驗(yàn)不佳的日子似乎還并不遙遠(yuǎn)。而這些體驗(yàn)的摩擦與交融可以說是各行各業(yè)走向數(shù)字化轉(zhuǎn)型的一個縮影與陣痛。或許很多年之后回望2017年,人們會認(rèn)為此刻是一個時間節(jié)點(diǎn)。在這一年,傳統(tǒng)金融機(jī)構(gòu)以及非金融行業(yè)都在紛紛發(fā)力開發(fā)或者革新自己的App,以更好地適應(yīng)互聯(lián)網(wǎng)時代下用戶的需求并提升用戶體驗(yàn)。這些狀況在不久之后就會得到改變,而這些改變背后少不了今天故事的主人公——螞蟻金服移動開發(fā)平臺mPaaS。
潛心練功,mPaaS的誕生與成長
mPaaS 是 mobile Platform-as-a-Service的簡稱。如果你熟悉云計算的話,對PaaS這個概念一定不會陌生。如果你采用PaaS的服務(wù),那么意味著你既不需要買服務(wù)器,也不需要自己裝服務(wù)器軟件,即可利用這個中間件平臺進(jìn)行定制化研發(fā),開發(fā)自己的應(yīng)用。
而mPaaS這個概念則由螞蟻金服***。它是在PaaS的基礎(chǔ)上衍生出移動的平臺概念,其中m代表的就是mobile(移動)。類比與PaaS的概念,mPaaS更專注于移動端的研發(fā)平臺服務(wù)。開發(fā)者能夠利用螞蟻金服移動開發(fā)平臺mPaaS做好移動App的開發(fā)、管理、發(fā)布,并做好App全生命周期的管理,其中包括了開發(fā)期的研發(fā)測試、打包構(gòu)建、發(fā)布管理,還有發(fā)布之后的用戶行為分析、閃退分析等。如果說PaaS平臺是對企業(yè)后臺服務(wù)的生命周期的管理,包括研發(fā)、發(fā)布、監(jiān)控這一套流程,那么mPaaS就是對移動應(yīng)用App一整套全生命周期的管理服務(wù)。
事實(shí)上,當(dāng)傳統(tǒng)金融行業(yè)將目光投向移動App開發(fā)的時候,前面是一條看似平坦卻暗藏坑洼的一條路。而支付寶早在2013年以前,就開始了這趟淌坑之旅,并逐漸摸索出一條明路,最終基于mPaaS平臺對外開放。這就像你剛開始準(zhǔn)備學(xué)習(xí)這門課程,學(xué)霸支付寶同學(xué)已經(jīng)早在幾年前就學(xué)完并替你總結(jié)了一套學(xué)習(xí)方法和快速學(xué)習(xí)平臺??梢哉f,目前mPaaS的所有技術(shù)服務(wù)和組件都是源于支付寶,并在支付寶的各種高并發(fā)等極端條件下和實(shí)際業(yè)務(wù)場景中經(jīng)過重重檢驗(yàn)的。
為了讓你更好地理解mPaaS的過人之處,我們要先從支付寶這個國民級App的開發(fā)歷程開始說起。2013年開始,支付寶開始了All In無線戰(zhàn)略。在那之前,支付寶還是一個單體應(yīng)用的支付工具,只擁有一些非?;A(chǔ)的模塊和工具庫。2013年,隨著支付寶的All In 無線戰(zhàn)略之后,業(yè)務(wù)快速發(fā)展,支付寶App里所能提供的功能和應(yīng)用也開始井噴式的發(fā)展。與此同時,支付寶APP用戶數(shù)也開始指數(shù)級的增長,其后臺支持的開發(fā)團(tuán)隊(duì)也日益龐大。這么一個數(shù)量龐大的開發(fā)團(tuán)隊(duì)如何高效地進(jìn)行開發(fā)協(xié)作呢?這對支付寶App開發(fā)架構(gòu)的設(shè)計的合理性提出了很高的要求。
在2013年到2015年期間,螞蟻金服就對支付寶做了一個架構(gòu)治理,整個支付寶App的開發(fā)架構(gòu)被做了分層,支付寶App被改造成了一個平臺型App,它集成了各個應(yīng)用,并實(shí)現(xiàn)了應(yīng)用的服務(wù)化、模塊化,開發(fā)工具走向組件化。這樣一來,基于支付寶App上的每一個應(yīng)用都可以獨(dú)立的由一個團(tuán)隊(duì)來開發(fā),而整個支付寶則用一個通用的底層平臺框架進(jìn)行管理。如此,支付寶App就從架構(gòu)上允許支付寶能夠快速擴(kuò)展業(yè)務(wù),每上一個新業(yè)務(wù)就相當(dāng)于開發(fā)一個新的模塊,只需要將新的模塊插到這個框架里就可以運(yùn)行了。
在這個期間,支付寶的開發(fā)團(tuán)隊(duì)還沉淀了模塊開發(fā)的很多通用的能力,包括像消息推送、分析、網(wǎng)關(guān)等等。而這些通用能力幾乎所有業(yè)務(wù)場景里的應(yīng)用都會需要。與通用技術(shù)能力伴隨而生的另一個簡單的理念就是:我們能不能將在支付寶架構(gòu)上沉淀的這一套經(jīng)驗(yàn)和能力更好地對外輸出,以服務(wù)更多的金融機(jī)構(gòu)?
2015年9月14日,螞蟻金服宣布啟動“互聯(lián)網(wǎng)推進(jìn)器”計劃,計劃將在5年內(nèi)助力超過1000家金融機(jī)構(gòu)向新金融轉(zhuǎn)型升級。螞蟻金服作為“互聯(lián)網(wǎng)推進(jìn)器”將推動平臺、數(shù)據(jù)和技術(shù)方面的能力全面對外開放。同年10月,mPaaS 1.0版本正式面世。
1.0時期的mPaaS功能比較簡單,主要包括三大核心功能:網(wǎng)關(guān);用戶行為分析;消息推送。在這一時期,mPaaS就服務(wù)了網(wǎng)商銀行和天弘基金兩大客戶。
很快到了2016年底,mPaaS 2.0 版本開始醞釀。mPaaS 2.0 最重要的特征是往共享的方向發(fā)展,并實(shí)現(xiàn)了框架和模塊的拆分,即mPaaS上提供的功能都可以單獨(dú)輸出,這意味著客戶可以比如只使用單項(xiàng)功能(如消息推送)而完全不用其它任何服務(wù)。共享模式也可以說是多租戶模式,就是說開發(fā)者在公有云上可以擁有不止一份mPaaS,不同用戶可以通過邏輯隔離來用同一份mPaaS,這可以有效的降低公有云上的使用成本。
此外,2.0時期的mPaaS具有著更豐富的功能:一個是MDS功能,即發(fā)布功能,它可以在APP里提醒用戶下載、升級新版本;另一個是熱修復(fù)功能,熱修復(fù)功能通過MDS發(fā)布到客戶端,并在緊急情況下,如果代碼有問題,開發(fā)者可以在不發(fā)布新版本的情況下,在運(yùn)行期就將問題修復(fù)。
熱修復(fù)功能一經(jīng)推出即受到了市場的熱烈歡迎,在這之前和之后,市場都很難找到同樣提供同類服務(wù)的產(chǎn)品。2017年1月,mPaaS 2.0出現(xiàn)在了眾人的視野里。這一次它服務(wù)的客戶進(jìn)一步擴(kuò)展,除了蘇寧金融這類金融客戶之外,有了更多非金融行業(yè)的客戶的加入,包括阿里健康、OFO等等,還有我們前文提到的上海地鐵。
2017年5月,螞蟻金服mPaaS技術(shù)團(tuán)隊(duì)開始進(jìn)駐上海地鐵,到10月份上海地鐵“METRO 大都會”App正式上線,并在上線一周以內(nèi)該App注冊人數(shù)超過百萬,這背后所支撐的不過十幾人的開發(fā)團(tuán)隊(duì)。上海地鐵“METRO 大都會”App加入了掃碼進(jìn)站的功能,這意味上海的用戶不再需要在高峰期花半小時排隊(duì)買地鐵票。
在“METRO 大都會”App的上線過程中,mPaaS 2.0新上線的“熱修復(fù)”功能還經(jīng)歷了一次生死時速的考驗(yàn)。為了做好App的數(shù)據(jù)運(yùn)營和監(jiān)測工作,該App開發(fā)時即使用了mPaaS的各項(xiàng)能力,在App上線之前就做好了全方位的埋點(diǎn)監(jiān)控,相關(guān)人員能夠密切關(guān)注用戶的使用情況,這樣能在出現(xiàn)任何問題的時候也能***時間發(fā)現(xiàn)并修復(fù)。果然,在該App剛上線一周的時候,技術(shù)小哥敏銳地注意到,部分機(jī)型無法順利的完成用戶注冊。在發(fā)現(xiàn)這個問題的一天之內(nèi),技術(shù)小哥們迅速的解決了這個問題,并利用接好的熱修復(fù)功能快速修復(fù),***程度上保證用戶的體驗(yàn)不受損害。想象一下,要是沒有熱修復(fù)功能,而是等到各個手機(jī)應(yīng)用市場重新發(fā)布新版本的話,這其中所耗的審核和上線時間不可估量,而最終影響的用戶也可能難以計數(shù)。
地鐵,春運(yùn),銀行—— mPaaS接受挑戰(zhàn)并完成到絕世高手的蛻變
2017年10月開始,mPaaS 開始向3.0階段蛻變。mPaaS 3.0開始支持私有云,并推出了數(shù)據(jù)同步服務(wù)。數(shù)據(jù)同步是一個保持mPaaS跟客戶端常連接的服務(wù),該服務(wù)能夠確保一些關(guān)鍵信息可以在秒級觸達(dá)所有的在線用戶,時效性和穩(wěn)定性都得到了改善。
同時,mPaaS小程序的功能也在3.0版本中被抽離了出來,做成了一個純技術(shù)的方案,這意味著mPaaS的開發(fā)者可以利用小程序技術(shù)為自己的App開發(fā)小程序。以上海地鐵為例,該App支持其他開發(fā)者、ISV或商戶能夠圍繞上海地鐵開發(fā)更多小程序,并且這些小程序可以既運(yùn)行在上海地鐵里面,也可以運(yùn)行在支付寶里面,為開發(fā)者們帶來更多的流量和福利。
在向3.0過渡的2017年9月底,mPaaS開始與12306展開合作。當(dāng)時這支mPaaS開發(fā)團(tuán)隊(duì)還不知道就在短短3個月后,他們就要拿出一個新的產(chǎn)品,也就是部署并開發(fā)一個新的12306 App來應(yīng)對一個巨大的難題——春運(yùn)。
可春運(yùn)作為一個老大難問題,按照mPaaS開發(fā)團(tuán)隊(duì)的話講:“并不是開玩笑的”。事實(shí)上,做12306 App這么大的產(chǎn)品一般正常的開發(fā)周期要一年以上,而mPaaS技術(shù)團(tuán)隊(duì)面臨的狀況是在9月底進(jìn)場,12月份上春運(yùn),如此高的強(qiáng)度和如此難的技術(shù)挑戰(zhàn),在國內(nèi)外都是沒有先例的。
但***mPaaS團(tuán)隊(duì)還是接受了這任務(wù),10多個人的團(tuán)隊(duì)再加上鐵道部派來的團(tuán)隊(duì)加班加點(diǎn),終于在1月3日,通過各輪的測試、壓測后上線。最終12306的線上App很順利的支持了春運(yùn),為國人順利回家過年出了一份力。
此外,在2.0到3.0期間,mPaaS還幫助蘇州銀行順利完成了云端的部署,為直銷銀行多樣化場景提供了強(qiáng)力的支撐;通過mPaaS離線包幫助廣發(fā)銀行提升了APP性能,使其“發(fā)現(xiàn)精彩”的啟動時間從降低近70%;印度的Paytm則利用mPaaS的這套能力更好的對在即的App內(nèi)部進(jìn)行數(shù)據(jù)監(jiān)測與統(tǒng)計,從而更好地優(yōu)化用戶體驗(yàn)……
而至此,mPaaS也完成了自己的蛻變,就App開發(fā)領(lǐng)域的某個單個問題的解決而言,或許還有一些對手能夠與mPaaS勉強(qiáng)抗衡,但就客戶端App移動維度的一個整體解決方案而言,金融行業(yè)已不再有對手能跟mPaaS相提并論。而mPaaS基于支付寶的能力沉淀而來,使得它更適合如出行類的高并發(fā)需求;或是金融行業(yè)所要求的強(qiáng)容災(zāi)和安全性。
承擔(dān)責(zé)任,迎接新挑戰(zhàn)的mPaaS 3.0
回過頭來看mPaaS的成長與蛻變,我們會看到mPaaS依托于支付寶掌握了如下關(guān)鍵技能:
1.依托于支付寶長期發(fā)展而積累下來的業(yè)務(wù)場景,成長為做2C端產(chǎn)品運(yùn)營的大師。
很多傳統(tǒng)金融,非金融機(jī)構(gòu)也許并不知道應(yīng)該如何做一個成功的面向大眾消費(fèi)者(to C)端的產(chǎn)品,更是在如何做業(yè)務(wù)運(yùn)營,營銷上缺乏經(jīng)驗(yàn)。對于傳統(tǒng)行業(yè)來說,無論是交通出行行業(yè)還是銀行等金融機(jī)構(gòu),由于沒有相關(guān)背景,即便將業(yè)務(wù)外包,當(dāng)涉及到數(shù)字化轉(zhuǎn)型這樣大的場景需要成體系方案時,外包公司多由于沒有能力給出完整方案而讓傳統(tǒng)行業(yè)繼續(xù)面臨困境。
mPaaS由于依托支付寶這個經(jīng)過長期技術(shù)積累,實(shí)力雄厚,有歷史,技術(shù)經(jīng)得起最各種極端挑戰(zhàn),并逐步成長為能夠給出有前瞻性的解決方案來解決潛在的未來問題的專家,它能給傳統(tǒng)行業(yè)提供完整的生命周期性的整套數(shù)字化解決方案。而這,形成了mPaaS和其他同類產(chǎn)品的代差。
2.從開發(fā)框架維度支持團(tuán)隊(duì)協(xié)同開發(fā),效率更高。
回顧mPaaS的誕生歷史,一開始它的出現(xiàn)就是為了服務(wù)各個團(tuán)隊(duì)協(xié)作而產(chǎn)生的,從而更好的支持業(yè)務(wù)的快速擴(kuò)張和團(tuán)隊(duì)協(xié)作。此外,mPaaS提供了很多現(xiàn)成的開發(fā)組件和模板,不用重復(fù)造輪子,進(jìn)一步提升了開發(fā)者開發(fā)App的效率。這一點(diǎn)在12306的3個月快速開發(fā)案例上就是一個很好的例證。
3.強(qiáng)大的App性能優(yōu)化能力,保證用戶體驗(yàn)。
關(guān)于“如何實(shí)現(xiàn)App的秒開,縮短用戶的等待時間”這一問題的探索,支付寶技術(shù)團(tuán)隊(duì)的鉆研之深遠(yuǎn)超你想象。如今,借助mPaaS平臺,支付寶將這一技術(shù)貢獻(xiàn)給大家,讓各位開發(fā)者們也能開發(fā)自己的高性能應(yīng)用。目前,經(jīng)過mPaaS優(yōu)化過的銀行類App打開時間由原來的十幾秒到秒開,這與其背后的技術(shù)經(jīng)驗(yàn)密切相關(guān)。
4.從小程序到人臉識別技術(shù),支付寶的創(chuàng)新技術(shù)加持
目前mPaaS團(tuán)隊(duì)還在不斷為在目前的基礎(chǔ)上對外開放更多的功能。從當(dāng)下幾乎各個金融類App必備的人臉識別技術(shù),到能夠更好構(gòu)建自身生態(tài)的小程序技術(shù)。這些你能想象到的前沿技術(shù)熱點(diǎn)都在mPaaS上逐步實(shí)現(xiàn),而未來基于螞蟻BASIC技術(shù)戰(zhàn)略的區(qū)塊鏈技術(shù)等等,更是值得期待。
5.不僅是技術(shù)的輸出,更是經(jīng)驗(yàn)的輸出,推廣先進(jìn)的經(jīng)驗(yàn)從根本上改變研發(fā)方式
mPaaS 離線包,熱修復(fù),App 灰度發(fā)布,小程序等可以從根本上改變研發(fā),發(fā)布方式,提高效率。比如離線包徹底解決了H5加載的性能問題及對網(wǎng)絡(luò)的依賴,開發(fā)者可以更多的去關(guān)注業(yè)務(wù)邏輯而不必太過關(guān)心性能。下面是在某銀行 App上線灰度過程中,一線的運(yùn)維工程師對灰度發(fā)布經(jīng)驗(yàn)的高度認(rèn)可,也是mPaaS 對外服務(wù)的初衷。
一年前,全球知名管理咨詢公司麥肯錫發(fā)布了報告稱,在互聯(lián)網(wǎng)時代,隨著中國經(jīng)濟(jì)增長進(jìn)入新常態(tài),傳統(tǒng)銀行的經(jīng)營環(huán)境日益嚴(yán)峻,大量金融科技公司正在各細(xì)分領(lǐng)域威脅傳統(tǒng)銀行的核心業(yè)務(wù)。傳統(tǒng)銀行面臨著***的機(jī)遇和挑戰(zhàn),數(shù)字化轉(zhuǎn)型迫在眉睫。那么在這樣的大背景下,各個組織機(jī)構(gòu)如何做好自己的數(shù)字化轉(zhuǎn)型呢?數(shù)字化轉(zhuǎn)型的敲門磚——移動App的開發(fā)又應(yīng)該如何起步呢?螞蟻金服mPaaS已經(jīng)給出了它的答案。