2017-01-04 8 views
2

静的なデータとWeb APIを静的なs3 WebサーバーとapiのBean StalkアプリケーションとWebサイトを作成するec2 Webサーバーに分離するこのリンクが見つかりました。チャールズの答えは正確です.CORSは、2つのドメイン間を移動することでどのように問題に取り組むかです。S3を静的Webページとして、EC2をREST APIとして一緒に使用しますか? (AWS)

How to use S3 as static web page and EC2 as REST API for it together? (AWS)

あなたがこれを行うだろう、なぜ私が持っている質問はありますか?

私の考えのいくつかは以下のとおりです

利点 - 私たちは、APIのWebサーバーとしてノードを使用して、このノードのプロセスの負担を軽減します。

それはそれです。単にソフトウェアの更新CORS のすべて

を追加しました複雑さは より複雑でそれを行うにはビーンストークを使用していないの

短所あなたは、私が

ない静的なデータの深刻な量を持っていない限り、やり過ぎのように思えます

別の利点がありません

+0

S3を使用して静的ファイルを提供することを検討する理由は次のとおりです。http://stackoverflow.com/a/732007/902751主に、スケーラビリティ、信頼性、スピード。 – spg

答えて

4

フロントエンドロジックをバックエンドロジックから分離し、個別に展開することには多くの利点があります。コード

最初の大きな理由の

分離は、物事を行うこの方法は、あなたのデザイン(フロントエンド)からビジネス・ロジック(あなたのAPI)を分離することを可能にするということです。

両方のプロジェクトを別々のGitリポジトリに保存することができます。エンジニアを悩ますことなく、デザイナーにフロントエンドプロジェクトのアップデートを自由に送信できます。

単一のモノリシックプロジェクト(Elastic Beanstalkなど)でこれを行うことは、デザイナーがエンジニアリングチームを通じてコードを繰り返し処理する必要があるため、ほとんど不可能です。

デプロイメントの分離

Webサーバーが遅いです。 S3のようなファイルサーバーは高速です。彼らが高速である理由は、ファイルサーバーからファイルにアクセスするための「コード」がないことです。ファイルがダウンロードされているだけです。

たとえば、EC2インスタンスから提供される単一のモノリシックWebアプリケーションがある場合、ページを表示するには、そのHTMLを生成するためにコードを実行する必要があります。

ただし、フロントエンドコードをS3にデプロイすると、そのファイルをWebブラウザで直接ダウンロードすることができます。

PROTIP:あなたのS3ウェブサイトをCloudFront(CDN)の背後に置くことで、世界各地の複数のデータセンターにキャッシュされたコピーを保管することで、ウェブサイトのスピードアップを図ることもできます。

迅速な反復

あなたのプロジェクトが分離され、個別に展開している

、あなたがより速く反復することができます。

フロントエンドチームがウェブサイトでバグを見つけたとします。エンジニアリングを行わずに修正プログラムを簡単にパッチ/リリースすることができます。

同じことがあなたのエンジニアの本当である - 彼らは今、コアアプリケーションロジックの構築に集中するより多くの時間を持っている、とUIの変更を気にすることなく修正を展開することができ、など

よりシンプルな製品のロジック

説明したように物を個別にデプロイすると、バックエンドロジックを簡略化できるという利点もあります。

コアエンジニアにAPIを作成させ、フロントエンドの心配を気にせずに済ませれば、そうでない場合より大幅に迅速にアップデートを出荷できます。

+1

この詳細な説明をありがとうございます。それは非常に有用であり、よく述べられていました。 – CKIsLearning

関連する問題