摘 要:用友iUAP馬太航認為,企業互聯網下,單純使用一類或一種BaaS的場景,嫣然已不能滿足現在企業業務系統開發的訴求。更偏向業務化、移動化、開放化、云化、垂直化的新型BaaS將成為主流。
過去幾年里,在以移動為載體的創業大潮推動下,產生了眾多垂直服務型創新企業,并孵化出一個新的技術名詞,后端即服務(Backend as a Service),此類企業將移動領域中常見的技術服務抽象出來,進行平臺化,并通過API的方式為開發者開發應用提供支撐服務。主流BaaS涵蓋了云存儲、即時通訊、消息推送、語音處理、數據分析等領域,幾乎覆蓋了應用開發中大部分通用開發部分。
從BaaS服務商類型角度來看,可以劃分為2類:一類為專門提供BaaS服務的企業,這類企業主要客戶群為創業型公司;另一類為大型互聯網公司如BAT,其BaaS主要服務于自身生態。這2類供應商都主要面向程序開發者,提供的形態多為移動技術服務,還有其業務能力及數據能力服務。通過公共BaaS構建的應用極大縮減了企業和個人開發者開發應用的時間和成本,使企業變得更敏捷,尤其是針對創業公司,這種方式尤為奏效,使公司產品和技術人員更專注于業務開發。
與此同時,在企業互聯網端,BaaS服務與企業業務相互結合,催生出了一種新的混合服務模式,這種模式不是簡單連接服務的私有部署和公有租用,而是將具體的業務體系進行分離,實現業務能力的平臺化。部署在企業數據中心的BaaS具有極強的業務特性,并是一套完整獨立的軟件系統,公網上獲得的BaaS更傾向服務自身的在線業務,如商城、會員、O2O平臺等,同時公網BaaS也身兼災備、引流角色。
BaaS混合模式在企業應用獲取中也趨向以下5大趨勢:
1、服務全面開放化:開放化主要體現在2個層面,一個層面是企業內部系統的開放性,另一層面是外部開放平臺。內部系統將搭建在私有云之上,邊緣業務進行模塊化CRUD,類似傳統SOA架構,核心業務獨立管理,供其他子系統服務調用。內部系統之上是一套權限和數據過濾的系統,決定了外部開放平臺的服務范圍和計量模型。服務主要面向具備業務能力的系統,并通過API的方式進行管理,系統之間的消費主要以API形式進行度量。
2、垂直云化:企業內部常見BaaS將統一運行在數據中心的云平臺之上,未運行的在云上的服務需要具備隨時云化的能力,一些特殊的服務應自行搭建符合自身技術架構的獨立云平臺,如一些需要專門硬件的服務,需要硬件負載均衡、集中存儲等。同時服務在云化的過程中需要更加向業務領域垂直,API需要作為資源依附于具體產品,API之間存在組合關系。
3、深度移動化:傳統企業環境,服務拓撲結構復雜,服務之間緊密耦合,狀態化遷移困難,而在企業互聯網環境下,要求BaaS服務具備碎片化特性,并深度切合移動主題,降低來自端上的壓力,減少網絡交互頻次和流量,這與早些年流行的富客戶端設計方式相悖,接口形式和協議的選擇以RestFul/JSON為主,并提供SDK這種可選接入形式。
4、功能可擴展化:針對企業內部的BaaS服務在提供一定的服務標準上,還需提供針對業務和技術的擴展模塊,例如采用動態擴展的技術架構和預留協議字段的方式,每當一次灰度迭代后都需重新制定擴展標準。
5、在線開發測試:針對企業開發者,后端服務的彈性和高可用已經是系統穩定的必備條件,在這一基礎上,在線開發測試和開發將是BaaS服務提高開發效率的重要特性。
混合模式下的BaaS,弱化了公有云BaaS服務在整體服務中的重要性,更強調私有云中BaaS服務的作用,在較小服務規模的情況下提升服務本身的擴展性和業務能力,企業多個數據中心聯合協作完成對于數據流、業務流的貫穿。從技術選型角度上來看,企業可以避開一些有關BaaS“極致”這類字眼的技術壁壘,使用一些更輕量級的開源或商業的解決方案。
站在系統健壯性的角度來看,公有云BaaS雖然自身專業性上有一定的優勢,但是也存在一些問題,在國內,像BAT類的大型互聯網公司提供的BaaS服務主要服務于圍繞自身生態構建應用的開發者,相對通用性存在或多或少的問題。而中小型創業BaaS公司,受其規模、營收、服務模式等因素影響,不能保障其永遠存在,這就為企業帶來了巨大的運營發展風險,尤其是核心業務系統嚴重依賴這類BaaS的企業。所以應用設計者應在設計之初就將考慮到這類風險,設計出BaaS適配層已滿足服務的健壯性。
企業互聯網下,單純使用一類或一種BaaS的場景,嫣然已不能滿足現在企業業務系統開發的訴求。更偏向業務化、移動化、開放化、云化、垂直化的新型BaaS將成為主流,同時可擴展的私有BaaS API服務提供方式將取代傳統資源調用方式,這類混合型BaaS服務將更具備整體優勢。