2017-02-13 35 views
0

好吧,所以我想以一種允許每個組織獲得他們自己的實例的方式構建我的應用程序。爲每位客戶部署我的應用程序實例?

我在這裏的思考方式是,我可以在AWS或數字海洋或其他任何地方做一些事情,每當新客戶向我們註冊他們的公司時,部署我的java(dropwizard)應用程序。

這將是虛擬化,我會希望,所以我會讓這些實例在各種虛擬服務器上運行。

基本上,當一個公司註冊......我想旋轉起來的核心API的實例,以及數據庫服務器的實例(或兩者可能是一個實例,在這裏,我猜)

這是一件事嗎?我會谷歌它,但我不完全確定要尋找什麼!

我知道這不是一個dropwizard問題 - 但我這樣標記它是因爲它是我正在構建的一個dropwizard應用程序 - 我認爲該社區中的人可能有類似的擔憂!請隨意編輯!

回答

0

您需要使用CloudFormation,Ansible,Terraform,Chef,Puppet等類似的東西來自動化一個環境。這個空間中有很多工具。這些工具被稱爲基礎結構作爲代碼(IaC)。一旦你擁有了自動化功能,爲新客戶建立一個新環境將是一個簡單的任務,可以啓動相應的腳本。

+0

真棒,感謝您的信息 - 此外,你知道是否有辦法做到這一點,所以它不是每個客戶的實例,但更像是它會旋轉數據庫和服務器的額外實例如果流量很高?並在交通不便時把它們旋轉下來?並保持數據同步? – MickeyThreeSheds

+0

您可以根據需要使用AutoScaling組和Elastic Load Balancer來處理啓動的Web服務器,並在不需要時關閉它們。如果你想保持客戶之間的環境隔離,你也可以考慮使用Docker容器和ECS服務。 數據庫要求更難以擴展,解決方案將取決於您使用的確切數據庫引擎。如果可能,請考慮使用AWS Aurora作爲數據庫。 –

+0

嘿 - 粘貼其中的一條評論作爲答案,以便我可以將其標記爲正確的答案! :) 謝謝! – MickeyThreeSheds

相關問題