遺留開發(fā)工作入PaaS你考慮好了嗎
相比于管理你自己的發(fā)展基礎(chǔ)設(shè)施,平臺即服務(wù)提供了很多優(yōu)勢,你可以有更多時間專注于設(shè)計和編碼。然而對于新項目來說,PaaS可能是首選,但是PaaS可能不適合現(xiàn)有的、遺留的開發(fā)工作。
將遺留的開發(fā)項目轉(zhuǎn)移到平臺即服務(wù)(PaaS)之前,需要考慮五件事。
如何使用PaaS?
不同的公司,PaaS起到不同的作用,來適應(yīng)他們的IT環(huán)境和目標(biāo)。首先,你必須找出如何將PaaS融入到你的組織中。對于一些服務(wù),你可以輕松地將計算移動到云,同時保持當(dāng)?shù)刭Y源的其他功能。例如,Pi云提供應(yīng)用接口(API),將你的本地Python代碼復(fù)制到云,并在云中運行,而你的開發(fā)工具和代碼存儲庫可以保留在本地。
另一種方法是開發(fā)本地資源與測試PaaS產(chǎn)品。當(dāng)你運行大型測試套件或者需要單獨的共享資源實例來進(jìn)行測試時,這種方法很有用。你也可以通過使用云集成開發(fā)環(huán)境(IDE)來開發(fā)云?;跒g覽器IDEs所支持的功能——一些功能無足輕重,并且可能不包括所有功能,你可能已經(jīng)習(xí)以為常。
軟件開發(fā)實踐和工具與PaaS是否匹配?
如果你使用Git、SVN、Ant或者M(jìn)aven等工具開發(fā)軟件,想一想,在PaaS使用這些工具有多么容易。PaaS的版本控制系統(tǒng)與本地資源的版本控制系統(tǒng),沒什么不同。然而,重寫構(gòu)建腳本的任務(wù)尤其重要。如果你的通常做法不那么正式,或者使用國產(chǎn)工具,那么就要考慮如何適應(yīng)PaaS環(huán)境,并且審查你的代碼和文檔的訪問控制策略。檢查你的PaaS提供商的訪問控制機(jī)制,以確保你可以控制你需要的訪問方式。
需要整合本地資源嗎?
應(yīng)用通常需要與其他應(yīng)用或共享資源整合,如企業(yè)數(shù)據(jù)庫。在這種情況下,需要了解如何訪問這些PaaS資源。如果你使用一個內(nèi)部應(yīng)用,該應(yīng)用實現(xiàn)Web服務(wù)API,并且服務(wù)于外部客戶端應(yīng)用,你就能轉(zhuǎn)移到PaaS。如果安全是一個關(guān)注的問題,并且只有虛擬私有網(wǎng)絡(luò)(VPN)的客戶端應(yīng)用允許訪問本地資源,就要盡早測試PaaS的API。如果你需要實現(xiàn)VPN功能,并且你的PaaS提供商無法滿足你的需要,你可以考慮用基礎(chǔ)設(shè)施即服務(wù)(IaaS)云代替它。
開發(fā)堆棧是否完全支持?
PaaS從單一語種的平臺到支持一系列的語言、數(shù)據(jù)庫和其他服務(wù)的平臺,快速發(fā)展。找出一種PaaS,能夠支持你全部的應(yīng)用堆棧,并且減少PaaS采用的阻礙。例如,如果你用Java開發(fā),使用Jenkins來持續(xù)集成,那么,CloudBees可能是一個不錯的選擇。如果你需要支持Ruby和Node.js,可以考慮Engine Yard。如果你正在構(gòu)建NoSQL平臺,Red Hat's PaaS,OpenShift,可能是個不錯的選擇。
開發(fā)階段是什么?
你在開發(fā)進(jìn)程中所處的位置,對本地開發(fā)轉(zhuǎn)移到云開發(fā)的成本和效益有重大影響。通常,項目越到后期,在開發(fā)環(huán)境和工具上的投資也就越多。隨著項目的進(jìn)展,你需要創(chuàng)建更多的軟件,必須移動到PaaS平臺,該平臺增加了打造一個開關(guān)的成本。
PaaS的優(yōu)勢大于完成轉(zhuǎn)移所需的成本和時間時,將正在進(jìn)行的項目開發(fā),轉(zhuǎn)移到PaaS平臺合乎情理。轉(zhuǎn)移到PaaS后,你的管理服務(wù)器、操作系統(tǒng)和其他基礎(chǔ)設(shè)施將如釋重負(fù)。如果需要擴(kuò)展應(yīng)用,最大的回報在于可以避免耗時且具有挑戰(zhàn)性的工程問題。
在云中運行你的應(yīng)用,可以節(jié)省更多的時間和成本,轉(zhuǎn)移到PaaS值得一試。