BaaS(Backend as a Service)是一種新型的云服務,旨在為移動和Web應用提供后端云服務,包括云端數據/文件存儲、賬戶管理、消息推送、社交媒體整合等。BaaS是垂直領域的云服務,隨著移動互聯網的持續火熱,BaaS也受到越來越多的開發者的親睞。它作為應用開發的新模型,可以降低開發者成本,讓開發者只需專注于具體的開發工作。
BaaS是移動中間件的替代品(或者說備選方案),它使用統一的API和SDK來連接移動應用到后端云存儲,傳統的移動中間件通過本地的物理服務把后端服務集成到應用中。而BaaS通過云來集成后端服務。中間件和BaaS的最大不同是它們是否包含或者提供云的服務,BaaS可以說是PaaS平臺在移動垂直領域的延伸,更可以說是移動中間件和云的融合。而現在它們都在以不同的形式來存在,云的優勢很明顯,那就是簡單、成本低廉,中間件的優勢是數據安全、易于擴展。所以從現在的趨勢來看,它們不存在明顯的取代關系,只不過可能以后BaaS的體量會更大。移動中間件將更多的被有能力的企業使用,同時也會有越來越多的中小型企業、開發者選擇使用BaaS。
雖然BaaS屬于PaaS的范疇,但兩者也有區別。Quora上有人簡要描述了二者的不同,BaaS簡化了應用開發流程,而PaaS簡化了應用部署流程。PaaS是一個執行代碼以及管理應用運行環境的開發平臺,用戶通過SVN或者Git之類的代碼版本管理工具與平臺交互,對于開發者來說,PaaS就像是一個容器,輸入是代碼和配置文件,輸出是一個可訪問應用的URL。而BaaS平臺進一步將用戶需求進行了抽象,比如用戶管理,開發者希望創建用戶數據庫表(模型)后,客戶端就可以通過Restful接口直接操作對應的模型,所有的操作都可以被抽象為CRUD。之前,開發者需要創建表、寫接口、寫校驗,而在BaaS平臺中,開發者只需要定義模型,平臺就會自動生成對應的接口,這可以讓開發者更加專注具體的客戶端代碼。專門針對手機端的BaaS服務稱為MBaaS,目前大多的BaaS平臺都屬于這一類。
隨著移動互聯網的發展,移動行業的分工也會像其它行業一樣逐漸細化,后端服務就是這樣被抽象出來,它統一向開發者提供文件存儲、數據存儲、推送服務等實現難度較高的功能,以幫助開發者快速開發移動應用。在國外,BaaS服務已經受到巨頭的重視,2013年4月,Facebook收購Parse;2014年6月,蘋果發布了CloudKit;2014年10月,Google收購了Firebase。Parse、CloudKit、Filrebase都是國外知名的BaaS類產品,蘋果和谷歌通過BaaS服務可以更好的完善其生態圈,Parse也可以幫助Facebook建立它在移動端的地位,從巨頭們在BaaS方面的布局也可以看出BaaS的價值。總體來說,BaaS平臺的優勢包括(來自搜狗百科):
提高效率:減少移動APP開發中各個環節的成本,提高效率。
縮短上市時間:減少從構思到制作過程中的阻礙,并降低上線后的運營成本。
減少交付APP所需的資源:BaaS需要的開發者和IT資源更少。
針對手機和平板優化:BaaS供應商在優化移動APP數據和網絡上花費了大量時間和資源,減少了跨平臺和移動終端的碎片化的問題。
安全和彈性的基礎設施:BaaS提供捆綁的基礎設施,解決了彈性、安全性和性能等運營難題,讓開發者專注開發。
大量的常用API資源:BaaS將常用和必要的第三方API資源匯總,省去開發者單獨收集的麻煩。
在國內,提供BaaS服務的廠商也有很多,典型的代表有APICloud、Bmob、友盟,主要提供的功能包括社會化媒體集成、數據/文件存儲、數據分析、消息推送、支付。以APICloud為例,它們主要提供的服務包括:
數據存儲。用戶可以通過可視化的界面設計數據庫,包括創建Class、定義字段、錄入數據等。同時,BaaS平臺可以自動生成對應的Restful API,用戶可以通過任何語言操作已有的API,另外,平臺也內置用戶系統、角色系統、文件系統、權限控制等模塊。
數據推送。結合APP中的標簽設置,針對不同屬性的用戶推送差異化信息,包括定時推送、離線推送等。
版本管理。支持iOS及Android版本的同步或異步管理,在控制臺內流程化進行開發和版本管理。支持增量更新,終端用戶可在應用內進行更新。
數據統計。平臺可以查看應用的新增用戶以及活躍用戶數據,并支持自定義事件統計。
從功能上看,國內的BaaS廠商(特指能夠提供完整的平臺能力的廠商)提供的功能大同小異,大都集中在推送、存儲、統計方面。值得注意的是,這幾個重點功能又有相應的廠商在做,比如文件存儲的七牛和又拍、推送服務的極光推送、統計服務的友盟、及時聊天的環信,所以隨著這塊市場的成熟,BaaS平臺在功能方面的重心應該是整合其它垂直云服務的能力。
從盈利模式看,都是向少部分用戶收費。縱觀目前面向開發者的公司,它們的盈利模式大多是部分服務收費或者部分用戶收費,現在的這幾家BaaS廠商基本都是對部分高端用戶收費。但是從云的發展趨勢來看,接下來會有更多的中小型公司會使用BaaS服務,所以新一年BaaS平臺也許會面向企業提供差異化的服務。
從競爭角度來看,由于BaaS在國內的整體份額都比較小,所以目前各個廠商都在全力擴展自己的用戶基數,直接的競爭還談不上。不過,目前市場的幾家廠商側重點也不一樣,比如APICloud提供的是端和云的能力,用戶可以通過SDK開發跨平臺的應用。
分析機構 MarketsandMarkets 報告 BaaS 市場到 2017 年將會達到 77 億美元,而 2012 年僅為 2.165 億美元,年增長率達到了 104%。預計在2015年BaaS服務會受到更多用戶的親睞,BaaS的發展趨勢總體來看可以總結為如下幾個方面:
出現更多的垂直云服務:隨著技術的發展與市場需求,整個移動互聯網行業發展的特點是更加的垂直、細分和專業,所以也會出現更多的垂直領域的BaaS服務提供商。
API云服務蓬勃發展:隨著云和大數據的結合,業務層跟數據層結合的越來越緊密,移動APP更側重界面的邏輯和表現,而APP所需的數據與服務都需要通過API的形式從云端獲取,所以能夠提供數據存儲和App邏輯業務相關的API輸出的數據云BaaS服務將會有更多的需求和發展。
滿足自定義功能擴展:BaaS在提供標準服務的基礎上,讓開發者可以根據自己的產品和業務特點,通過在線配置和上傳代碼的功能來擴展自定義的功能,滿中個性化需求。
成為行業移動化解決方案:隨著移動互聯網和越來越多的行業結合,BaaS服務以其簡潔、高效、靈活、專業的特點,也會應用到各種行業的解決方案中,成為行業移動化解決方案中云端的支撐服務。
隨著BaaS服務的成熟和穩定,基礎服務功能使用專業的BaaS服務已經成為了移動應用開發中的常規選擇,被越來越多的客戶接受,2015年BaaS服務有更好發展。
以上內容由InfoQ編輯對APICloud CTO鄒達的采訪整理而成,如文中所述,APICloud是一家移動應用云服務提供商。