2017-04-26 34 views
0

此問題不是關於代碼/配置,而是更多信息。在Cloud Foundry上遷移現有的PHP應用程序

我們應該在Cloud Foundry上放置一個現有的PHP應用程序,我們正在開始弄清楚如何去做。 現在它被部署在5臺物理服務器上(負載平衡),並使用MySQL數據庫(在不同的服務器上,但沒有API,直接連接),以及另一個應用程序來檢索MySQL憑證。 (PHP應用程序>的conf應用程序連接到MySQL> MySQL的)

我的第一個問題: 是否可以說,保持3臺物理服務器,並開始使用Cloud Foundry上的應用程序?

根據我的理解(我們在2周內仍然有組建,但之前需要一些信息),Cloud Foundry不允許我們擁有X個服務器,而是在應用程序爲需要/被叫(無限制) 我們如何才能開始輕鬆地使用Cloud Foundry? 我們必須去100%Cloud Foundry嗎?或者有什麼方法可以讓我們在開始時保持雙向(Cloud Foundry + 3/5物理服務器)? 我的猜測是一個很大的問題,但你的答案對我來說可能非常有趣。

我的第二個問題是與以前的有點相關: 如何處理MySQL數據庫? 我們是否應該爲Cloud Foundry提供全部100%的MySQL服務? 或者我們可以保留現有的那一刻嗎?

最後,我的第三個問題與之前的相關: 我們是否也必須將conf程序製作成Cloud Foundry應用程序,才能使用PHP應用程序? 我們是否可以將其保留在物理服務器上,並仍然將其用作服務/服務代理?

如果您有遷移現有應用程序以及如何管理轉換的示例,那麼我將對此感興趣! 在此先感謝!

回答

0

但沒有API,直接連接)和另一個應用程序來檢索MySQL憑據。 (PHP應用程序> conf應用程序連接到MySQL> MySQL)

我不完全明白你在這裏說什麼。我想我仍然可以回答你的問題,但如果你有問題需要進一步解釋。

我的第一個問題:是否可以說,保留3臺物理服務器並開始在Cloud Foundry上使用該應用?

是的。您需要弄清楚的問題是,您將如何將流量路由到這兩個應用,以便您的最終用戶不知道其中的差異。

您的應用程序前面已經有一個負載均衡器,所以有一種可能性可能是將該負載均衡器配置爲讓Cloud Foundry具有適用於您的應用程序的後端服務器之一(更具體而言是CF配置器)。然後,您可以使用LB來配置在獨立服務器上運行的應用的流量百分比,以及運行在CF上的應用的百分比。

另一個問題是會話,假設你的應用使用它們。如果您尚未使用Redis/Memecached,可能需要使用會話存儲。我想你可以使用粘性會話,但這不會是一個好的解決方案。好消息是CF上的PHP構建包支持在Redis和Memcache中存儲會話,只要您可以在獨立服務器上配置類似的設置,這真的不應該成爲問題。

的Cloud Foundry不允許我們有服務器的X量,但是當需要/被叫(無限制)應用程式,而有一個實例

並非完全如此。用CF你可以部署一個應用程序。該應用程序默認情況下會有一個實例,但您可以擴展到平臺支持的實例數量。

應用情況大致關聯到獨立的服務器或虛擬機,但主要區別是,許多應用實例可以在同一個VM(它們在不同的容器上的迭單元上運行的虛擬機)上運行。關於這種差異的主要注意事項是,在獨立環境中,應用程序可能會有100%的可用RAM。在CF上,您的應用程序實例將只獲得您配置的RAM,並且它將共享CPU訪問(CPU共享基於分配的RAM數量)。

我們怎樣才能再開始用輕輕Cloud Foundry的?

見上文第一個問題。

難道我們還要去100%的Cloud Foundry?

還是有我們可以保持在一開始(的Cloud Foundry + 3/5物理服務器)兩種方式的方法嗎?

查看上面的第一個問題。

我的第二個問題是與以前有點相關:如何處理MySQL數據庫?我們是否應該爲Cloud Foundry提供全部100%的MySQL服務?或者我們可以保留現有的片刻嗎?

你不必做任何事情真的。只要您的網絡允許,CF上的應用程序就可以與在獨立服務器上運行的應用程序交談相同的數據庫和基礎架構。

事情要檢查以確保:CF &您的數據庫和CF上的安全組(防火牆控制出站網絡訪問)之間的防火牆訪問。

最後,我的第三個問題涉及到以前的問題:我們是否也必須將conf程序製作成Cloud Foundry應用程序,才能使用PHP應用程序?我們是否可以將其保留在物理服務器上,並仍然將其用作服務/服務代理?

相同的答案數據庫。只要有適當的網絡訪問權限(即正確的端口打開),您就不必移動conf應用程序。

希望有幫助!

+0

你好Daniel, 非常感謝你花時間回答我的問題! 你比你想象的更多地幫助了我! 我很高興知道我們可以開始在當前應用程序中使用CF,因爲我擔心CF過渡。 我更高興地知道,我們暫時不必將數據庫和conf應用程序遷移到CF。 再次感謝您的回答和您的時間! – simhamed

相關問題