2017-02-13 5 views
0

私は各組織が独自のインスタンスを取得できるようにアプリケーションを構築したいと考えています。私のアプリケーションのインスタンスをすべての顧客に展開しますか?

私の考え方は、新しいクライアントが会社を登録するたびに、AWSやデジタル海洋などでjava(dropwizard)アプリケーションを配備することができるということです。

これは仮想化されていますが、私はこれらのインスタンスをさまざまな仮想サーバー上で実行させることを望んでいます。基本的には

、企業が登録したとき...私は(私が推測する、または2つのインスタンスが、ここにすることができる)コアAPIのインスタンスをスピンアップしたい、とDBサーバのインスタンスでしょう

これは事ですか?私はそれをgoogleするが、私は完全に何を探しているか分からない!

私はdropwizardに関する質問ではないことを知っていますが、私が作成しているdropwizardアプリケーションであるため、このようにタグ付けしました。気軽に編集してください!

答えて

0

CloudFormation、Ansible、Terraform、Chef、Puppetなどを使用して環境をスピンアップするプロセスを自動化する必要があります。このスペースには多くのツールがあります。これらのツールは、IaC(Infrastructure as Code)と呼ばれています。一度それを自動化すると、新しい顧客のための新しい環境を設定することは、適切なスクリプトを開始する簡単な作業になります。

+0

素晴らしいとありがとうございます。さらに、それを行う方法があるかどうか知っていますか?それは顧客ごとのインスタンスではありませんが、DBとサーバーの余分なインスタンス交通量が多い場合は?交通量が少ないときにそれらを回転させますか?データを同期させたままにしますか? – MickeyThreeSheds

+0

AutoScaling GroupsおよびElastic Load Balancerを使用して、必要に応じてWebサーバーをスピンアップし、不要になったときにシャットダウンすることができます。顧客間で環境を隔離したい場合は、DockerコンテナとECSサービスの使用方法を調べることもできます。 データベースは要求に応じて拡張するのがはるかに難しく、ソリューションは使用している正確なデータベースエンジンに依存します。可能であれば、AWS Auroraをデータベースとして使用してください。 –

+0

これらのコメントの1つを以下の回答に貼り付けてください。これを正しい答えとしてマークすることができます! :)ありがとう! – MickeyThreeSheds

関連する問題