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