Azure WebサイトとAzure Webロールの違いは何ですか


241

ASP.NET MVCアプリケーションの新しいAzure Webサイトと従来のAzure Webロールの重要な違いは何ですか?「Webロール」よりも「Webサイト」を選択する理由は何ですか?

どちらの場合も同じ容量が必要だと仮定しましょう(例:2つの小さなインスタンス)。価格は、プレビュー期間中のWebサイトの一時的な割引が33%であるという事実を除いて、同等のようです。

「Webサイト」でできること、Webの役割では困難または不可能なことはありますか?たとえば、「Webサイト」を使用して、単一のVMセットに複数のWebサイトを配置することが容易になりますか?「Webサイト」と「Webロール」で何かを失うことはありますか?IISを微調整する機能?キャッシュサービスをローカルで使用できますか?


同じqsを持っていた 彼らは本当にドキュメントでそれを明確にすべきです。
90abyss 2016年

回答:


213

Webロールは、Webアプリ(以前のWebサイト)以外のいくつかの機能を提供します。

  • 昇格した起動スクリプトを実行して、アプリのインストール、レジストリ設定の変更、パフォーマンスカウンターのインストール、IISの微調整などを行う機能。
  • アプリを階層に分割し(フロントエンドにはWebロール、バックエンド処理にはワーカーロール)、独立してスケーリングする機能
  • デバッグ目的でVMにRDPする機能
  • ネットワークの分離
  • 専用の仮想IPアドレス。これにより、クラウドサービスのWebロールインスタンスがIP制限のある仮想マシンにアクセスできるようになります。
  • ACL制限付きエンドポイント(Azure SDK 2.3で追加、2014年4月)
  • すべてのTCP / UDPポートのサポート(WebサイトはTCP 80/443に制限されています)

ただし、WebアプリにはWebロールよりも利点があります。

  • 配備履歴/ロールバックによるほぼ瞬時の配備
  • Visual Studio Online、github、ローカルgit、ftp、CodePlex、DropBox、BitBucket展開サポート
  • 多数のCMSおよびフレームワーク(WordPress、Joomla、Django、MediaWikiなど)のいずれかをロールアウトする機能
  • SQLデータベースまたはMySQLの使用
  • 無料の階層から共有の階層、専用の階層へのシンプルで高速な拡張
  • Webジョブ
  • Webサイトのコンテンツのバックアップ
  • 組み込みのWebベースのデバッグツール(シンプルなcmd / powershellデバッグコンソール、プロセスエクスプローラー、ログストリーミングなどの診断ツールなど)

2014年4月と2014年9月のロールアウトに伴い、WebアプリとWebロール(およびワーカーロール)の両方に共通する以下の機能が追加されました。

  • ステージング+本番スロット
  • ワイルドカードDNS、SSL証明書
  • Visual Studioの統合
  • Traffic Managerのサポート
  • 仮想ネットワークのサポート

これは、Webサイトのギャラリー選択フォームから取得したスクリーングラブです。 ここに画像の説明を入力してください

Webアプリは、共有リソースから予約済みリソースに移行できる、迅速に稼働するための優れた方法だと思います。これを超えると、Webロールに移動し、必要に応じて拡張できます。


Git + ftpのほかに、PublishSettings(たとえば、WebMatrix 2でも使用できます)
Kris van der Mast

18
階層に分割することは、差別化要因ではありません。Webサイトでワーカーロールを使用できます。
RickAndMSFT

4
層について:Webサイトは仮想ネットワークをサポートしていないため、Webサイトでは外部エンドポイントを介してワーカーに接続する必要があります。さらに:コードを複数のデプロイメント(1つはWebサイト用、もう1つはワーカーサービス付きのクラウドサービス用)に分割する必要があります。クラウドサービスを使用すると、コードを簡単にスケーラブルな階層に分割し、各階層の内部通信を行いながら、各階層を個別にサイズ設定およびスケーリングできます。これは、階層をクラウドサービス(ウェブ/ワーカー)の差別化要因として指摘するときに私が言ったことです。
デビッドマコゴン2013年

1
これは、stackoverflow.com / a / 10960755/56145に比べて少し古くなっていますか?
Matt Kocaj 2013年

2
Webロールを使用すると、同じVMでバックグラウンド処理を実行することもできます
Boris Lipschitz

44

編集2014:それの価値については、この回答の情報の多くはもはや正しくありません-コメントを参照してください。

@David応答にさらに追加します。

Windows Azure Webサイトでは、同じマシン上で数百の他のWebサイトと共にリソーススライスを使用しているため、IISまたはWebサーバーを制御できません。他のWebリソースと同じようにリソースを共有しているため、IISを制御できません。

Webサイト共有とAzure Webロールの大きな違いは、Webサイトはプロセスがバインドされていると見なされ、ロールはVMがバインドされていることです。

Webサイトは、ファーム内のすべての "Webサーバー"からアクセスできるコンテンツ共有に保存されるため、レプリケーションなどは必要ありません。

Windows Azure Webサイトは独自のホスト名を持つことはできません。代わりに、websitename .azurewebsites.netのみを使用する必要があります。DNSプロバイダーのCNAME設定を使用して、予約モードで実行されている場合にのみ、以前のWindows Azureロールとまったく同じようにリクエストをルーティングできます。 。CNAME設定は、共有Webサイトではサポートされていません。


AFAIK WebRolesも独自のホスト名を取得しません-それらはすべてrolename.cloudapp.netです。知らない機能がない限り?
Brian Reischl、2012年

DNSを使用して、www.yourdomain.comからwebsitename.azurewebsites.netを指すCNAMEエイリアスを作成できませんか?
Bernard Vander Beken 2012年

WA Webサイトでは、予約済みインスタンス(専用VM)で実行されているアプリのみが、カスタムドメインをそれらにマッピングできると思います。
user94559

私は最近、scottguが共有インスタンスのカスタムドメインもサポートすることを検討していると述べたと思います。
jeremy、2012

19
価値があるのは、この回答の多くの情報が正しくないことです(2012年6月の時点ですが)。Webサイトにカスタムドメインを設定できるようになりました。Webサイトは「予約済み」モードで実行できます。これは基本的にVMですが、完全に管理されます。
Jay Querido 2013

34

この件に関する包括的なブログ投稿をhttp://robdmoore.id.au/blog/2012/06/09/windows-azure-web-sites-vs-web-roles/に投稿しました。

私の結論からの抜粋:巨大なスケール、SSL、アジアまたは米国西部のデータセンター、非標準構成(IIS、ポート、診断、セキュリティ証明書または起動スクリプト)、RDPまたは費用対効果の高いワーカーロール( Webロールと組み合わせると、今のところWebロールに固執する必要があります。

それ以外の場合、Webサイトは優れたオプションです。


14

Azure Webロールは、仮想プライベートホストのようなものです。Webサーバーとして機能するVMを取得し、そのVMインスタンスを所有します。

Azure Webサイトは、柔軟な共有ホスティングサービスのようなものです。あなたが管理しておらず、他のユーザーのサイトも管理しているウェブサーバーにアプリをデプロイします。リソースのニーズの変化に応じて、サイトを(ある程度の追加料金で)拡大または縮小して、より柔軟にすることができます。


6

放送中のシナリオがもう1つあります。これらの500の例外が排除された後、Azure WebサイトがワイルドカードCNAMEを処理する機能については何も言われていません。クラウドサービスでNateのWeb Role Acceleratorを使用している人もいます。Nateのソフトウェアにワイルドカードサブドメイン機能が1行で提供されているためです。これらのワイルドカードサブドメインアプリは、Azure Webサイトで処理できるようになるまで移動できません。それを行うことができない場合は、方程式のWebロール側でポジティブとして低下します。また、価格はまったく同じです(プレビュー割引の有効期限が切れた後)ので、RDCとイベントビューアーへのアクセスを断念したいのかわかりません(2点だけ言っておきます)。


6

Azure WebサイトAzureでスケーラビリティの高いWebサイトをすばやく構築できます。Azure Portalまたはコマンドラインツールを使用して、.NET、PHP、Node.js、Pythonなどの一般的な言語でWebサイトをセットアップできます。サポートされているフレームワークはすでにデプロイされており、追加のインストール手順は必要ありません。Azure Webサイトギャラリーには、DrupalやWordPressなどの多くのサードパーティアプリケーションや、DjangoやCakePHPなどの開発フレームワークが含まれています。サイトを作成したら、既存のWebサイトを移行するか、完全に新しいWebサイトを構築できます。Webサイトは、物理ハードウェアを管理する必要をなくし、いくつかのスケーリングオプションも提供します。共有マルチテナントモデルから、専用マシンが着信トラフィックを処理する標準モードに移行できます。Webサイトでは、他のAzureサービスと統合することもできます。SQLデータベース、サービスバス、ストレージなど。Azure WebJobs SDKプレビューを使用して、バックグラウンド処理を追加できます。要約すると、Azure Webサイトは、幅広い言語、オープンソースアプリケーション、および展開方法(FTP、Git、Web配置、またはTFS)をサポートすることで、アプリケーション開発に集中しやすくします。クラウドサービスや仮想マシンを必要とする特別な要件がない場合は、Azure Webサイトが最も適していると考えられます。

クラウドサービスリッチなサービスとしてのプラットフォーム(PaaS)環境で高可用性でスケーラブルなWebアプリケーションを作成できます。Webサイトとは異なり、クラウドサービスは、Azureにデプロイされる前に、まずVisual Studioなどの開発環境で作成されます。PHPなどのフレームワークでは、ロールの起動時にフレームワークをインストールするカスタムのデプロイメント手順またはタスクが必要です。クラウドサービスの主な利点は、より複雑な多層アーキテクチャをサポートできることです。単一のクラウドサービスは、フロントエンドWebロールと1つ以上のワーカーロールで構成できます。各層は個別にスケーリングできます。また、Webアプリケーションインフラストラクチャの制御レベルが向上します。たとえば、ロールインスタンスを実行しているマシンにデスクトップをリモートできます。

仮想マシンAzureの仮想マシンでWebアプリケーションを実行できるようにします。この機能は、サービスとしてのインフラストラクチャ(IaaS)とも呼ばれます。ポータルから新しいWindows ServerまたはLinuxマシンを作成するか、既存の仮想マシンイメージをアップロードします。仮想マシンを使用すると、オペレーティングシステム、構成、インストールされているソフトウェアとサービスを細かく制御できます。マシンは全体として移動できるため、これは複雑なオンプレミスWebアプリケーションをクラウドに迅速に移行するのに適したオプションです。仮想ネットワークを使用すると、これらの仮想マシンをオンプレミスの企業ネットワークに接続することもできます。クラウドサービスと同様に、これらのマシンへのリモートアクセスと、管理レベルで構成変更を実行する機能があります。ただし、Webサイトやクラウドサービスとは異なり、仮想マシンイメージとアプリケーションアーキテクチャをインフラストラクチャレベルで完全に管理する必要があります。基本的な例の1つは、オペレーティングシステムに独自のパッチを適用する必要があることです。

このリンクから更新された包括的な比較を参照してください:http : //azure.microsoft.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/


4

Azure Webサイト、Webワーカー、仮想マシンは、Windows Azureで利用できる3つの異なるコンピューティングアプローチです。それらは、制御と責任のレベルが異なります。

  • Azure Webサイトは最も低いレベルの制御ですが、Azureスタッフがこれを行うため、正常性仮想マシンとIISを維持する必要はありません。
  • Webロールはより多くの制御(トラフィックマネージャー、リモートデスクトップ)を提供しますが、たとえば、リモートデスクトップを介して何かを壊すことができることを意味する、より多くの管理が可能です。
  • 仮想マシンはVMの完全な制御を提供するため、最も多くの管理作業が必要です。

最適な選択は1つではありません。それは、必要な制御レベル、必要な機能、Azureに残したいものに依存するためです。そして、それは大きな話題です。

より多くの情報に基づいた選択を行うための詳細については、この記事をご覧ください。

つまり、使いやすさと機能のトレードオフです。


3

カスタムドメインサイトとマルチテナント構成でSSLを取得するコストがさらに2つありました。

ウェブサイトの場合、標準インスタンスに加えて毎月支払う必要があります(小さいインスタンスが最も安いオプションです)。つまり、カスタムドメインhttpsを取得するには、小さなインスタンスの場合は月額約70ドル、すべてのブラウザをサポートするSSLの場合は月額約41ドルかかります。

WebRoleの場合、XSインスタンスを取得して独自のSSLを無料で追加できます。つまり、月額約15ドルで、SSLを使用したカスタムドメインがあります。

マルチテナントWebサイトについては、マルチテナントAzureダイナミックワイルドカードCNameを確認してください。


1

Webロールは、複数のWebサイトをホストする仮想マシンです


2
正確ではありません。あなたはできるウェブ役割で複数のWebサイトをホストするが、彼らはWindows Serverの仮想マシンをしているので、ウェブの役割は、はるかにそれを越えて行きます。Webサイトをまったく実行せず、バックグラウンドタスク、RESTエンドポイント、データベースサーバーなどを実行するように選択できます(IISを使用する必要はなく、無効にすることもできます)。また、それらはステートレスであり、拡張が非常に簡単であることを忘れないでください。
デビッドマコゴン2013年

@DavidMakogonつまり、Webロールは実際にいくつかのタスクを実行しますが、HTTPプロトコルを使用するため、「WEB」ロールと呼ばれ、このプロトコルをサポートするため、Webサイトもサポートしますが、それは主要な目的ではありませんなど?
Aditya Bokade 16

@AdityaBokade詳細を読み込もうとしないでください。名前はAzureが最初に起動されたときの遺物であり、Webロールが外部向けアプリケーションをホストする唯一の方法でした(ワーカーロールには外部エンドポイントがなく、他には何もありませんでした- VMではなく、Webアプリではありません)。Web(およびWorker)ロールはステートレスのWindows仮想マシンであり、コードと起動スクリプト用の特別なパッケージがあります。これは、httpのサポートによって定義されていません。http、tcp、udp、または何も経由せずに外部リソースと通信できます。これですべてです。
David Makogon

0

これはよくある質問です。msdnからの抜粋をお送りします。

キャッシュ、サービスバス、ストレージ、SQL Azureデータベースなどのサービスへのアクセス-Webサイト:ありWebRole:あり

ASP.NET、クラシックASP、Node.js、PHPのサポート-Webサイト:はいWebRole:はい

共有コンテンツと構成-WebSite:Yes WebRole:No

GIT、FTPを使用してコードをデプロイする-Webサイト:はいWebRole:いいえ

ほぼ瞬時の展開-Webサイト:はいWebRole:いいえ

統合されたMySQL-as-a-serviceサポート-Webサイト:はいWebRole:はい

複数のデプロイメント環境(本番およびステージング)-WebSite:No WebRole:Yes

ネットワーク分離-Webサイト:いいえWebロール:はい

サーバーへのリモートデスクトップアクセス-WebSite:No WebRole:Yes

昇格されたアクセス許可でプログラムを実行する機能-Webサイト:いいえWebロール:はい

起動タスクを定義/実行する機能-WebSite:No WebRole:Yes

サポートされていないフレームワークまたはライブラリを使用する機能-WebSite:No WebRole:Yes

Windows Azure Connect / Windows Azure Networkのサポート-Webサイト:いいえWebRole:はい

詳細については、次のリンクにアクセスしてください。http//blogs.msdn.com/b/silverlining/archive/2012/06/27/windows-azure-websites-web-roles-and-vms-when-to -use-which.aspx

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.