云ALM:怎樣計(jì)劃你的項(xiàng)目
當(dāng)談及云ALM項(xiàng)目時(shí),許多大公司都不是從零開始的。這些公司現(xiàn)在幾乎都有一些應(yīng)用生命周期管理實(shí)踐。這是一件好事,因?yàn)橥瑫r(shí)遷移到云并采用新的ALM工作很難。如果你打算更換ALM工具,那么在把應(yīng)用遷移到云中之前你最好做一些事情。這能幫助確保這些工具和ALM實(shí)踐能與內(nèi)部IT實(shí)踐更好的合作。
本文中,概述了在把ALM遷移到云中涉及到的一些事情,以及識(shí)別了在此過程中需要當(dāng)心的一些陷阱。
確保你所選擇的云平臺(tái)與你的ALM工具兼容
計(jì)劃一個(gè)ALM云策略的第一步是,識(shí)別當(dāng)前用來管理應(yīng)用的工具,然后,創(chuàng)建他們的功能來管理候選云平臺(tái)。了解你當(dāng)前的ALM工具是否支持每一個(gè)云平臺(tái),把這一條放到考慮之中很重要;如果他們不支持,那么你就需要云定制管理接口或選擇新的工具了。謹(jǐn)記,ALM可能既需要編制/配置工具也需要應(yīng)用程序集成工具,而且兩者都必須經(jīng)過驗(yàn)證,驗(yàn)證與候選云平臺(tái)的適用性。
租賃或單獨(dú)應(yīng)用?
一旦你解決了平臺(tái)和工具兼容問題,那么云ALM第一生產(chǎn)力的第二步就是,確定云平臺(tái)是否支持獨(dú)立的沙盒,無論是“租賃”的還是單獨(dú)的應(yīng)用。每個(gè)版本的應(yīng)用程序都被認(rèn)為是一個(gè)不同的用戶/應(yīng)用程序,而且有它自己的沙盒。在你的云ALM策略中將會(huì)出現(xiàn)的陷阱,很有可能是與數(shù)據(jù)庫和工作流集成相關(guān)的問題。你必須確保測試的沙盒不能訪問生產(chǎn)數(shù)據(jù)庫和工作流。這對(duì)于本地ALM工具來說是事實(shí),同樣也適用于基于云的。但允許云中的訪問將會(huì)出額外的問題,因?yàn)闇y試沙盒可能被利用作為攻擊一個(gè)生產(chǎn)系統(tǒng)的一個(gè)路徑來。當(dāng)然也存在風(fēng)險(xiǎn),測試沙盒可能會(huì)泄漏用戶或其它隱私數(shù)據(jù)。如果這些泄漏發(fā)生,那么罪魁禍?zhǔn)缀苡锌赡苁且粋€(gè)應(yīng)用集成問題,問題中生產(chǎn)數(shù)據(jù)庫或應(yīng)用程序編程接口(API)被列為是測試沙盒的資源。許多情況下,這是由于腳本或信息工具參數(shù)錯(cuò)誤造成的,因此測試這些工具很關(guān)鍵。大多數(shù)據(jù)用戶報(bào)告最好結(jié)果是在早期ALM階段(例如,開發(fā)、或變更為單元測試)呈現(xiàn)的沙盒。只有在早期的的測試被證明完全合格后,用戶才會(huì)進(jìn)入到下一階段。注意,云應(yīng)用程序?qū)嵗奶幚砜赡懿煌趦?nèi)部資源,并且確保這些差異反映在集成工具上。
在云ALM計(jì)劃中要考慮的另一個(gè)區(qū)域是,測試云相關(guān)的流程本身。云管理接口無疑要是ALM測試的一部分。該測試可能會(huì)想驗(yàn)證ALM工具在管理API中操作是否適當(dāng)一樣簡單。但是,不要忘記測試一些特殊功能,如“滾動(dòng)實(shí)例”——云應(yīng)用程序隨著時(shí)間區(qū)域變化適應(yīng)多個(gè)地理位置。
走入云,再走回來?
因?yàn)榇蟛糠衷茟?yīng)用只在云中做短暫的停留,所以有些公司希望能在云和內(nèi)部IT資源之間來回切換。在某些情況下,目標(biāo)是設(shè)計(jì)并測試一個(gè)有序的流程,以便在發(fā)生故障或業(yè)務(wù)環(huán)境改變時(shí),公司可以從云中退回來。另一些公司希望云可以作為內(nèi)部IT的備份或溢出資源。
把云作為備份或溢出資源使用會(huì)造成更多的ALM云計(jì)劃問題。問題是內(nèi)部應(yīng)用程序和云版本都需要“成對(duì)的”的沙盒,ALM周期的每一階段都要有一對(duì)。應(yīng)用的故障恢復(fù)或工作負(fù)載共享流程在沙盒的每一對(duì)中都必須進(jìn)行測試,特別要注意,不要不小心觸碰到每一對(duì)的交叉邊界。通常,故障恢復(fù)和工作負(fù)載共享是基于用戶提供的前端交換機(jī),這些系統(tǒng)必須采用數(shù)據(jù)庫和事務(wù)之間某種形式的同步,保持云和內(nèi)部資源的更新。所有的這些流程都必須在沙盒對(duì)中集成,來確保ALM的完整性。
最后一個(gè)問題是,ALM中云的“即服務(wù)”模型的重要性。由于基礎(chǔ)設(shè)施即服務(wù)(IaaS)平臺(tái)上的應(yīng)用程序是基于非標(biāo)準(zhǔn)化,和作為一個(gè)結(jié)果,因此流程管理和集成也不是標(biāo)準(zhǔn)化的。這意味著有相當(dāng)大的一部工作需要集成ALM工具和流程,通過IaaS而且不是PaaS或SaaS。管理應(yīng)用集成更難,它是云計(jì)算的關(guān)鍵需求,當(dāng)每一個(gè)應(yīng)用可以使用不同的定位資源和組織的方法時(shí)。有了PaaS,編排和集成流程趨于標(biāo)準(zhǔn)化了,在跨平臺(tái)時(shí)。有了SaaS,只有高水平的集成是必要的。在考慮一個(gè)云平臺(tái)時(shí),要記住這幾點(diǎn)。