web-dev-qa-db-ja.com

Azure App ServiceとAzure Service Fabric

Azure Service FabricアプリケーションとAzure App Serviceアプリケーションをいつ作成する必要があるかを説明するものを誰かが私に指示できますか?ビルドするアプリケーションがありますが、Azure Service FabricまたはAzure App Serviceを使用してビルドする必要があるかどうかを判断できません。

46

Microsoftは、Azure App Service、Virtual Machines、Service Fabric、およびCloud Servicesの比較で document を作成しました。また、役に立つかもしれません この決定 ツリー。

20
ivamax9

残念ながら、いつ何を使用するかについての公式なガイダンスはありません。これらは、異なる開発パラダイムに従っている2つの独立したプラットフォームです。

App Serviceは、Service Fabricがすぐに提供する機能を提供します。自動スケール、認証、レート制限、SaaSアプリケーションなどとの統合など)。これらの一部またはすべてが徐々にService Fabricに導入される可能性がありますが、彼らはさまざまな対象者を対象としています-経験の浅いチームは、App Serviceでの作業が簡単だと感じるかもしれません。

一方、Service Fabricは部品の構成を容易にします。たとえば、「従来の」アプローチでは、データストアとのやり取りを行うAPIを使用してデータストアへの攻撃を回避する場合、さまざまなフォールトトレランスシナリオを処理する必要があります。 Service Fabricを使用すると、キャッシュを信頼性の高いコレクションでAPIプロセス内に配置でき、外部キャッシュコンポーネントを用意する必要がなくなります。データはサービスと同じ場所に配置され(検索/編集が高速になります!)、サービスがデプロイされているすべてのノードに分散されるため、信頼性が高くなります。キューについても同様です。 API、ジョブサービス、およびそれらの間に位置し、それらが通信できるキューがあるワークフロータイプシステムを考える場合、3つの異なるコンポーネントとそれらの間の通信を管理する必要があります。 Service Fabricを使用すると、キューがアプリケーションに入ります。そして、それはその半分に過ぎません:)また、通常の同時実行性の頭痛を伴わずに、分散計算にアクターモデルを使用する能力も得られます。最後に、Service Fabricを使用すると、ローカルボックスでより完全な開発環境を使用できるという利点が得られます。Azuredevアカウントなどでキューを作成する必要はありません。

また、両方のパラダイムの使用を妨げるものは何もないことに注意してください-少なくとも1つがAPIとそれらの上にあるロジックアプリを公開するサービスファブリックアプリである2つのアプリを想像してください。

決定は、構築しようとしているもの、どれだけの時間、いつリリースするか(Service Fabricは現在プライベートプレビューのみであるため、GAに到達するまでしばらくお待ちください)あなたが持っているチーム。 App Serviceを使用すると、経験豊富なチームがなくても簡単に実行できるようになると思いますが、Service Fabricを使用すると、より強力で柔軟性と制御が得られます。

43
charisk

Appサービスはより管理されたサービスであり、SFはユーザー自身が管理するサービスであり、ユーザー自身の施設でも実行できます。 SFは、ネイティブアプリなど、MSスタック以外の開発をより適切にサポートします。

その文書にあるように「新しいアプリを作成するか、既存のアプリを書き換えてマイクロサービスアーキテクチャを使用する場合は、Service Fabricが適しています。」

いくつかのアプリをホストしている場合はSFを見てはいけません。一方、10を超えるサービスを展開する場合は、より良いソリューションになります。

また、SFには、サービスに含まれるデータストレージメカニズムがあることに注意してください。 3つのことが得意です1)大量のデータクラスター2)シンプルなデータ、多くの場合MicrosサービスDBでは、各サービスに独自のデータが必要であり、SQLのようなものは1〜3のテーブルしかない場合、少し過剰になります。 3)アクタープログラミングモデルの状態ストレージ。

SFとWebアプリは、将来「クラウドサービス」ユーザーベースを切り開くと思います。

3
user1496062

基盤となるインフラストラクチャをさらに制御したり、直接アクセスしたりする必要がある場合は、Service Fabricを使用します。

Webアプリに完全に管理されたホスティングプラットフォームが必要な場合は、App Serviceを使用します。

-ドキュメントに従って

0
Srs

(アプリが将来スケールアップする必要がある場合||マイクロサービスアーキテクチャでアプリを構築したい場合)Azure Service Fabric

それ以外の場合、Azure App Serviceは大丈夫です

0
sameer prabhu