Azure: Machine Learningサービス、Hadoop Storm、クラスター スケーリング、Linuxサポート、Site Recoveryなど

Posted: 2015/02/24 カテゴリー: Uncategorized
タグ:, , , , , , , , , , , , , ,

本日、Microsoft Azureに対する多数の素晴らしい拡張をリリースしました。その拡張は、次の通りです:

  • Machine Learning:Azure Machine LearningサービスのGA (一般提供)
  • Hadoop: Apache Stormサポート、Hadoop 2.6のサポート、クラスター スケーリング、ノード サイズ選択のGA (一般提供)、Linux OSサポートのプレビュー
  • Site Recovery: SANアレイによるDR機能のGA (一般提供)

また、今月リリースされた他の素晴らしいAzure機能の詳細についても、このブログ ポストで紹介します:

  • SQL Database: SQL Database (V12) のGA (一般提供)
  • Web Sites: スロット設定のサポート
  • API Management: 新しいPremiumレベル
  • DocumentDB: アジアと米国の新リージョン、SQLパラメーター化、アカウント制限の拡大
  • Search: ポータルの拡張、検索候補とスコアリング、新リージョン
  • Media: Azure Media Services向けのコンテンツ保護サービスのGA (一般提供)
  • 管理: Azure Resource ManagerのGA (一般提供)

これらの改善すべては現在利用可能になっており、今すぐ使うことができます (いくつかの機能はまだプレビューであることに注意してください)。その詳細は、次の通りです:

Machine Learning: Azure MLサービスのGA (一般提供)

本日、Azure Machine Learningサービス (英語 / 日本語) のGA (一般提供) を発表できて、興奮しています。Azure Machine Learningサービスは、分析ソリューションを迅速に作成できる、強力なクラウド ベースの予測分析サービスです。これはフル マネージド サービスです。これは、ハードウェアを購入する必要も、VMを手動で管理する必要もないことを意味しています。

データ サイエンティストや開発者は、機械学習のワークフローを迅速に作成し自動化するために、革新的なブラウザー ベースの機械学習IDEを使えます自分の予測分析ソリューションをジャンプ スタートするために、数百の既存のMLライブラリを文字通りドラッグ アンド ドロップできます。そして、それらを拡張するために、オプションとしてRやPythonのカスタム スクリプトを追加できます。我々の機械学習IDEは任意のブラウザーで動作し、それによって迅速にソリューションを反復型開発できます:

image

本日のGA (一般提供) リリースでは、簡単にWebサービスを発見、作成し、APIを介して自分のモデルを訓練/再訓練し、エンドポイントを管理し、顧客ごとにWebサービスをスケールさせ、サービスの監視、デバッグのために診断を構成することができます。本日のリリースにおける追加の新機能は、次の通りです:

  • 構成可能なカスタムRモジュールを作成し、独自の訓練/予測のRスクリプトを取り込み、(NumPy、SciPy、pandas、scikit-learnといったライブラリの大きなエコシステムを使って) Pythonスクリプトを追加する機能。「Learning with Counts」を使って、数テラバイトのデータを訓練し、異常検出のためにPCAやOne-Class SVM (Support Vector Machine) を使い、使い慣れたSQLiteを使って簡単にデータを修正、フィルタリング、クリーニングできるようになりました。
  • 実験を発見、学習し、Twitter、LinkedInを介して共有できる、Azure MLコミュニティ ギャラリー。Azure Marketplaceから直接、Azureサブスクリプションを介してMarketplaceアプリを購入し、レコメンデーション、テキスト分析、異常検出のための完成したWebサービスを消費できます。
  • クラウド ベースのデータ サイエンスへの道を楽にする、生データから消費可能なWebサービスへのデータ サイエンスの旅のための、ステップ バイ ステップのガイド。iPython NotebookやPython Tools for Visual Studio (PTVS) といった人気の高いツールを、Azure MLとともに使う機能を追加しました。

作業の開始

ステップ バイ ステップのデータ サイエンス ガイドとチュートリアルを使って、予測分析と機械学習の基本を学習できます。Azure Machine Learningを使って作業を開始するために、登録やクレジット カードは必要ありません (機械学習IDEを使い、無料で実験を試せます):

image

また、他の人がすでに構築済みの既存の機械学習実験を実行するために、機械学習ギャラリーを閲覧してください。そして、オプションとして、他の人が学習できるように、自分の実験を公開してください:

image

機械学習と予測分析は、将来、アプリケーションの構築方法を根本的に変えるでしょう。新しいAzure Machine Learningサービスは、これを実現する信じられないほど強力で簡単な方法を提供します。今日から、運用アプリ向けにAure Machine Learningを使い始めてください!

HDInsight: Apache Storm、クラスター スケーリング、Hadoop 2.6、ノード サイズのGA (一般提供)、Linux上のHDInsightのプレビュー

また、本日、(Azure上のビッグ データのワークロードを支えるためのマネージドHadoopサービスである) HDInsightに対するいくつかの主要な拡張を発表できて、嬉しく思います。

Apache StormサポートのGA (一般提供)

本日のリリースでは、フル マネージド サービスとしてApache Stormを提供し、HDInsight上でそれをGA (一般提供) にすることで、リアルタイム ストリーミング分析を簡単にします。これによって、Stormクラスターの起動と管理が信じられないほど簡単になります。HDInsight上のStormサービスの一環として、いくつかの主要な機能を有効化することで、生産性を改善しました:

  • Azure Event Hubs (英語 / 日本語) サービスとの統合。これによって、Event Hubsを介して収集した任意のデータを簡単に処理できます。
  • Apache StormでJavaと.NETの両方を使う選択肢を提供する、Apache Storm上の最高の.NETエクスペリエンス
  • スパウトやボルトのライブラリによって、SQL Database、HBase、DocumentDBといった他のAzureサービスと簡単に統合できます。
  • 開発者がVisual Studio環境から完全なプロジェクト管理を行うことを簡単にする、Visual Studio統合。
Stormクラスターの作成とサンプル トポロジの実行

Azure管理ポータルから、新しいStormクラスターを簡単に起動できます。Stormダッシュボードによって、既存のStormトポロジをアップロードするか、または、ドロップダウンからサンプル トポロジの1つを選択することができます。コードでトポロジを作成でき、Trident (英語 / 日本語) のようなより高レベルのプログラミング モデルも使えます。また、Stormダッシュボードを介して、現在、自分のクラスター上にあるトポロジのすべてを監視、管理できます。

image

.NETトポロジとVisual Studioのエクスペリエンス

Storm上で行った大きな改善の1つは、開発者が.NETでStormトポロジを書けるようにしたことです。今回のStormのリリースで私が特に興奮していることの1つは、HDInsight上のStormに対して有効化した、Visual Studioのエクスペリエンスです。Azure SDKの最新リリースでは、HDInsight配下にStormプロジェクト テンプレートがあります。これによって、心配したり、正しい参照を設定したり、各Stormトポロジに必要となるスケルトン コードを書いたりする必要なしに、Stormトポロジの作成作業を迅速に開始できます。

StormはHDInsightサービスの一部として利用可能なので、HDInsightのすべての機能がStormクラスターにも適用されます。たとえば、既存の実行中のトポロジへの影響なしに、Stormクラスターを簡単にスケール アップ、スケール ダウンできます。これによって、処理されるデータへの影響なしに、投入データの速度や遅延の要件に応じて、Stormクラスターを簡単に拡大、縮小できます。クラスター作成時に、自分のHDInsight上のStormクラスターで使うVMを、利用可能なVMの長い一覧から選択できます。

HDInsight 3.2のサポート

Windows、Linux向けのHDInsightクラスター上でのHadoopの次期メジャー バージョンのリリースを発表できて、嬉しく思います。これには、Hadoop 2.6、Hive 0.14、スタック内のすべてのコンポーネントに対するかなりのアップデートが含まれています。Hive 0.14は、Tezを介してパフォーマンスとスケーラビリティを改善する作業を含んでおり、強力なコスト ベース オプティマイザーを追加し、UPDATE、INSERT、DELETE SQL文や、開発セッションの間だけ有効な一時テーブルを処理する機能などを導入しています。こちらで、Hive 0.14リリースに関するさらなる詳細を確認できます。Pig 0.14は、ORCのサポートを追加し、PigとHiveにわたって活用される単一の高パフォーマンスなフォーマットに対応します。加えて、Pigは、Map/Reduceの代わりにTezを対象にできるようになり、実行エンジンを変更することで、かなりのパフォーマンス改善をもたらします。Pig 0.14リリースの詳細は、こちらです。これらは、オープン ソース エコシステムにおける最新の改善を、HDInsightに持ち込みます。

HDInsight 3.2クラスターの作業を開始するには、Azure管理ポータル、またはコマンドラインを使います。また、Storm向けのVSツールに加えて、Hiveクエリ作成をサポートするように、VSツールをアップデートしました。また、改善されたステートメント補完、ローカル検証、Visual StudioにおけるYARNタスク ログへのアクセス、Linux上のHDInsightクラスターのサポートも追加しました。これらを使うには、最新のHDInsightツールが含まれているVisual Studio向けのAzure SDK (英語 / 日本語) をインストールする必要があるだけです。

クラスター スケーリング

お客様の多くが、HDInsightのクラスター サイズをその場で変更する機能を求めていました。サイズのスライダーをドラッグすることで、自分のワークロードに合わせて、Hadoopクラスターを拡大、縮小できます。クラスターが処理中に、クラスターにさらなるノードを追加でき、大きなジョブが完了したら、クラスターのサイズを削減できます。自分のサブスクリプションでさらなるコアを利用する必要がある場合は、より大きなクォータをリクエストするために、課金サポートにサポート リクエストを行ってください。

ノードサイズの選択

最後に、HDInsightクラスター内のノードのVMサイズを指定できるようになりました。これによって、自分のワークロードに合うように、自分のクラスターのリソースを最適化kできます。Aシリーズ、DシリーズのVMサイズを利用可能にしました。クラスター内の各ロールに対して、VMサイズを指定します。これによって、自分のジョブで利用可能なCPU、RAM、SSDの量をチューニングできます。

Linux上のHDInsight

また、本日、Ubuntu Linuxコンテナーを使ってHDInsightクラスターをデプロイできる、HDInsightサービスのプレビュー バージョンをリリースします。これは、Azure上でマネージドのHadoopワークロードを実行する際に使えるOSのオプションを拡張します (以前は、HDInsightはWindows Serverコンテナーだけをサポートしていました)。

新しいLinuxサポートによって、Azure上でビッグ データのワークロードを構築するために、SSHやAmbsriといった使い慣れたツールを簡単に使うことができます。Linuxクラスター上のHDInsightは、Widnowsクラスターと同じHadoopディストリビューション上に構築されており、Azure Storageと完全に統合されています、また、Linuxクラスター上のHDInsightは、お客様が、HDInsightが提供するSLA、管理、サポートを活用するために、Hadoopを活用するのを簡単にします。作業を開始するには、こちらで (英語 / 日本語) プレビューに登録してください。それから、Azure管理ポータルを使うか、またはコマンドライン インターフェイスを介して、Linuxクラスターを簡単に作成できます。
自分のHDInsightクラスターへのSSH接続性は、Linuxクラスター上のすべてのHDInsightに対して、既定で有効化されています。クラスターに接続するために、好みのSSHクライアントを使えます。加えて、ブラウザーからすべてのHadoop Webアプリケーションにトラフィックを転送するために、SSHトンネリングを活用できます。

さらに学ぶ

Azure HDInsightのさらなる情報については、次のリソースを確認してください:

Site Recovery: SANによるエンタープライズDRのGA (一般提供)

また、Azureの本日のリリースでは、Azure Site Recovery (ASR) の災害復旧 (DR) とレプリケーションのポートフォリオに重要な機能を追加します (英語 / 日本語 / 日本語)。オンプレミスのHyper-Vプライベート クラウド全体にわたって高パフォーマンスの同期/非同期レプリケーションを可能にするために、ストレージ エリア ネットワーク (SAN) アレイを活用しようとしているエンタープライズが、Azure Site RecoveryとSystem Center Virtual Machine Manager (SCVMM) を使って、エンド ツー エンドのストレージ アレイ ベースのレプリケーションと災害復旧を調整できるようになりました。

レプリケーション チャネルとしてのSANの追加によって、Azure Site Recoveryで、同期レプリケーション、複数VMの一貫性、ゲスト クラスターのサポートといった主要なシナリオが可能になります。共有VHDXといSCSIターゲットLUNのサポートによって、ASRは、SQL Server、SharePoint、SAPといったエンタープライズ級のアプリケーションのニーズをより良く満たせるようになりました。

SANレプリケーションを有効化するには、Azure管理ポータルにおいて、ASRでSCVMMクラウドを構成する際に、SANを選択します。すると、ASRは、構成されたクラウドが、ストレージ アレイに正しくゾーニングされているホスト クラスターを持っていることを検証します。クラウド構成を完了し、ストレージ プールをマッピングしたら、レプリケーション グループ (ともにレプリケーションされ、それによって複数VMのレプリケーションの一貫性を可能にする、ストレージLUNのグループ) をレプリケーションで有効化できます。ASRは、ターゲットLUNの作成を自動化し、レプリケーション グループを対象にし、アレイ ベースのレプリケーションを開始します。

レプリケーション グループにデプロイされたSQL Serverのゲスト クラスターをフェールオーバーできる復旧計画の例を、次に示します:

image

さらに学ぶ

追加情報については、MSDNのAzure Site Recoveryフォーラム (英語 / 日本語) にアクセスしてください。

Azure Site Recovery (英語 / 日本語) の作業を開始するのは、簡単です。必要なのは、Microsoft Azureの無料試用版に登録 (英語 / 日本語) することだけです。

SQL Database: SQL Database (V12) のGA (一般提供)

今月、SQL Database (V12) (英語 / 日本語 / 日本語) のGA (一般提供) バージョンをリリースしました。昨年12月に、この新リリースのプレビュー (英語 / 日本語) をリリースしており、これには多数の新機能が含まれています。その新機能は、次の通りです:

  • 大規模データベースのより良い管理: 並列クエリ、テーブル パーティション分割、オンライン インデックス作成、(以前の2GBのサイズ制限が撤廃された) 心配無用の大規模インデックス再構築、より多くのALTER DATABASEコマンドで、より重いデータベース ワークロード管理をサポートするようになりました。
  • さらなるプログラミング機能のサポート: CLR、T-SQLウィンドウ関数、XMLインデックス、変更の追跡のサポートで、さらに堅牢なアプリケーションを構築できるようになりました。

  • 最大100倍のパフォーマンス改善: データ マートや分析のワークロード向けの、インメモリ列ストア クエリのサポート。

  • 監視とトラブルシューティングの改善: 拡張イベント (XEvent) と、拡張された一連の動的管理ビュー (DMV) を通した、100以上の新しいテーブル ビューへのアクセス。

  • 新しいS3パフォーマンス レベル: 昨年12月のプレビューで、SQL Databaseの新しい料金オプションを導入します。新しい「S3」パフォーマンス レベルは、100DTUのパフォーマンス (既存のS2レベルの2倍のDTU) とStandardレベルで利用可能なすべての機能を提供します。これは、より高いパフォーマンスのニーズを持つアプリケーションを実行する、さらにコスト効率の良い方法を可能にします。

これらの機能全てを、GA (一般提供) として活用できるようになりました。すべてのデータベースは、エンタープライズ級のSLAによって支えられています。

今後のセキュリティ機能

また、今月と今春に展開され始める予定の、多数の新しいセキュリティ機能を発表できて、興奮しています。これらの機能は、お客様が自分のクラウド データをより良く保護するのに役立ち、企業や業界のコンプライアンス ポリシーをさらに満たすのに役立ちます。このセキュリティ拡張は、次の通りです:

  • 行レベル セキュリティ (RLS)
  • 動的データ マスキング
  • 透過的データ暗号化 (TDE)

お客様は、どのユーザーがどのデータにアクセスできるかに関するより良い制御のため、データベース テーブルの行に対するきめ細かいアクセス制御の実装を可能にするために、データベース上で (現在プレビューで利用可能な) 行レベル セキュリティ (英語 / 日本語 / 日本語) を実装できるようになりました。

近いうちに、SQL Databaseは、動的データ マスキングを導入する予定です。これは、データベース上のデータを変更することなく、(クレジット カード番号などの) 指定されたデータベース フィールドに対するクエリを実行した権限のないユーザーにマスキングされたデータを返すことで、データベース内のデータの公開を制限するのに役立つ、ポリシー ベースのセキュリティ機能です。最後に、近いうちに、すべてのデータベース上に格納されたデータの暗号化のための透過的データ暗号化が、SQL Database V12のデータベースに導入される予定です。

V12サービスのGA (一般提供) と今後のセキュリティ機能を展開し続けるので、今後数か月にわたって詳細に関して注目していてください。

Websites: スロット設定のサポート

Azure Websitesサービス (英語 / 日本語) は、自分のWebサイトのメタデータの一部として、アプリケーション設定と接続文字列を格納する機能を常に提供していました。これらの設定は、実行時に環境変数や (.NETを使っている場合には) 標準の構成マネージャーAPIを介して利用可能になります。この機能が、Websitesの別の機能であるデプロイ スロットとともにより良く動作するように、アップデートされました。

デプロイ スロットは、運用環境に入れ替える前に、自分のWebアプリケーションの新リリースを安全にデプロイ、テストする、簡単な方法を提供します。たとえば、Webサイト mysite.azurewebsites.net とデプロイ スロット mysite-staging.azurewebsites.net を持っているとしましょう。いつでも、ダウンタイムなしにこれらのスロットを入れ替えられます。これは、自分のWebサイトをアップグレードするための素晴らしいインフラストラクチャを提供します。これまでは、ステージング スロットを運用スロットと入れ替えると、すべての設定と接続文字列も入れ替えられました。時にはこうしたい場合もあり、これは素晴らしく動作します。

しかし、自分のサイトがテストの目的でデータベースを使い、各スロットに明示的に独自のデータベース (たとえば、運用データベースとテスト データベース) を持たせたい場合は、どうなるでしょうか? 今月のリリース以前は、スワップ操作が、ステージングの接続文字列を運用サイトに移動し、運用サイトの接続文字列をステージングに移動していたので、これは自動化が難しいものでした。スワップ操作を行う前に、ステージング スロットにアクセスし、設定を運用データベースの値に手動更新するといった、不自然なことを行う必要がありました。それからスワップを実行し、最後にステージングの設定をステージング データベースを指すように手動更新していました。このワークフローは、非常に複雑でエラーを起こしやすいものです。

新しいスロット設定のサポート

スロット固有の設定が、この問題の解決策です。Azureプレビュー ポータルにアクセスし、自分のWebsサイトの「設定」ページに進むと、各アプリ設定/接続文字列の隣に新しいチェックボックスがあります。スワップ操作に参加すべきでない各アプリ設定/接続文字列の隣のチェックボックスをチェックします。各デプロイ スロットは、この設定ページの独自バージョンを持っています。そこにアクセスし、そのスロット固有の設定値を入力できます。デプロイ スロットの管理とスワップ時のスロット間の構成の流れに関して、ずっと大きな柔軟性を持つようになりました。

image

API Management: 新しいPremiumレベル

今月、Azure API Managementサービスの新しいPremiumレベルのプレビューをリリースしました。Azure API Managementサービスは、お客様がWebベースのAPIを自分の顧客に公開するのに役立つ、素晴らしい機能を提供します。(回数制限、クォータ、キーを介した) APIの保護、詳細な分析、簡単な開発者の作業開始などを提供します。

APIの戦略的価値が高まるにつれて、お客様は、さらに高いパフォーマンス、より高い可用性、さらなるエンタープライズ級の機能を求めています。我々は、これに応えて、プレビュー後に99.95%のSLAを提供し多数の主要な新機能を含んでいる、API Managementの新しいPremiumレベルを導入できて、嬉しく思います。

複数リージョンへのデプロイ

これまでは、各API Managementサービスは、サービス作成時に選択した、単一のリージョンに配置されていました。API発行者が複数のAzureリージョンにわたって単一のAPI Managementサービスを簡単に分散できる、新しい複数リージョン デプロイ機能の導入を発表できて、嬉しく思います。分散APIの利用者の待機時間を削減したく、極めて高い可用性を必要としているお客様は、最小限の構成で複数リージョンを有効化できるようになりました。

image

Premiumレベルのお客様は、Azure管理ポータルの「スケール」タブで、アップデートされた「容量」セクションを確認できるようになりました。関連するドロップダウン コントロールの数クリックで、追加のユニットやリージョンを追加できます。API Managementは、ほんの数分でプライマリ リージョン以外にも追加のプロキシをプロビジョニングします。

複数リージョンは、(ミッション クリティカルでパフォーマンスに敏感なAPIに対して、CDNに似た機能を提供できる) API Managementのキャッシング ポリシーと組み合わせると、特に効果的です。複数リージョン デプロイのさらなる情報については、ドキュメント (英語 / 日本語 / 日本語) を確認してください。

Azure Virtual Network / VPN統合

多くのお客様はすでに、自分のバックエンドをセキュリティで保護するために、API Managementの相互証明書認証を使って、自分のオンプレミスのAPIを管理しています。新しいPremiumレベルは、VPNソリューションを使う方を好むか、または、自分のExpressRoute接続を活用したい組織向けに、素晴らしい新機能を導入します。Premiumレベルで利用可能なVPN接続性の設定が、Azure管理ポータルの「構成」タブにあります。各リージョン向けに個別のVPNを持つことで、複数リージョンと組み合わせることすらできます。ドキュメント (英語 / 日本語 / 日本語) に、さらなる情報があります。

image

Active Directory統合

本日のリリース以前は、API Managementの開発者ポータルでは、開発者は、自分の電子メール アドレスで作成したカスタム アカウントを使うか、または、Facebook、Twitter、Google、Microsoftアカウントといった人気の高いソーシャル アイデンティティ プロバイダーを使って、セルフ サービスで登録できました。時には、企業がさらなる制御を必要とし、サインインのオプションを制限したい場合があります (多くの場合、Azure Active Directoryを好みます)。

最新リリースでは、Azure API Management向けのアイデンティティ プロバイダーとして、Azure Active Directoryを構成できるようになりました。管理者は、他のすべてのアイデンティティ プロバイダーを無効化し、ADグループのメンバーシップを基にAPIとドキュメントへのアクセスを制限できます。さらに、複数のAADテナントが自分の開発者ポータルにアクセスできるように、アクセスを拡張できます。これは、自分のAPIをビジネス パートナーと共有することを、ずっと簡単にします。

image

さらに学ぶ

この統合のさらなる情報については、Azure API Managementのドキュメント (英語 / 日本語 / 日本語) を、新しいPremiumレベルのさらなる情報については、料金ページ (英語 / 日本語) を確認してください。

DocumentDB: アジアと米国の新リージョン、SQLパラメーター化、アカウント制限の拡大

今月、フル マネージドのNoSQL JSONデータベース サービスを提供するAzure DocumentDBサービスで、次の新機能をリリースしました:

  • 新リージョンで利用可能に
  • より大規模なアカウントとドキュメント: アカウントあたりの容量ユニット数を拡大し、サポートされるドキュメント サイズを倍増
  • SQLパラメーター化: 偶発的なデータ公開を防ぐ、ユーザー入力の処理とエスケープ

新リージョン

(既存の米国西部、北ヨーロッパ、西ヨーロッパ リージョンに加えて) 東アジア、東南アジア、米国東部のAzureリージョンで、DocumentDBアカウントのプロビジョニングのサポートを追加しました。どこに自分のDocumentDBのデータを配置するかを決める際に、皆さんに必要な柔軟性と選択肢を提供するため、我々はリージョンの拡張に投資し続ける予定です。

より大規模なアカウントとドキュメント

プレビュー期間中ずっと、我々は着実に最大ドキュメント/データベース サイズを拡大してきました。今月のリリースでは、個別のドキュメントの最大サイズを256KBから512KBに拡大しました。DocumentDBアカウントあたりの容量ユニット (CU) の制限も、5から50に拡大しました。これは、単一のDocumentDBアカウントを、500GBのストレージ、100,000リクエスト ユニット/秒のプロビジョニングされたスループットまでスケールできるようになったことを意味しています。いつものように、プレビューのクォータはアカウントごとに調整できます。容量を増やす必要がある場合は、我々に連絡してください。

SQLパラメーター化

新しいクエリ言語を発明する代わりに、DocumentDBは、階層的なJSONドキュメントに対する、SQL (構造化クエリ言語) を使ったドキュメントのクエリをサポートしています。Azure DocumentDB (英語 / 日本語) のREST APIとSDKで、パラメーター化されたSQLクエリのサポートを追加することで、SQLクエリ機能を拡張したことを発表できて、嬉しく思います。この機能を使って、パラメーター化されたSQLクエリを書けます。パラメーター化されたSQLは、ユーザー入力の堅牢な処理とエスケープを提供し、「SQLインジェクション」を介した偶発的なデータの公開を防ぎます。

.NET SDKを使ったサンプルを見てみましょう。普通のSQL文字列とLINQ式に加えて、パラメーター化されたクエリを構築するために使える、新しいSqlQuerySpecクラスを追加しました。ユーザー提供の著者名パラメーターを1つ持った、「Books」コレクションをクエリするサンプルを、次に示します:

IQueryable<Book> queryable = client.CreateDocumentQuery<Book>(
collectionSelfLink,
new SqlQuerySpec {
             QueryText = "SELECT * FROM books b WHERE (b.Author.Name = @name)",
             Parameters = new SqlParameterCollection()  {
              new SqlParameter("@name", "Herman Melville")
              }
       });

注:

  • DocumentDBのSQLパラメーターは、T-SQLから借りた、なじみのある@表記を使っています。
  • パラメーター値は、任意の有効なJSONを (文字列、数値、ブール値、null、配列やネストしたJSONさえも) 使えます。
  • DocumentDBにはスキーマがないので、パラメーターは任ツリーに対して検証されません。
  • SqlParameterCollectionに追加のSqlParameterを追加することで、追加パラメーターを簡単に提供できます。

また、DocumentDBのREST APIは、パラメーター化をネイティブにサポートしています。前述の.NETのサンプルは、次のREST API呼び出しに変換されます。次に示すように、パラメーター化されたクエリを使うには、Content-Typeヘッダーをapplication/query+jsonに指定し、ボディにクエリをJSONとして指定する必要があります。

POST https://contosomarketing.documents.azure.com/dbs/XP0mAA==/colls/XP0mAJ3H-AA=/docs HTTP/1.1
x-ms-documentdb-isquery: True
x-ms-date: Mon, 18 Aug 2014 13:05:49 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dkOU%2bBn2vkvIlHypfE8AA5fulpn8zKjLwdrxBqyg0YGQ%3d
x-ms-version: 2014-08-21
Accept: application/json
Content-Type: application/query+json
Host: contosomarketing.documents.azure.com
Content-Length: 50
{     
    "query": "SELECT * FROM books b WHERE (b.Author.Name = @name)",    
    "parameters": [         
        {"name": "@name", "value": "Herman Melville"}        
    ]
}

前述のアプローチを使って、ドキュメント コレクションと (データベース、ドキュメント コレクション、添付といった) システム メタデータ コレクションに対して、クエリを発行できます。これを試すには、サポートされている任意のプラットフォーム (.NETJavaNode.jsJavaScriptPython) 向けのDocumentDB SDKの最新ビルドをダウンロードします。

いつものように、最も有益だと思うDocumentDBの機能とエクスペリエンスについて、是非お聞かせください。Microsoft Azure DocumentDBフィードバック フォーラム (英語 / 日本語) に、皆さんの提案を投稿してください。

Search: ポータルの拡張、検索候補とスコアリング、新リージョン

今月、Azure Search (英語 / 日本語) サービスに対する多数の素晴らしい拡張をリリースしました。Azure Searchは、大規模検索サービスの管理、チューニング、スケーリングに伴う典型的な複雑さを扱う必要なしに、Web/モバイル アプリケーション向けの検索エクスペリエンスを構築するために必要となる機能のすべてを、開発者に提供します。

Azureポータルの拡張

先月、Azureプレビュー ポータルで自分の検索インデックスを作成、管理する機能を追加しました。それ以来、「必要となるコード量を大きく削減するので、これは開発のスピードアップに本当に役立ちます」と聞いていますが、「さらに必要です」とも聞いています。結果として、我々は、ポータルでスコアリング プロファイルを追加する機能やクロス オリジン リソース共有 (CORS) を構成する機能を追加することで、ポータルを拡張しました。

スコアリング プロファイルのポータル サポート

スコアリング プロファイル (英語 / 日本語 / 日本語) は、自分で制御する様々な要素を基にして、検索結果内の項目を押し上げます。たとえば、次の例では。ホテル インデックスを持っていて、他がすべて同じ場合は、ユーザーの現在位置に近く評価の高いホテルを、ユーザーの検索結果の上部に表示したいと思います。これを行うには、Azureプレビュー ポータル「スコアリング プロファイルの追加」を選択し、その名前を指定します。ここでは、「closeToUser」と命名します。1つ以上のスコアリング プロファイルを作成し、必要に応じて検索リクエストでスコアリング プロファイルを指定できます。これによって、異なるユース ケースを基にして、異なる検索結果を提供できます。

image

closeToUserスコアリング プロファイルを作成したら、重みと関数を追加し始められます。たとえば、このスコアリング プロファイルでは、次のものを追加することにしました:

  • 重み付け: hotelName内に検索語が見つかった場合、重み付けによって押し上げられるように、hotelNameを重み付きフィールドとして使います。
  • 距離: ユーザーが指定した位置により近い場合に、ホテルを押し上げるために、Azure Searchの空間機能を活用します。
  • 評価: より高い評価のホテルを押し上げます。

これらの関数と重み付けのすべてが、ドキュメントをランク付けするために使う最終的なスコアにまとめられます。

image

スコアリング プロファイルはしばしば手の込んだもの巧妙になり、クエリの他の部分と混合されがちです。Azure Searchでは、スコアリング プロファイルのエクスペリエンスが簡素化され、検索クエリと分離されているので、スコアリング モデルはアプリケーション コードの外部にあり、独立して更新できます。加えて、これらのスコアリング プロファイルは、典型的なフィールド重み付けを行う方法と組み合わされた一連の高レベル スコアリング関数としてモデル化されており、スコアリングの編集とメンテナンスをずっと単純にします。

上で示したように、このユーザー エクスペリエンスにはコーディングは必要なく、単に重要なフィールドを選択し、最も意味をなす関数や重みを適用できます。スコアリング プロファイルはドキュメントの関連性を押し上げる方法であり、並べ替えと混同すべきではないことに注意することが重要です。多数の他の関数が利用可能であり、MSDNドキュメント (英語 / 日本語 / 日本語) でさらに学べます。

クロス オリジン リソース共有 (CORS)

通常、Webブラウザーは、セキュリティの理由で、ネットワーク リクエストに同一オリジン制限ポリシーを適用し、クライアント側Webアプリケーションが他のドメインにリクエストを発行するのを防いでいます。たとえば、http://www.contoso.com から来たJavaScriptコードは、http://www.northwindtraders.com といった他のドメインにリクエストを発行できません。Aure Searchの開発者にとって、すべてのデータがすでにパブリックにアクセス可能であり、モバイル デバイスやブラウザーから検索インデックスに直行することで、待機時間を省きたい場合に、これは重要です。

CORS (英語 / 日本語) は、制御された方法でこの制限を緩和できる方法なので、セキュリティを侵害しません。ブラウザー内のJavaScriptコードがAzure Searchサービスに直接、検索リクエストを行い、元のサーバーを介してすべてのリクエストをプロキシする必要をなくすために、Azure SearchはCORSを使います。Azureプレビュー ポータルでCORSを構成する機能を提供するようになり、クロス ドメイン アクセスを簡単に有効化し、それを特定のオリジンに制限できます。次に示すように、自分の検索サービスのインデックス管理セクションで、これを行えます。

image

タグ ブースティング

スコアリング プロファイルで議論したように、関連性のある特定の項目を押し上げたい多くの例があります。この目的を達成するため、一連のスコアリング プロファイル関数に、タグ ブースティング (英語 / 日本語 / 日本語) という、よくリクエストされていた新しい関数を導入しました。この機能は、現在、利用可能な実験的APIバージョン (英語 / 日本語 / 日本語) の一部なので、これらの新機能候補をテストし、フィードバックできます。

タグ ブースティングによって、検索クエリと共通のタグを持っているドキュメントを押し上げられます。検索クエリのタグは、各検索リクエスト内のスコアリング パラメーターとして提供され、その用語を含んでいるドキュメントはどれも押し上げられます。この機能は、検索結果のカスタマイズを可能にするのに役立つだけではなく、昇格させたい特定の項目がある場合にも使えます。例として、スポーツ イベントの期間中、小売業者は、そのスポーツ イベントに参加しているチームに関連する項目を昇格させたいでしょう。

改善された検索候補

検索候補 (自動補完) は、ユーザーが入力する際に先行入力検索候補を提供できる機能です。スコアリング プロファイルと同様に、これは、ユーザーが探しているコンテンツを迅速に見つけられる、素晴らしい方法です。Azure Searchで検索候補を最初に実装した際、自分の要件により合うようにこの機能の能力を拡張して欲しいという、多数のリクエストを聞きました。結果として、これらのリクエストを解決するために、検索候補の完全に新しい実装を提供します。特に、検索候補に対して接中辞照合を行い、あいまい照合が有効化されている場合は、スペル ミスに対してさらなる柔軟性を示します。また、結果あたり最大100の検索候補を可能とし、フィールド制限以外に長さの制限はなく、最短3文字という制限はありません。

我々はフィードバック収集を継続しているので、この拡張はまだ実験的APIバージョン (英語 / 日本語 / 日本語) に含まれています。これに関するさらなる情報と、さらに詳細な検索候補の例を確認するには、Azureブログの検索候補のポスト (英語 / 日本語) をお読みください。

新リージョン

最後に、我々はAzure Searchのグローバル フットプリントを拡大し続けていることを指摘したいと思います。東アジア、西ヨーロッパ リージョンの追加によって、世界中の8つのリージョンでAzure Searchサービスをプロビジョニングできるようになりました。

Media: コンテンツ保護サービスのGA (一般提供)

今月、Azure Media Services向けの新しいコンテンツ保護サービスのGA (一般提供) をリリースしました。これは、すべてのお客様向けにエンタープライズ級のSLAで支えられています。

我々は、皆さんの高品質なメディア コンテンツの保護の重要性を理解しており、新しい堅牢なDRM機能は、ファースト パーティーのPlayReadyライセンス配信とAES 128ビット キー配信サービスで、静的暗号化、動的暗号化の両方をサポートしています。メディア配信中に動的に暗号化することも、コンテンツ処理ワークフロー中に静的に暗号化することもできます。コンテンツ保護オプションは、ライブ、オンデマンド両方のワークフローで利用可能です。

機能と料金のさらなる詳細については、Media Servicesのコンテンツ保護のブログ ポスト (英語 / 日本語)Media Servicesの料金ページ (英語 / 日本語)記事「メディアの保護」(英語 / 日本語) にアクセスしてください。

管理: Azure Resource ManagerのGA (一般提供)

今月、新しいAzure Resource ManagerのGA (一般提供) に到達し、このサービス向けに世界クラスのSLAを提供するようになりました。Azure Resource Managerは、中核的な一連の管理機能を提供します。これは、Microsoft Azureプラットフォームの基盤となり、すべてのAzureサービス向けの新しいデプロイと管理のモデルの基盤を形成します。無料で、自分のAzureソリューションをデプロイ、管理するために、Azure Resource Managerを使えます。

Azure Resource Managerは、エンタープライズ級の認証、認可機能とともに、Azureで実行されている自分のアプリケーションを管理するための、単純でカスタマイズ可能なエクスペリエンスを提供します。その利点は、次の通りです:

  • アプリケーション ライフサイクル境界: Azure Resource Managerは、リソース グループと呼ばれるデプロイ コンテナーを提供します。リソース グループは、その中にデプロイされているリソース/サービスのライフサイクル境界としての役割を果たし、その中に含まれているサービスのデプロイ、管理、可視化を簡単にします。もはや、自分のアプリケーションを部分ごとに別々にデプロイし、それらを手動でまとめる必要はありません。リソース グループ コンテナーは、単一操作で、アプリケーション全体の1クリックでのデプロイや削除をサポートしています。
  • エンタープライズ級のアクセス制御: OAuthと役割ベースのアクセス制御 (RBAC) が、Azure管理にネイティブに統合され、Resource Managerがサポートするすべてのサービスに対して一貫して適用されるようになりました。また、これらのサービスに対して実行されたアクセスと操作は、後で監査できるように、自動的にロギングされます。サブスクリプション、リソース グループ、またはリソースのレベルで適用できる、高度な一連のプラットフォームの役割やリソース固有の役割を使えるようになりました。これによって、自分の組織内で誰がどの操作にアクセスできるかに関して、きめ細かい制御を得られます。

  • 高度なタギングと分類: Azure Resource Managerは、リソース グループと含まれているリソースに対するメタデータ タギングをサポートしています。(管理、課金、監視といった) 自分独自のニーズに適した方法でオブジェクトをグループ化するために、このタギング サポートを使えます。たとえば、特定のリソースやリソース グループを「Dev/Test」とタグ付けし、自分のリソースをフィルタリングしたり、自分の組織内の内部グループに料金を請求したりするのに役立てることができます。これは、特に大規模組織で、より合理化された方法で、部門アプリケーション、サブスクリプション、課金データを管理、監視するために必要となる機能を提供します。

  • 宣言的デプロイ テンプレート: 新しいAzure Resource Managerは、Azureで高度な複数層アプリケーションをデプロイするために使える、必須のAPIと宣言的テンプレート モデルの両方をサポートしています。こういったアプリケーションを (IaaSベースのサービス、PaaSベースのサービスの両方を含む) 複数のAzureサービスで構成でき、それらにわたってパラメーターや接続文字列を渡せる機能がサポートされています。たとえば、単一のテンプレートを使って、SQLデータベース、Webサイト、VMを宣言的に作成し、それらの間の接続文字列の詳細を自動的につなぐことができます。

  • image

    さらに学ぶ

    Azure Resource Managerをさらに学ぶには、次のリソースを確認してください。今すぐ使い始めてください:

    まとめ

    Microsoft Azureの本日のリリースによって、多数の素晴らしい新シナリオが可能になり、クラウドにホストされたアプリケーションの構築がさらに簡単になります。

    もしAzureアカウントをまだ持っていない場合は、無料評価版 (英語 / 日本語) に登録して、これらの機能すべてを今すぐ使い始めることができます。それから、Microsoft Azureデベロッパー センター (英語 / 日本語) にアクセスして、アプリの構築方法についてさらに学んでください。

    関連情報

    コメントを残す

    以下に詳細を記入するか、アイコンをクリックしてログインしてください。

    WordPress.com ロゴ

    WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

    Twitter 画像

    Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

    Facebook の写真

    Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

    Google+ フォト

    Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

    %s と連携中