后端即服務:掌握挑戰 從中獲益
在本篇Q&A中,專門研究移動應用開發的Gartner總監Gordon Van Huizen,與記者共同探討了后端即服務(BaaS)的趨勢以及存在的問題。他們的對話內容已做過編輯處理,方便閱讀。
記者:能為我們簡要概述后端即服務嗎?
Gordon Van Huizen:當我們談到移動應用開發時,我們通常關注于移動設備本身,例如,談話的大部分都是關于HTML 5和本地化。但是大多數移動應用也需要網絡的另一邊資源:用來存儲數據,也就是說管理用戶,支持推送通知、以及利用地理定位服務。
事實上,構建一個功能齊全的移動應用,往往取決于是否能夠支持這些后端功能。為滿足這種需要,一類新的平臺即服務(PaaS)已經出現,許多平臺即服務在市場上被稱為后端即服務,因為這些產品以云托管模式,提供了所需的后端功能。
它們通常通過Web訪問[應用接口(API)],但是Web API通常也附有移動設備平臺的[軟件開發工具包(SDK)],例如iOS和Android。利用這些SDK,云服務提供常見的后端,可用于多個設備平臺編寫的應用。
很多產品是由較小的供應商提供,或作為獨立的產品或作為更廣泛移動應用平臺的一部分。但是一些規模較大的服務產品也進入了市場,比如微軟提供的Azure移動服務。大概在幾個月前,Salesforce.com也進入市場。并且有趣的是,Facebook最近收購了一家叫做Parse的小公司, Parse是領先的品牌之一,如果可能的話,你將成為移動后端即服務領域中的佼佼者。
記者:非常有趣的是,Facebook在移動后端即服務領域中,已經遙遙領先,你認為后端即服務的顯著優勢是什么?
Van Huizen:對我來說,后端即服務的優勢來自于幾個不同方面。首先,這些云移動后端服務提供了預編譯的開箱即用功能,否則的話,就推送通知來說,可能需要大量的定制開發配置,需要設置多個推送通知服務器來處理Android和iOS等。
但是,正如許多形式的云服務一樣,后端即服務減輕了應用廠商的負擔,應用廠商負責部署移動應用,從他們那里可以購買、配置以及操作服務器基礎設施??傮w來說,后端即服務與云服務具有共同點,并且它們通常都很便宜——或者通常是免費的——這樣的話,(更容易)起步,并且隨著以后的采用和應用的成功,規模會不斷擴大。
但是,正如我所提到的,因為后端即服務經常附有設備平臺、具體的SDK,對于應用開發人員來說,后端即服務就像是客戶端編程模型的自然擴展。因此他們不需要了解我們的服務器端編程模型或不同的編程語言。他們只是突然有額外的功能,可以利用移動應用。
簡而言之, 通過盡可能地抽離后端,使得構建及交付移動應用變得更加容易。
記者:在后端即服務方面企業面臨著哪些障礙?
Van Huizen:這是一個大問題。存在很多障礙,其中一些障礙相對比較明顯,其中一些障礙不那么顯著。
其中較為明顯的,許多供應商的規模相對較小,這意味著他們不可能永遠存在。他們可能會被收購,他們可能被那些你不想與之做生意的人所收購。所以在某種程度上,你的移動應用依賴于一個給定的云后端,在有需要時,你要準備好移動到另一個供應商。在接下來的幾年,規模可能會有些波動。
與許多云服務一樣,盡管低成本進入市場很誘人,但卻有點不真實。盡管在表面上沒有什么,但在很多情況下,或只是通過輸入信用卡號, 隨著程序的成功,成本就會大幅度增加。
因此,你需要了解成本隨著使用如何增加。在商業環境中使用時,像企業中幾乎所有的移動應用一樣,你需要了解應用的價值,以及它為商業提供了什么,以一種你可以負擔云后端持續經營費用的方式。
最后,可能還要考慮安全問題。安全問題的范圍包括從云棧本身的安全到管理移動設備之間的數據移動、云以及你現有的企業系統的能力。
記者:這具有重大的意義。后端即服務與移動中間件有什么區別?
Van Huizen:這也是一個大問題。當然,在概念層面上,后端即服務與移動中間件發揮著相似的作用。畢竟,它們都提供后端功能。
但是,后端即服務與移動中間件之間仍然存在非常顯著的差異,盡管這些差異可能會隨時間的推移而減小。許多云移動的后端服務最初設計是用來支持[企業對消費者(B2C)]的情況,而無需大量使用企業后端,或者根本不需要使用任何類型的企業后端。
一部分原因是,它們通常不包括相關的一些功能與移動中間件,并主要在企業領域中不斷發展。例如,它們往往不支持存儲數據的同步服務,存儲數據的同步服務需要在離線狀態下或解決沖突時使用,[例如],幾個用戶嘗試更新相同的產品記錄或庫存記錄。
并且他們可能不直接支持企業驅動的安全需求。通常,Web應用和移動應用想要與企業內部的身份驗證服務、企業身份管理資源等相鏈接。通常,現在的云移動后端服務不提供這樣的鏈接。
隨著時間的推移,我們期望看到云移動的后端服務能夠解決這些問題,并為企業提供更好的支持。但是今天,云移動的后端服務大多數不提供大量的企業集成。
記者:一個后續的集成問題是:移動開發的后端數據與前端相連接,面臨著哪些挑戰?
Van Huizen:通常,無論從數據訪問的觀點來看,還是從過程集成的觀點來看,移動中間件的另一個作用是,中間件可以作為企業系統的一個橋梁。因此,大多數云移動的后端服務還不直接支持,需要服務以及整合現有的企業資源,通過使用集成技術、企業服務總線等的一些其他方式。
但是,即使就算支持,無論后端系統是如何被帶入方程,云移動的后端服務引入了一種新形式的安全挑戰。任何時候只要企業數據、云服務和移動設備出現交叉點,就有可能泄露數據。數據泄漏可能發生在移動設備中以及那些通常不適用的環境中。
因此,在大多數情況下,想辦法來管理這些交叉作用——是可取的,往往是有必要的。今天,主要是利用訪問網關——網關不屬于云服務產品一部分,但需要部署在企業邊緣,作為移動應用來訪問企業系統。
可以想象隨著時間的推移,云服務廠商將提供某種形式的管理,至少提供一些審計和日志記錄功能。但在今天,有人可能會說,這些交互作用的管理是留給讀者的,作為練習。