云計(jì)算與移動(dòng)性這兩大技術(shù)的交叉必然是炙熱異常的,而這也是應(yīng)用程序開(kāi)發(fā)人員和規(guī)劃人員所面臨的一大挑戰(zhàn)。因?yàn)橐苿?dòng)應(yīng)用程序更具自發(fā)性和個(gè)性化,所以它們成為了云計(jì)算支持的最合適候選者,但是讓移動(dòng)云應(yīng)用從一開(kāi)始就在正確的方向上發(fā)展是非常重要的。為了做到這一點(diǎn),就要從基于工作流的應(yīng)用程序深度管理開(kāi)始,以系統(tǒng)的方法引入BYOD支持,使用應(yīng)用程序生命周期管理(ALM)來(lái)統(tǒng)一應(yīng)用程序的發(fā)布。
移動(dòng)用戶是所有用戶最具地域多元化的用戶,而這一多樣性也同時(shí)為云計(jì)算帶來(lái)了機(jī)會(huì)和挑戰(zhàn)。云計(jì)算允許開(kāi)發(fā)人員把應(yīng)用程序支持部署在與移動(dòng)用戶相同的廣泛地域中,但是如果缺乏正確的管理,這也會(huì)為成本和性能帶來(lái)不利的影響。
移動(dòng)云應(yīng)用開(kāi)發(fā)中最顯著的問(wèn)題是如何把握將應(yīng)用程序擴(kuò)展至所謂的“自然分布”。就如同有著一定靜態(tài)數(shù)據(jù)內(nèi)容的網(wǎng)站主機(jī)一樣,它們可以被很容易且低價(jià)地復(fù)制以提高性能。在云計(jì)算中,可以在用戶較為集中的位置部署站點(diǎn)以供本地應(yīng)用程序訪問(wèn)。但是,如果應(yīng)用程序是依賴于托管在企業(yè)數(shù)據(jù)中心中的數(shù)據(jù)(有可能是出于安全性或成本管理方面的考慮)的,那么所有的應(yīng)用程序最終將不得不返回?cái)?shù)據(jù)中心以獲取信息。
為了平衡成本性能與集中化數(shù)據(jù)存儲(chǔ)處理兩方面的關(guān)系,應(yīng)試圖抽取應(yīng)用程序工作流程以說(shuō)明用戶是如何與應(yīng)用程序進(jìn)行交互并訪問(wèn)集中處理存儲(chǔ)的企業(yè)信息的。一般而言,應(yīng)用程序與用戶的交互分為包含選擇表現(xiàn)形式的一系列階段,如收集信息、處理信息和返回結(jié)果。在云計(jì)算中的關(guān)鍵階段是“處理”階段,因?yàn)檫@是云計(jì)算外包最難以為應(yīng)用程序進(jìn)行定價(jià)、提升性能和遵守合規(guī)性的所在。應(yīng)用程序設(shè)計(jì)的第一目標(biāo)應(yīng)當(dāng)是確保處理階段是工作流中的一個(gè)單一環(huán)節(jié),這樣就可確保應(yīng)用程序的其他階段可以被云計(jì)算外包、復(fù)制和分發(fā)。
應(yīng)用程序階段的概念引入了移動(dòng)云計(jì)算的第二個(gè)問(wèn)題,即如何支持BYOD。解決BYOD問(wèn)題的一個(gè)常見(jiàn)方法是為應(yīng)用程序開(kāi)發(fā)多個(gè)前端以支持各種移動(dòng)平臺(tái)。這樣做是與分布性原則相違背的,因?yàn)榘衙恳粋€(gè)前端應(yīng)用程序組件的副本分發(fā)至每一位移動(dòng)用戶可能出現(xiàn)的區(qū)域是一件相當(dāng)不經(jīng)濟(jì)的做法。
為了更高效地在云計(jì)算中支持BYOD,可以有兩個(gè)方法:把特定設(shè)備格式移至移動(dòng)設(shè)備或者為用戶的應(yīng)用程序開(kāi)發(fā)多個(gè)設(shè)備前端組件。如果前端處理是由集中化 “顯示面板”反饋的,那么前者是有效的,因?yàn)檫@個(gè)“顯示面板”是專為輕松實(shí)現(xiàn)目標(biāo)設(shè)備重新格式化而設(shè)計(jì)的;而如果“設(shè)備-應(yīng)用程序”的交互被限制于支持所有BYOD目標(biāo)的歸一化形式(以特定設(shè)備的方式),那么后一個(gè)方法也是有效的。實(shí)際上,開(kāi)發(fā)一個(gè)具有基本功能的“虛擬移動(dòng)設(shè)備”就可以在之后為每一個(gè) BYOD目標(biāo)進(jìn)行定制。
為每一個(gè)設(shè)備進(jìn)行格式轉(zhuǎn)換的缺點(diǎn)在于,如果為應(yīng)用程序開(kāi)發(fā)了更多的功能就會(huì)造成對(duì)新設(shè)備支持工作的復(fù)雜化。用戶可能可以通過(guò)一些“移動(dòng)后端即服務(wù)”的工具來(lái)管理這一復(fù)雜性,所以在對(duì)虛擬移動(dòng)設(shè)備進(jìn)行架構(gòu)設(shè)計(jì)之前審查工具的具體功能是非常明智的一件事。
移動(dòng)云應(yīng)用的最后一個(gè)問(wèn)題就是應(yīng)用程序管理流程。應(yīng)用程序管理通常被視為移動(dòng)應(yīng)用程序本身的版本控制和根據(jù)用戶需求和意愿向用戶發(fā)布應(yīng)用程序的組合。移動(dòng)云應(yīng)用由于其中的云計(jì)算組件而必須被更廣泛地考慮,而更為復(fù)雜的結(jié)構(gòu)讓應(yīng)用程序管理變得更像是ALM,在很多情況下這是最好的入手點(diǎn)。從某種意義上來(lái)說(shuō),移動(dòng)云應(yīng)用管理就是云應(yīng)用生命周期管理和移動(dòng)應(yīng)用程序發(fā)布控制的組合。
由于變更因素的多樣性,移動(dòng)云應(yīng)用產(chǎn)生了管理方面的問(wèn)題。業(yè)務(wù)變更總是會(huì)造成應(yīng)用程序的變更,所以操作系統(tǒng)和中間件元素也需實(shí)現(xiàn)有序升級(jí)。傳統(tǒng)的ALM是通過(guò)為開(kāi)發(fā)人員和操作人員制定“變更-測(cè)試-部署”的標(biāo)準(zhǔn)化程序來(lái)解決這一問(wèn)題的。移動(dòng)云計(jì)算不僅引入了另一類的變更(即移動(dòng)平臺(tái)的組合集),而且還至少帶來(lái)了新版本交錯(cuò)部署的潛在問(wèn)題,這是以往ALM實(shí)踐所沒(méi)有考慮過(guò)的問(wèn)題。
因?yàn)榇蠖鄶?shù)精心設(shè)計(jì)的移動(dòng)云應(yīng)用是多組件和分布式的,其獨(dú)特前端處理集是隨著移動(dòng)設(shè)備的改變而變化的,所以是有可能把移動(dòng)云應(yīng)用的前端和后端當(dāng)作兩個(gè)獨(dú)立應(yīng)用程序來(lái)對(duì)待的。這一方法的風(fēng)險(xiǎn)取決于用戶的“虛擬設(shè)備”是否真正地實(shí)現(xiàn)了兩個(gè)應(yīng)用程序組件的各自獨(dú)立。
移動(dòng)應(yīng)用程序發(fā)布要求將版本控制納入ALM流程中。如果用戶對(duì)應(yīng)用程序或移動(dòng)設(shè)備進(jìn)行了修改,其影響可能會(huì)跨越虛擬設(shè)備的邊界,用戶可能不得不更新應(yīng)用程序組件的設(shè)備副本。請(qǐng)確保您的移動(dòng)應(yīng)用程序管理工具具有軟件版本控制功能,并對(duì)按需更新設(shè)備組件有一個(gè)科學(xué)有效的升級(jí)機(jī)制。一般來(lái)說(shuō),您的應(yīng)用程序管理軟件應(yīng)當(dāng)能夠驗(yàn)證任意被用于運(yùn)行應(yīng)用程序的新移動(dòng)設(shè)備的設(shè)備型號(hào)和軟件版本。
從開(kāi)發(fā)的角度來(lái)看,移動(dòng)云計(jì)算是兩個(gè)相互依存的事物。至少在某種程度上保持兩者的獨(dú)立性將有助于用戶實(shí)現(xiàn)移動(dòng)性和云計(jì)算使用的優(yōu)化,但是也應(yīng)至少在ALM層面上把兩者連接在一起也是實(shí)現(xiàn)應(yīng)用程序長(zhǎng)期穩(wěn)定性的關(guān)鍵所在。小心行事,您是可以做到這兩點(diǎn)的。