フロントエンドロジックをバックエンドロジックから分離し、個別に展開することには多くの利点があります。コード
最初の大きな理由の
分離は、物事を行うこの方法は、あなたのデザイン(フロントエンド)からビジネス・ロジック(あなたのAPI)を分離することを可能にするということです。
両方のプロジェクトを別々のGitリポジトリに保存することができます。エンジニアを悩ますことなく、デザイナーにフロントエンドプロジェクトのアップデートを自由に送信できます。
単一のモノリシックプロジェクト(Elastic Beanstalkなど)でこれを行うことは、デザイナーがエンジニアリングチームを通じてコードを繰り返し処理する必要があるため、ほとんど不可能です。
デプロイメントの分離
Webサーバーが遅いです。 S3のようなファイルサーバーは高速です。彼らが高速である理由は、ファイルサーバーからファイルにアクセスするための「コード」がないことです。ファイルがダウンロードされているだけです。
たとえば、EC2インスタンスから提供される単一のモノリシックWebアプリケーションがある場合、ページを表示するには、そのHTMLを生成するためにコードを実行する必要があります。
ただし、フロントエンドコードをS3にデプロイすると、そのファイルをWebブラウザで直接ダウンロードすることができます。
PROTIP:あなたのS3ウェブサイトをCloudFront(CDN)の背後に置くことで、世界各地の複数のデータセンターにキャッシュされたコピーを保管することで、ウェブサイトのスピードアップを図ることもできます。
迅速な反復
あなたのプロジェクトが分離され、個別に展開している
、あなたがより速く反復することができます。
フロントエンドチームがウェブサイトでバグを見つけたとします。エンジニアリングを行わずに修正プログラムを簡単にパッチ/リリースすることができます。
同じことがあなたのエンジニアの本当である - 彼らは今、コアアプリケーションロジックの構築に集中するより多くの時間を持っている、とUIの変更を気にすることなく修正を展開することができ、など
よりシンプルな製品のロジック
説明したように物を個別にデプロイすると、バックエンドロジックを簡略化できるという利点もあります。
コアエンジニアにAPIを作成させ、フロントエンドの心配を気にせずに済ませれば、そうでない場合より大幅に迅速にアップデートを出荷できます。
S3を使用して静的ファイルを提供することを検討する理由は次のとおりです。http://stackoverflow.com/a/732007/902751主に、スケーラビリティ、信頼性、スピード。 – spg