この記事は機械翻訳されたものです。

Windows Azure の詳細

Windows Azure Web サイト: 迅速かつ簡単なサービスとしてのホスティング (機械翻訳)

Bruno Terkaly
Ricardo Villalobos

Bruno Terkaly and Ricardo VillalobosWindows Azure の Web サイト (それでも) は、マイクロソフトのクラウド プラットフォームの魅力的な機能です。それでもおよびクラウド アプリケーションをホストすることに関連付けられている拡張性タスクの展開、管理を簡素化するサービス (PaaS) フレームワークとして、Windows Azure プラットフォーム上に構築されているサービスです。これはそれでもちょうどもう一つの栄光のホスティング ソリューションだと思うができる場合は、再度と思います。何が異なるレベルのスケーラビリティと高可用性のそれを提供、PaaS コンポーネントから継承されたフェイル オーバー メカニズムと世界の複数のデータ センターによってバックアップです。また、Windows Azure プラットフォーム多くの追加機能と機能を超えてそれでも、彼らのニーズは、大きなデータ、アイデンティティ、モバイル サービスおよびサポートを含む成長するにつれ、アプリケーションを強化するために開発者が提供しています。

データ センターの展開モデル

表示分類図 1 パブリック データ センターにおける Web アプリケーションの展開に関連付けられている別のモデルを示しています。プラットフォームやベンダーに委任レイヤー数私たち用語インフラストラクチャ (IaaS) サービス、PaaS およびソフトウェアとしてサービス (SaaS) として区別することができます。

Taxonomy for Cloud Deployment Models
1 分類クラウド展開モデルを図します。

多くの層に一般的に委任されたレイヤーのカスタマイズのレベルを減少、簡単にオンラインでは、ソリューションの展開になる仕入先を委任します。Windows Azure は他のサービスと結合される IaaS、PaaS の展開モデルを提供企業が洗練され、非常にスケーラブルなクラウドのアーキテクチャを作成するを許可します。これに基づいて、我々 それでもを置くか?

あなたが Windows Azure の Web サイトを愛する

前述のとおり、それでもは、のみの展開スタックのアプリケーションとデータ層を維持することについて心配する必要を意味します、Windows Azure PaaS framework 上に構築します。Windows Azure によって提供される伝統的な PaaS のモデルと比較して大きな違いは、いくつかの展開と構成のタスクが大幅に簡略化されますです。これは、ストレージ バイナリ ラージ オブジェクト (Blob) とリレーショナル データベースはステートレス ワーカー ロールの組み合わせに基づいています、それでも、基になるプロビジョニング プロセスのおかげで可能です。

図 2 それでもをサポートするアーキテクチャを示しています。これは、Web アプリケーションをホストするため、マルチ テナント環境を提供するエレガントなと堅牢なアプローチです。それが働かせる方法は簡単です:

  1. クライアント http://foo.azurewebsites をホストするための要求になります。net します。
  2. 要求は、Windows Azure ネットワーク適切な展開に達することによってロード バランサー、行きます。
  3. アプリケーション要求ルーティング (ARR) モジュール foo.com についてランタイム データベースから情報を取得します、によって、Web サーバーをホストする必要がありますまたは Web サイトのホスティング現在を決定し、要求に対応する 1 つを転送します。
  4. 要求は、Web サーバーによって処理される、記憶域コント ローラーによってケース データの SQL Server の特定のインスタンスに到達する支援読み込みまたは書き込み対象です。
  5. 要求が処理された後、応答をクライアントに送信されます。

Windows Azure Web Sites Under the Hood
図 2 Windows Azure の Web サイト、フードの下で

各 Web サーバーの内部は、複数の W3WP.exe プロセス — またはサイト — ホスト、リソース消費、エラーおよびロギングを監督する特定のプロセスによって監視されています。また、動的 Web アクティベーション サービスは、サイトのアクティブ化と非アクティブ化、クォータの強制とアプリケーション ファイルの展開のための責任です。2 つの追加のコンポーネントは、画像を完了します。オートメーション目的インターフェイス API のフロント エンドを提供しながら展開サーバーは、FTP および Web 配置エンジンをホストします。

このアーキテクチャは、ほぼ瞬時の展開の経験では、必要がある場合にスケール アウトするオプションが提供するものです。

それでも考慮する多くの偉大な理由があります。1 つは、クライアント側マークアップおよび SQL Server と MySQL のデータベースへの組込みの接続性を含むスクリプトを実行このサービスの強力なサポートに提供することです。これは、バックエンド Web サービスとサーバー ロジックを実装する方法について心配する必要はありませんを意味します。それでもを考慮するもう一つの良い理由、上下忙しいとの両方回の最も静かで Web ユーザーをサポートするためにスケールするその能力です。

あなただけは何を使用するために支払うので、コストを低く抑えながら UX の応答性を提供できます。それでもサービスが継続的な開発手法もサポートしています­Git はクライアントでは、チーム Foundation Server (TFS) Bitbucket や CodePlex GitHub を使ってソース コード リポジトリから直接を展開できるように高。それは即座に新しいコードをアップロードまたは継続的にオンラインのリポジトリと統合することが可能です。プロビジョニングのモデルのおかげで、それでもサービス ワードプレス、Joomla の組み込みサポートを提供しています !、Drupal、DotNetNuke、Umbraco。これらのテンプレートは、それでもギャラリーでは、分類され、ブログ、コンテンツ管理、e コマース、フォーラムや wiki などがあります。

それを実質保つ

問題が簡単になります任意の技術とは常にトレードオフです。例えば、それでもサポートしていません、ステージング環境のテスト、またはネットワーク分離橋クラウド アプリケーションを社内ネットワーク (Windows Azure Connect または Windows Azure の仮想ネットワークを含む)。ただし、ユーザーはサービス バス リレー サービスを使用して企業のリソースとのギャップを橋渡しする選択できます。また、コンピューティング インスタンスには、リモート デスクトップを実行または展開時にオフのスタートアップ タスクをキックできません。そうであっても、それでも開発とカスタマイズの高レベルを必要としない Web アプリケーションの展開のための完璧なソリューションです。

手に

今すぐ簡単なチュートリアルを見てみましょう。我々 が行うように、クラウドについて新しい何かを学ぶ必要はありませんを実現するために開始されます。あなたは、ちょうどあなたが常が Web アプリケーションとそのデータの作成に集中できます。クラウドへの移行の詳細は、離れて摩擦のない展開エクスペリエンスを提供する、サービスによって抽象化されます。1996 年に建設し、それでもで実行同じ古典的な ASP コードを記述することもできます。

我々 はバック エンドとして SQL Server を使用して、シンプルで実用的な ASP.NET MVC 4 アプリケーションを作成することによって、それでもサービスの基本的な要素を探っていきます。この単純なアプリケーションは、作成、読み取り、更新および削除 (CRUD) 操作をサポートしてほとんどすべてのコードが必要になります。We're、それでもプロビジョニングと ASP.NET MVC 4 アプリケーションの構築を通じてときに、我々 は Web の配置から Visual Studio 2012 を使用して展開します。SQL データベースが唯一の費用である — ASP.NET MVC 4 を実行しているアプリケーションそれでも以内は無料です。最大 10 のサイトを無料期限なしで実行できます。

Visual Studio を起動し、MVC プロジェクトを作成します。

開始、管理者として Visual Studio 2012 を開き、[ファイル] |新しい |プロジェクト。インストールされているテンプレートから、ウェブを選択し、ASP.NET MVC 4 Web アプリケーションを選択します。MVCAzure.Website プロジェクトの名前を指定し、[ok] をクリックします (を参照してください図 3)。次に、プロジェクト テンプレートを選択する必要があります。インターネット アプリケーションは、ここを選択します。ビュー エンジンは、かみそりになります。

Creating a New ASP.NET MVC 4 Web Application Project
図 3 新しい ASP.NET MVC 4 Web アプリケーション プロジェクトの作成

最初にコードを作成する

コードの最初のアプローチは、SQL Server では Visual Studio で作成したクラスを基になるテーブルを定義することを意味します。ASP.NET MVC 4 app では、Visual Studio でソリューション エクスプ ローラー、いくつかクラス モジュールの [モデル] フォルダーを追加しますようにつまり図 4。クラス モジュールで定義されたプロパティは、SQL データベース テーブルの構造になります。このアプローチは C # のマッピングについて心配する必要はありません/Visual Basic リレーショナル データをオブジェクト構造のために生産的です。このオブジェクト リレーショナル マッピングを簡略化するには、エンティティ フレームワークを活用します。エンティティ フレームワークは、リレーショナル データベースとはるかに簡単対話になりますなオブジェクト リレーショナル マッパーです。複雑な SQL ステートメントではなく、オブジェクトで CRUD 操作を実行できます。

Adding a Class to the Models Folder
図 4 クラスのモデルのフォルダーに追加

開始するには、ソリューション エクスプ ローラーから [モデル] フォルダーを選択します。[プロジェクト] メニューから [クラスの追加を選択します。人のクラスを名します。次のプロパティ (これらのプロパティは SQL Server で Person テーブル内の列になります)、Person クラスに貼り付けます。

public class Person
{
  public int PersonID { get; set; }
  public string FirstName { get; set; }
  public string LastName { get; set; }
}

ASP.NET MVC 4 アプリケーションは、ビューとモデルの間のブリッジとして機能、コント ローラー クラスが必要です。UI としてビューのデータとモデルであると考えられます。追加、コント ローラーと Visual Studio は自動的に必要なビューのクラスを生成します。

コント ローラー クラスを追加する前に、しかし、適切な型情報は、将来の手順が必要、プロジェクトを追加は、ソリューションをビルドする必要があります。[ビルド] メニューから [ソリューションのビルドを選択します。ソリューション エクスプ ローラーで [コント ローラー] フォルダーを右クリックし、追加を選択します |コント ローラー。示す [コント ローラーの追加] ダイアログ ボックス図 5 が表示されますと足場オプションに次の値を設定する必要があります。

  1. テンプレートのドロップダウン リストでオプション MVC コント ローラーは、読み取り/書き込みアクションと Entity Framework を使用してビューを選択します。
  2. モデル クラスのドロップダウン リストで、Person クラスを選択します。
  3. データ コンテキスト クラス一覧では、< 新しいデータ コンテキスト... > を選択します。表示されるダイアログ ボックスでは、名前設定の人に­コンテキストと OK をクリックします。
  4. ビューのドロップダウン リストで、かみそりがオンになっていることを確認します。
  5. プロセスを完了するには、[追加] をクリックします。

Adding an MVC Controller Class図 5、MVC Controller クラスの追加

示すように足場 CRUD 操作を SQL Server データベースに対して実行することができますので、いくつかのファイルの追加で生じるすべての必要な Web の生成コント ローラーをプロジェクトに追加する図 6。PersonController クラスを開く場合は、作成、サポートすべてのアクション メソッドを参照してくださいすることができます編集、削除、および操作を一覧表示します。

図 6 ファイルの追加

コント ローラー フォルダー PersonController.cs
モデル フォルダー

Person.cs

PersonContext.cs

フォルダー ビュー/人

Create.cshtml

Delete.cshtml

Details.cshtml

Edit.cshtml

Index.cshtml

次のステップ — 展開

前述したように、Git または TFS、または FTP または Web 配置のような単純なツールなどの連続配信のフレームワークを使用して Web サイトを展開できます。この記事では、我々 は Web 配置から Visual Studio を使用しますが、Windows Azure トレーニング キットで展開方法論の残りのための情報を見つけることができます (bit.ly/Wb0EKZ)。

最初のステップは、Windows Azure 管理ポータルにログオンことです。これを行うには、90 日間試用版サインアップ bit.ly/azuretestdrive。アカウントを設定すると、この URL にログオンします。manage.windowsazure.com。ブラウザー ウィンドウの左側にある上の Web サイトのリンクをクリックします。次に、新たにクリックして |計算 |WEB サイト |簡易作成し、示すように、目的の URL を入力図 7。我々 は手段になる私たちのサイトでライブ msdnmagazine 使用 http://msdnmagazine.azurewebsites.net。また、地域を選択してください。

Quick Provisioning of a Windows Azure Web Site Deployment7 迅速なプロビジョニングの Windows Azure の Web サイト展開図します。

この時点で、あなたのサイトはほぼ準備があなたのコンテンツを展開するためです。プロビジョニング プロセスは、極めて速いです。一度は状態が「実行」、Web サイト名をクリックし、それを管理するために開始を読み取りますを参照してください。CPU 時間、要求データをデータで、HTTP サーバーのエラーが表示されますポータルでは、ダッシュ ボードもあります。

アプリケーションを配置するための重要なステップは、Visual Studio は、展開を実行に使用する設定を含む、公開プロファイル ファイルを取得します。お使いのブラウザーに応じてパブリッシュプロファイルのファイルをダウンロードする能力が与えられます。ローカルであなたが後で Visual Studio から使用できるようにコピーを保存する必要があります。

データベース サーバーを構成します。

ASP.NET MVC 4 アプリケーションを稼動することができます前に、データベースを構成するように必要図 8。リコールするので、このプロジェクトを作成し、リレーショナル データ構造の初期化に通常必要なすべてのデータ管理コマンドについて心配する必要はありませんを意味しますエンティティ フレームワーク コード最初のパラダイムを使用しています。エンティティ フレームワークこの面倒を見る。

Adding a Server to Host SQL Database図 8 にホスト SQL データベース サーバーを追加します。

[追加] をクリックすると、Windows Azure の SQL データベースの展開を検索したい地域と同様にログイン名とパスワードを提供する求められます。どこあなたそれでもが実行されている、レイテンシを最小化し、帯域幅の料金を避けるために、同じデータ センターを選択することを強くお勧めします。我々 の場合に、ログイン名は DBAdministrator です。後で接続文字列を作成する必要がある場合、またはリモートでする場合重要です。またサーバー名あなたのため準備されていることに注意してください (この例では ccek4yihqf です)。ポータルから詳細を取得するサーバーの名前をクリックすることができます (を参照してください図 9)。

図 9 サーバーの詳細

Server Name ccek4yihqf
サーバーの状態 Started
管理者ログイン DBAdministrator
[URL] https://ccek4yihqf.database.windows。net

ここで重要な目標は、特定の IP アドレスは着信接続のみを許可する、あなたのデータベース サーバーの情報を保護するためにです。画面の上部を構成する] をクリックします。[ルールを作成し、その IP アドレスから直接接続を使用してできます、現在の IP アドレスが表示されます。

Web を実行する展開 Visual Studio から

我々 は今それを展開して同時に我々 がちょうどプロビジョニング サーバーにデータベースの作成によってこのプロジェクトを完了する準備が整いました。Visual Studio に戻って、ビューを選択する |ソリューション エクスプ ローラー。MVC の右クリック­Azure.WebSite、発行を選択します。Web の発行] ダイアログ ボックスが表示されます。プロセス ウィザード ベースで、展開プロセスを大幅に合理化することができます、Visual Studio にパブリッシュプロファイルのファイルをロードする最初のステップです。どのようにリンク先 URL と Windows Azure の SQL データベース サーバーの場所を含む、Microsoft データ センター内のアプリケーションを配置したいについての情報を提供する、ASP.NET MVC 4 アプリケーションの公開プロフィールの詳細を指定するいくつかの手順を通じて行くよ。

ASP.NET MVC 4 アプリは使用最初設定] ダイアログ ボックスの左側にあるをクリックし、PersonContext、横の省略記号をクリックしてに示すように Windows Azure の SQL データベース サーバーを指定することができます図 10

Configuring the Database Connection図 10 データベース接続の構成

現在データベース サーバーを作成したとき、ポータルから受信した情報が必要です。私たちの場合、サーバーは tcp:siqxqgihiy.database.windows です。示すように net 図 11。我々 tcp サーバー名の前で変わらないことに注意してください。また、(我々 は以前のステップで DBAdministrator を入力) の管理者名とパスワードを入力する必要があります。

Connecting to the Server and Creating the Database図 11 サーバーへの接続とデータベースを作成します。

物理的に [ok] をクリックすると SQL データベース入力サーバーを作成します。このステップの確認を求められます。データベースを構築した後、[Web アプリケーションの発行] ダイアログ ボックスから発行を選択できます。まさに、展開時に場所を取っているを表示するには、ビューを選択することができます |Visual Studio の出力ウィンドウ。

アプリケーション全体は現在、終わって、そして私たちのバージョンで見つけることができます msdnmagazine.azurewebsites.net/Person。任意のコードを記述するにはほとんど注意してください — それは実用的で洗練された何かを達成するためにちょうど少数の分を取った。

展開後次は?

アプリケーションを展開した後、監視、スケーリング、または Web サイトをアップグレードなどのタスクを達成するために簡単です。最初のアプローチは、複数のデバイスからアクセスできる、使いやすいダッシュ ボードを提供します、Windows Azure ポータルを使用します。Windows Azure SDK のバージョン 1.8 から、それもこれらのタスクの一部を自動化することが可能です — 管理とアプリケーション設定の接続文字列を含む、インスタンスの数を変更または最新のログをダウンロード — Windows PowerShell コマンドレットまたは直接表象状態転送 (REST) API を使用して呼び出します。

まとめ

それでも、ほぼ瞬時に Web アプリケーションを展開する方法を与える — ほとんど、あるいはまったく雲の経験を持つ。要件の拡大には、Windows Azure クラウド技術キャッシュ、サービス バス、ストレージ、その他の付加価値サービスなどの他の側面を組み込むことができます。Windows Azure PaaS コンポーネントによってバックアップされた、スケーラブルで可用性の高い Web アプリケーションをクラウドでホストする簡単な方法はありません。Umbraco、DotNetNuke、Drupal、ワードプレスなどの既成のフレームワークを組み合わせて、これらの機能豊富な Web アプリケーションと Windows Azure プラットフォームのインフラストラクチャ タスクを委任する、データ リポジトリの構築に集中する開発者をできます。

Bruno Terkaly は、マイクロソフトの開発者エバンジェリストです。彼の深い知識は、多数のプラットフォーム、言語、フレームワーク、SDK、ライブラリ、および API を使用してコードを作成し、現場で長年の経験を積むことで得られたものです。コードの作成、ブログ、クラウド ベースのアプリケーション構築 (特に、Windows Azure プラットフォームの使用) に関するライブ プレゼンテーションに携わっています。

Ricardo Villalobos は、経験豊かなソフトウェア アーキテクトとして、サプライ チェーン管理業界の企業用アプリケーションを 15 年以上にわたって設計および作成しています。さまざまな技術認定資格の保持者であり、ダラス大学で経営管理の修士号を取得しています。彼はマイクロソフトの Windows Azure CSV 開発支援グループのクラウド アーキテクトを務めています。

この記事のレビュー、次技術専門家のおかげで: Nir Mashkowski