David CheppelのAzureサービスプラットフォーム翻訳パート1

翻訳の第二部

プラットフォームの概要。



多くの場合、クラウドでコンピューターを使用することは非常に良い考えです。 独自のハードウェアを購入して保守する代わりに、インターネットを介して現在利用可能で提供されている大量のサーバーを使用してみませんか? 一部のアプリケーションでは、コードとデータの両方が、他の誰かが使用するシステムをサポートおよび保守するクラウドに存在できます。 その他の場合、組織内で動作するアプリケーション-オンプレミスアプリケーションは、クラウドにデータを保存したり、クラウドの別のインフラストラクチャを使用したりできます。 デスクトップまたはモバイルデバイスで実行されるアプリケーションは、クラウド内のサービスを使用して、異なるシステム間でデータを同期したり、他の目的に使用したりできます。



いずれにせよ、アプリケーションがクラウド自体で実行されるか、クラウドが提供するサービスを使用するか、またはその両方の場合、そのようなアプリケーションのプラットフォームのようなものが必要です。 より広く見ると、アプリケーションプラットフォームは、開発者がアプリケーションを作成するためのサービスを提供するすべてのものとして理解できます。 たとえば、ローカルWindowsの世界では、これには.NET Framework、SQL Serverなどのテクノロジーが含まれます。 アプリケーションがクラウドを使用するには、アプリケーション用のクラウドプラットフォームが必要です。 また、アプリケーションにはクラウドのさまざまな用途があるため、さまざまな状況でさまざまな種類のクラウドプラットフォームが役立ちます。



Microsoft Azureサービスプラットフォームはクラウドテクノロジーのグループであり、それぞれが開発者に特定のサービスセットを提供します。



図1では、クラウドで実行されているアプリケーションとローカルシステムで実行されているアプリケーションの両方でAzure Service Platformを使用できます。

Azureサービスプラットフォームスキーマ

図1. Azureサービスプラットフォームは、クラウドとローカルシステムの両方で実行されるアプリケーションをサポートします。



プラットフォームコンポーネントは、さまざまなバージョンのWindows、モバイルデバイスなど、さまざまなシステムで実行されているローカルアプリケーションで使用できます。これらのコンポーネントには次のものが含まれます。



プラットフォームの各コンポーネントは、独自の役割を果たします。 このレビューでは、まずすべてをまとめて高レベルで説明し、次にそれぞれを詳細に説明します。 どのコンポーネントもまだリリースされていませんが、詳細などは初期リリースの前に変更される可能性がありますが、この新しいプラットフォームに対処するのは時期尚早です。



Windows Azure


大まかに言うと、Windows Azureの理解は非常に簡単です。Windowsアプリケーションを起動し、これらのアプリケーションをクラウドに保存するためのプラットフォームです。 図2-その主要コンポーネント。

Windows Azureスキーム

図2 Windows Azureは、クラウドアプリケーションのデータを実行および保存するためのサービスを提供します。



この図からわかるように、Windows AzureはMicrosoftデータセンターにあり、インターネット経由でアクセスできる多数のマシンで実行されています。 Windows Azure Factoryは、このすべてのコンピューティングパワーを1つの全体に統合します。 Windows Azureストレージおよび実行サービスは、このファクトリーの上に構築されています。



Windows Azureランタイムサービスは、もちろんWindowsに基づいています。 最初の利用可能なバージョン(2008年秋にCTPが一般公開されました)では、Windows Azureで実行できるのは.Net Frameworkベースのアプリケーションのみです。 同社は、アンマネージコード、つまり、Windows Azureの.Net Framework上に構築されていないアプリケーションを2009年にサポートする計画を発表しました。



Windows AzureのCTPバージョンでは、開発者はASP.NETアプリケーションやWCFサービスなどの.Netベースのアプリケーションを作成できます。 これを行うために、Visual Studio 2008などの従来の開発ツールとC#または他の.Net言語を使用できます。ほとんどの開発者は、おそらくWindows Azureの初期バージョンを使用してWebアプリケーションを作成しますが、プラットフォームはバックグラウンドプロセスもサポートします。 Webパーツとは独立して動作するWebアプリケーションのプラットフォームだけではありません。



Windows AzureアプリケーションとローカルアプリケーションはどちらもWindows Azureストレージサービスを使用でき、どちらの場合も同じ方法で、RESTなどのメカニズムを使用します。 ただし、使用されるデータウェアハウスはSQL Serverではありません。 特に、リレーショナルシステムでさえなく、そのクエリ言語はSQLではありません。 ストレージシステムはWindows Azureアプリケーションをサポートするように設計されているため、よりシンプルでスケーラブルなタイプのストレージを提供します。 したがって、大きなバイナリオブジェクト(blob)を格納し、Windows Azureアプリケーションのコンポーネント間のやり取りのためのキューを提供し、通常のクエリ言語を使用したテーブルのようなものも提供します。



アプリケーションを実行してデータをクラウドに保存すると、明らかなメリットが得られます。 たとえば、組織は独自のシステムを購入、インストール、および保守する代わりに、これらすべての懸念をクラウドサービスプロバイダーに移行できます。 また、顧客は、ピーク負荷のためだけに膨大な数のサーバーにサービスを提供するのではなく、使用する「コンピューティング」とストレージに対してのみ支払います。 また、アプリケーションが正しく作成されていれば、クラウド内のサービスプロバイダーが提供する巨大なデータセンターを利用して、簡単にスケーラブルになります。



ただし、これらのメリットを得るには、優れたガバナンスが必要です。 Windows Azureでは、各アプリケーションに構成ファイルがあります-図 2.このファイルの情報を手動またはプログラムで変更することにより、アプリケーション所有者は、Windows Azureの実行中のインスタンスの数など、動作のさまざまな側面を制御できます。 Window Azure Factoryは、アプリケーションを監視して特定の状態を維持します。



お客様がアプリケーションを作成、構成、および監視できるようにするために、Windows Azureはブラウザーからアクセス可能なポータルを提供します。 クライアントはWindows Live IDを提供し、アプリケーションを実行するためのホスティングアカウントを作成するか、データを保存するためのストレージアカウント、またはその両方を作成するかを選択します。 アプリケーションは、顧客から料金を請求する方法(サブスクリプション、使用ごとの料金、またはその他)を自由に選択できます。



Windows Azureは、さまざまなシナリオで使用できる共通のプラットフォームです。 CTPの許可内容に基づいた例を次に示します。



クラウドでアプリケーションを実行することは、クラウドコンピューティングの最も重要な側面の1つです。 Microsoftは、Windows Azureを使用して、クラウドでアプリケーションを実行するためのプラットフォームと、アプリケーションデータを保存する方法の両方を提供します。



クラウドコンピューティングへの関心の高まりとともに、この新しいクラウドの世界向けに作成されたWindowsアプリケーションが増えるのを待ちます。



.Netサービス。


クラウドでアプリケーションを実行することはクラウドコンピューティングの重要な部分ですが、これはこの用語で隠されているものとはほど遠いものです。 オンプレミスまたは他のクラウドアプリケーションで使用できるクラウドベースのサービスを提供することもできます。 この問題の解決策は、.Netサービスの目標です。



本来BizTalkサービスとして知られている.Netサービスは、分散アプリケーションを作成する際の主要なインフラストラクチャの問題を解決します。 図3にコンポーネントを示します。

画像

図3 .Net Servicesは、クラウドアプリケーションとオンプレミスアプリケーションの両方で使用できるクラウドインフラストラクチャを提供します。



ネットサービスコンポーネント:



.Netサービスの使用方法の例を次に示します。



Windows Azureと同様に、顧客がWindows Live IDを使用して.Net Servicesにサブスクライブできるようにするブラウザーからアクセス可能なポータルがあります。 .Netサービスに関するMicrosoftの目標は、シンプルで簡単です。分散アプリケーションに有用なクラウドインフラストラクチャを提供することです。



SQLサービス


インターネットで利用可能なサーバーを使用する最も魅力的な方法の1つは、データの操作です。 もちろん、これは通常、データベースエンジンを提供することを意味しますが、常にそうであるとは限りません。 SQL Servicesの目標は、リレーショナルから非構造化まで、さまざまな種類のデータを格納および操作するためのクラウドサービスのセットを提供することです。



Microsoftは、SQLサービスには、レポート、データ分析など、データに関連するさまざまなサービスが含まれると述べています。 ただし、最初に明らかになったコンポーネントはSQL Data Servicesでした。

アイデアは図にあります。 4。

画像

図4 SQLサービスは、クラウド内のデータを操作するためのサービスを提供します。



以前はSQL Server Data Servicesと呼ばれていたSQL Data Servicesは、クラウド内のデータベースを提供します。 図からわかるように、このテクノロジーにより、ローカルおよびクラウドアプリケーションは、Microsoftデータセンター内のMicrosoftサーバー上のデータを保存およびアクセスできます。 他のクラウドテクノロジーと同様に、組織は使用した分だけ料金を支払います。 使用(および価格)は、組織のニーズに応じて増減します。 クラウドでデータベースを使用すると、ハードドライブやデータベース管理システムへの投資などの設備投資を運用コストに変換することもできます。



SQLサービスの主な目標は、可能な限りアクセスしやすくすることです。 このため、サービスはSOAPとRESTの両方を介してインターフェイスにアクセスできるようにします。これにより、さまざまな方法でデータにアクセスできます。 また、データは標準プロトコルを介してアクセスできるため、SQL Data Servicesはさまざまなシステムで使用できます-Windowsテクノロジだけではありません。



Windows Azureストレージサービスとは異なり、SQL Data ServicesはMicrosoft SQL Server上に構築されています。 それにもかかわらず、通常のリレーショナルインターフェイスではサービスを利用できません。 代わりに、SQL Data Servicesは、事前定義されたデータスキーマを必要としない階層データモデルを提供します。 このサービスの各データ項目は、独自の名前、タイプ、値を持つプロパティとして保存されます。 RESTまたはLINQスタイルのクエリを使用して、このデータをクエリできます。



クラウドでSQL Serverを提供するだけではないのは明らかな疑問がすぐに生じます。 代わりに、私たち全員が慣れている方法とはまったく異なる方法を使用するクラウドベースのデータベースサービスを提供するのはなぜですか? 1つの答えは、わずかに異なるサービスセットを提供するといくつかの利点があることです。 SQL Data Servicesは、クラウド内の単純なDBMSが可能にするよりも優れたスケーラビリティ、可用性、および信頼性を提供できます。 新しいサービスがデータを整理および受信する方法により、通常のリレーショナル方法よりも複製と負荷分散がはるかに簡単かつ高速になります。 もう1つの利点は、SQL Data Servicesではクライアントが独自のDBMSをサポートする必要がないことです。 SQL Data Servicesユーザーは、ハードドライブの使用の監視、ログの維持、必要なインスタンス数の決定などの技術的な詳細を処理する代わりに、データに重点​​を置くことができます。 最終的に、MicrosoftはSQL Data Serviceに新しいリレーショナル機能を追加する計画を発表したため、より多くの機能を期待しています。



SQL Data Servicesはさまざまな方法で使用できます。以下に例を示します。



Azure Service Platformの他のコンポーネントと同様に、SQL Data Servicesの使用を簡単に開始できます。ポータルにアクセスして、そこに必要な情報を入力する必要があります。 安価なアーカイブストレージ、異なる場所にあるデータアプリケーションへのアクセスの提供、またはその他の目的のために、クラウドデータベースは非常に魅力的なソリューションとなります。 SQLサービスの後援の下に新しいテクノロジーが登場すると、企業はクラウドを使用して、データ関連のタスクの数を増やすことができるようになります。



ライブサービス


クラウドプラットフォームのアイデアが比較的新しい場合、インターネットはまったく新しいものではありません。 世界中の何億人もの人々が毎日それを使用しています。 これを支援するために、Microsoftは、Windows Liveファミリのアプリケーションを含む、拡大を続けるWebアプリケーションスイートを提供しています。 これらのアプリケーションは、ユーザーにインスタントメッセージの送信、連絡先情報の保存、ルートの受信などの便利な機能を提供します。



これらのアプリケーションはすべてデータを保存します。 連絡先などのこのデータの一部は、ユーザーごとに異なります。 それどころか、マップや検索情報など、その他は同じです-私たちはすべて同じソースデータを使用します。 どちらの場合でも、このデータを他のアプリケーションで利用できるようにしてみませんか? もちろん、ここではデータアクセス制御が必要です。他の人の個人データを自由に配布することはお勧めできませんが、一般に、他のアプリケーションでこのデータを使用することは非常に良い考えです。



これを可能にするために、Microsoftはこの多様なリソースをすべて1つのグループ、Live Servicesにまとめました。 Windows Liveファミリなどの既存のMicrosoftアプリケーションは、Live Servicesを使用してデータを保存および管理します。 新しいアプリケーションがこのデータを使用できるようにするために、MicrosoftはLive Frameworkを提供しています。 主な側面は図にあります。 5。

画像

図5 Live Frameworkは、アプリケーションがLive Servicesデータにアクセスできるようにし、必要に応じてデスクトップとモバイルデバイス間でこのデータを同期します。



Live Frameworkの基盤はLive Operating Environmentです。 図からわかるように、このコンポーネントはクラウドで実行され、アプリケーションはそれを介してLive Servicesデータにアクセスします。 データはHTTP経由でアクセスされます。つまり、.NET、Java、Java Script、またはその他の言語のアプリケーションはすべて、Live Servicesデータにアクセスできます。 Live Servicesからの情報は、AtomまたはRSSを介して取得することもできます。これにより、アプリケーションはこのデータの変更について知ることができます。 特定のアプリケーションに必要なLive Services機能を構成および管理するために、開発者はLive Services Developer Portalを使用できます。



図5は、Live Frameworkのもう1つの側面であるLive Operating Environmentも示しています。これは、Windows Vista、Windows XP、Mac OS X、およびWindows Mobileデバイスでも実行できます。 この機能を使用するには、ユーザーはシステム全体をメッシュと呼ばれる1つのものにグループ化します。 たとえば、デスクトップ、ラップトップ、およびセルを含むメッシュを作成できます。 各デバイスは、Live Operating Environmentのインスタンスを実行します。



メッシュの最も重要な特性は、Live Operating Environmentがメッシュ内のすべてのシステム間でデータを同期することです。 ユーザーとアプリケーションは、どのデータを同期するかを指定できます。LiveOperating Environmentは、メッシュに含まれるすべてのデスクトップ、ラップトップ、モバイルデバイスを、デバイスの1つで変更されたデータで自動的に更新します。 また、クラウドはすべてのユーザーメッシュの一部であるため(特別なデバイスとして表示されます)、同期はLive Servicesデータに対しても機能します。 たとえば、ユーザーがWindows Live Hotmail、Windows Live Messenger、またはWindows Live Contactsに連絡先を保存すると、メッシュのすべてのデバイス間で同期されます。 (確かに、11月のCTP Live Frameworkでは、この機能はまだ機能していません)。 Live Operating Environmentを使用して、一部のデータへのアクセスを他のユーザーに許可することもできます。これにより、任意の情報を選択的に共有できます。



写真として。 5.、アプリケーションは、Live Operating Environmentのローカルインスタンスまたはクラウドインスタンスを介してメッシュデータにアクセスできます。 どちらの場合でも、アクセスは同じ方法で行われます-HTTP要求を介して。 このようなアクセスの均一性により、クラウドへの接続の有無に関係なく、アプリケーションは平等に動作できます。いずれの場合でも、データにアクセスでき、同じ方法でアクセスできます。



Windowsまたは別のオペレーティングシステムで実行されるかどうかにかかわらず、すべてのアプリケーションは、ライブオペレーティング環境を介してクラウド内のLive Servicesデータにアクセスできます。 メッシュの一部であるデバイスでアプリケーションを実行する場合、Live Operating Environmentを使用して、Live Servicesデータのローカルコピーにアクセスできます。 3番目の可能性があります-開発者はMesh-Enabled Web Applicationと呼ばれることを行うことができます。 このようなアプリケーションは、Silverlightなどのマルチプラットフォームテクノロジーを使用して作成され、Live Operating Environmentを介してデータにアクセスします。 このような制限により、メッシュ対応Webアプリケーションは、ユーザーメッシュの任意のマシン(Windowsマシン、Mac、Windows Mobileのコミュニケーター)で実行でき、常に同じ同期データにアクセスできます。 このようなアプリケーションを検索するために、Live Frameworkはクラウドアプリケーション(メッシュ対応Webアプリケーションのディレクトリ)を提供します。 ユーザーはディレクトリを表示し、アプリケーションを選択してインストールできます。 また、アプリケーション作成者がそのようなアプリケーションでビジネスを構築する機会を提供するために、Microsoftはアプリケーションで広告を表示するための組み込みサポートを提供する予定です。



Live Frameworkは、Live Servicesデータにアクセスする簡単な方法を提供します(上記の簡単な例のように、連絡先情報だけでなく、はるかに多く)。 同期機能は、さまざまなアプリケーションにも適用できます。 これらの機能を必要とするアプリケーションのために、このプラットフォームは独自の機能セットを提供します。



翻訳の第二部



All Articles