Web-Server

我的公司應該如何將其產品(業務線 MVC 應用程序)引入雲?

  • February 5, 2015

我是一家小公司最近聘用的初級軟體工程師,該公司開發並向特定業務領域的中小型企業客戶銷售普通的客戶端/伺服器 MVC 應用程序。(我不願透露具體細節。)傳統上,該平台作為物理伺服器出售,但最近管理層決定我們應該嘗試將我們的平台作為雲應用程序出售,我們在其中處理內部託管。我認為這是個好主意。無論如何,我們通常會處理我們銷售的伺服器的管理,這只會讓我們對它進行更精細、更容易批處理的控制。整合硬體也可以讓我們顯著降低產品成本。

關於在雲環境中實施我們的平台的最佳方法存在一些爭論。我們銷售的物理伺服器通常被分割成幾個單獨的作業系統實例,每個實例處理 MVC 應用程序中涉及的單獨問題。已經提出了兩種雲實現:

  1. 有人建議我們以與物理伺服器相同的方式劃分整個雲伺服器,並將許多客戶端的 MVC 應用程序拆分為幾個 OS 實例(例如,客戶端 A 和客戶端 B 在處理模型的 OS 實例上各有一個單獨的數據庫,客戶端 A客戶端 B 將各自在處理控制器的作業系統實例上執行一個單獨的 API,等等)。感知到的好處包括顯著降低硬體要求和完全隱藏對客戶端的平台硬體管理(包括專用系統資源)的能力。
  2. 其他人建議每個客戶端的平台是雲伺服器的定義和單獨的部分。然後客戶端的切片可能會以與我們的物理伺服器相同的方式劃分為幾個作業系統實例,但在此實現中並沒有嚴格執行。感知到的好處包括為我們客戶的 MVC 應用程序提供更安全的環境(例如,如果每個客戶都有一個單獨的伺服器,並且定義了硬體限制,那麼客戶做一些意想不到的事情來影響其他客戶的穩定性和/或性能將變得更加困難。應用程序)。

在我看來,第二種選擇是一條更明智的路線,並且更接近於傳統的“基於雲”的方法。我還擔心第一個選項的感知性能優勢可能被誇大了。支持者認為,更少的作業系統實例將需要更少的記憶體(我沒有異議),並且致力於單獨關注的伺服器可以調整到它們的特定任務(我認為這部分被誇大了,特別是當每個作業系統實例將處理n次我們習慣的資源)。在我看來,減少所有這些作業系統實例的記憶體佔用的更合理的方法是在單個作業系統實例中執行每個客戶端的整個 MVC 應用程序。但是,我的經驗很少,希望這裡有人可以就此事提供一些建議。

如果我的問題過於模糊或超出交流範圍,我提前道歉,並提前感謝您的任何回复。

你的問題有點籠統,但是…

傳統上,該平台作為物理伺服器出售,但最近管理層決定我們應該嘗試將我們的平台作為雲應用程序出售,我們在其中處理內部託管。

我有點擔心“內部託管”這個詞。如果您的意思是在數據中心託管或租用伺服器,那是一回事,但如果您的意思是“我們想購買一堆便宜的伺服器並將它們放在我們辦公室的壁櫥裡”,那麼我建議不要這樣做。您的使用者完全可以接受的基礎設施,因為小公司可能無法為您的使用者充分擴展。

至於您的兩種雲實現模型,我認為這取決於您的應用程序。我認為我沒有足夠的資訊來做出明智的回應。

引用自:https://serverfault.com/questions/665205