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