在云中測試和開發(fā)項目的5個最佳實踐
原創(chuàng)【11月15日51CTO外電頭條】對于那些開始使用云計算服務的公司來說,應用程序測試和開發(fā)項目是一個很自然的起點。Forrester Research的James Staten將會為您講述怎樣判斷你的項目是否適合云環(huán)境。
對于云計算來說,的確是存在著過分渲染的現(xiàn)象——尤其是在它可以為企業(yè)省錢方面。但是很不幸,宣傳中為我們描繪的可以節(jié)約成本的愿景似乎并非事實真相。在進行無數(shù)的客戶調查以后,結果清晰地展現(xiàn)在了Forrester面前,如果把所有企業(yè)作為一個整體來看,來自于云的正向的ROI(return on investment)并沒有被實現(xiàn),因為在具體應用的時候,云計算的優(yōu)勢大打折扣了。最終,這意味著在云中測試和開發(fā)新的應用程序是一個絕佳的方法,這可以增加業(yè)務的合理性,也可以保證應用程序,IaaS(Infrastructure as a service)解決方案,和IT運營防護與流程之間的兼容性。
IaaS(Infrastructure as a service)云計算的基本原理是那些平臺提供一個標準化的,自動化的虛擬環(huán)境,讓IT專業(yè)人員在較少人工干預的情況下更輕松地使用這個環(huán)境。公有云(逐漸也會包括私有云)平臺要計算資源的消耗量,這推動了一種不同的消費形式——在這種情況下,節(jié)約成本可以通過盡量減少資源的消耗量來實現(xiàn)。這個關鍵性的概念對于理解和云計算有關的具體業(yè)務案例至關重要。
例如,如果你問一個測試實驗室的經(jīng)理,他們需要面對的挑戰(zhàn)是什么,他們可能會抱怨開發(fā)者的要求太多,為他們安裝和卸載測試環(huán)境“浪費”了大量的時間。但是,另一方面,對于那些開發(fā)者來說,在一個團隊中,他們是最有生產(chǎn)力,最有創(chuàng)新性的一個群體,試問,面對這么多抱怨,他們怎么可能專心地工作呢?他們是否會告訴你(通常他們不會),他們認為,如果他們不使用IT運營部門提供的實驗室的資源,而是直接到platform-as-a-service (PaaS) 或 IaaS(Infrastructure as a service)云上進行測試(在這種情況下,他們可以在幾分鐘內獲得想要的資源,而且,只有當他們需要這些資源的時候,才需要為它們而付費),他們的生產(chǎn)力會得到提高呢?
當然,當一些開發(fā)者把他們的工作遷移到云中的時候,IT運營部門也許會擔心他們正在把整個組織推向危險的邊緣。我們不應該阻止在云中進行測試和開發(fā),相反,我們應該鼓勵這種使用方式,同時,我們要給予一定的指導。例如,建立一個實用的云使用策略,或者,可以考慮通過一個集中式的資源請求工具來規(guī)范開發(fā)者使用云的方式。
在這里,有一個十分重要的問題需要注意一下,那就是:并非所有的開發(fā)項目都適合在云中完成。要為IT運營團隊和APM之間協(xié)作定義出最合適的規(guī)范,這需要花費一些時間。這是5個通用的最佳實踐,可以以此作為出發(fā)點:
1,部署測試可以在一個標準的虛擬環(huán)境下進行。
IaaS(Infrastructure as a service)平臺提供了服務器虛擬機和虛擬存儲卷。PaaS(Platform as a service) 云提供了更高級的抽象——中間件或用于部署應用程序的目錄。在大多數(shù)情況下,不會提供專用的物理資源。
2,測試環(huán)境要獨立。
如果這個開發(fā)項目可以單獨測試,也就是說它不需要和生產(chǎn)系統(tǒng)進行集成,那么它可以在云平臺上進行測試。對于云平臺來說,那些不消耗輸出帶寬的應用性價比是最高的。對于公司來說,它們的風險也更低,因為不需要打開防火墻上的某些端口。
3,那些生命周期小于12個月的項目。
大多數(shù)云平臺都是按小時收費的,如果持續(xù)不斷地使用12個月以上,它們比傳統(tǒng)的托管方式的成本還要高。所以,對于這樣的項目來說,在內部的虛擬實驗環(huán)境下進行會更劃算一些。這是一個基本的經(jīng)驗法則:如果你時常可以讓使用公有云的費用趨近于0,那么你才是在有效地使用它。
4,那些不會給公司帶來新的兼容性和管理風險的項目。
在你認為你可以保證這些項目的兼容性以前,不要把這些測試項目放到云中。
5,使用Web服務的多虛擬機應用程序。
公有云可以把客戶的工作任務分配到多個標準的虛擬設備上,然后再通過IP協(xié)議和Web服務把它們連接起來。如果開發(fā)者想讓應用程序組件彼此之間進行交互,不要指望著可以找到支持的協(xié)議——不是延遲無法接受,就是需要特定的網(wǎng)絡配置或緊密耦合的組件。大多數(shù)的公有云都不支持多播協(xié)議,而且,集群化通常也比較困難。在你可以確保它們可以正常運行以前,不要把這樣的應用程序放到云中。但是,基于現(xiàn)有的Web服務的交互可以正常地進行。
如果對于新的應用程序和服務來說,加快推向市場的時間是頭等大事的話,那么,符合上述條件的測試和開發(fā)項目可以讓開發(fā)者有更大的靈活性,同時,也可以通過業(yè)務調整來降低使用云平臺的費用。它的收費方式也比較合理,因為它把長期的投資和必要的運營成本變成了更加高效,更加靈活的運營成本投資。它也可以減少對內部的實驗資源的需求,這樣的話,已經(jīng)分配的預算可以用來做一些更有意義的事情,當然,這主要取決于這個企業(yè)的開發(fā)項目的規(guī)模和這些項目是否適合放到云中。
原文名:5 Best Practices for Test and Development Projects in the Cloud 作者:James Staten(VP, Forrester Research)
【本文乃51CTO精選譯文,轉載請標明出處!】
【編輯推薦】