SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ秋2015】セッションレポート(AD)

【デブサミ秋2015】S2セッションレポート
収集から可視化までの機能を網羅! Azureはビッグデータ活用のプラットフォームだ

  • このエントリーをはてなブックマークに追加

 IoTやWeb、ソーシャルなど、いまや企業はさまざまなところからデータを集められるようになった。ビッグデータ時代の到来である。しかしながらこれまで企業が導入してきたBIツールでは、過去の分析はできても未来予測のための分析はできなかった。とはいえ、分析ツールを導入するにはそれなりの投資が必要になる。そんなビッグデータ時代のデータプラットフォームとして活用できるのが、マイクロソフトのパブリックプラットフォーム「Microsoft Azure(以下Azure)」である。Azureを活用すればどんなデータ処理・分析が可能になるのか。提供する機能について、日本マイクロソフトでAzureのテクニカルエバンジェリストを務めている佐藤直生氏が紹介した。

  • このエントリーをはてなブックマークに追加
日本マイクロソフト株式会社 テクニカルエバンジェリスト 佐藤直生氏
日本マイクロソフト株式会社 テクニカルエバンジェリスト 佐藤直生氏

 マイクロソフトがMicrosoft Azureの商用サービスを始めて5年半が経過した。当初はシンプルなPaaSの機能からスタートしたAzureだが、3年前からIaaSの機能も追加し、近年はデータ分析など用途に特化したPaaSの機能を拡充している。新機能の拡充スピードは、Azureのエバンジェリストである佐藤氏も「Azureは毎週、新機能が出ており、中の人である私でさえも付いていくのは大変」だと言う。

 その背景には、ビッグデータ時代の到来がある。「いまや企業はWeb、ソーシャル、IoTなど、さまざまなところから大規模なデータを集め、蓄積できるようになった。特にビッグデータ分析で求められるのは、過去何が起こったかではなくて、今何が起こっているのか、さらに一歩進んで、今後何が起こるのか予測することだ」と佐藤氏。

 そこで注目を集めているのが、ラムダアーキテクチャである。ラムダアーキテクチャとは従来までの抽出、加工処理を施したデータを分析データストアに格納して分析をするというバッチ系の処理と、ホットなデータをホットストアに蓄積し、ほぼリアルタイムに分析するというリアルタイム系の処理を組み合わせる仕組みである。「Azure自体もラムダアーキテクチャにマッピングされる機能をすべて持っている」と佐藤氏は力強く語る。

ラムダアーキテクチャを実現する「Cortana Analytics Suite」

 それがAzureのサービスセット「Cortana Analytics Suite」だ。データの収集から格納、機械学習と分析はもちろん、ダッシュボードや可視化の機能までを提供している。「Cortana Analytics Suite」が面白いのは、このようなAzureが提供しているサービスに加え、Windows 10のパーソナルデジタルアシスタントサービスCortana、音声認識や顔認識、さらには例えばECサイトの顧客バナー分析や売り上げ分析などのよくあるビジネスシナリオまでも包含していることだ。

 同サービスセットはデータの持つ価値を最大化するさまざまな分析プラットフォームを提供しているが、佐藤氏が最初に取り上げたのはAzure SQL Data Warehouse。

 これはマイクソフトのSQL Server ApplianceファミリーであるAnalytics Platform Systemという、DWH(データウェアハウス)に最適化されたアプライアンスをAzureのサービスとして提供したもの。つまりエンタープライズクラスのSQL型データベース機能を持つ、初めてのエラスティックなクラウドDWHだ。ペタバイトスケールのストレージで、無制限にスケールアウトできる。しかもその操作も簡単。SQL Serverと同等の使い勝手を有しており、SQL Serverと連携できるツールであれば、何でも使える。クラウドサービスなので必要とするコンピュート資源に対してのみの支払いのみ。クエリの性能によって支払う料金も変わる。9月29日にパブリックプレビューを開始した。「Azureにサブスクリプションを登録してくれれば触ることができる」(佐藤氏)

 次に佐藤氏が紹介したのは、「Azure Data Lake」。これは分析のためのフルマネジードサービスで、「Data Lake Store」「Data Lake Analytics」「HDInsight」の3つの機能で構成される。

 「Data Lake Store」はHDFS(Hadoop Distributed File System)をサービスとして使えるというもの。ネイティブHDFSを実装しており、HDInsightというAzure上のサービスに加え、HortonworksやClouderaというサービスと統合。「SparkやStorm、Sqoop、RなどすべてのHDFS準拠プロジェクトと親和性がある」と佐藤氏。もちろんサイズは無制限なので、分析したいデータをどんどん貯められる。同一リージョン内に3つのコピーを自動的に作成するので、データの堅牢性も高い。サービスなのでインストールやチューニングは不要だ。「同機能も9月29日に発表されたばかり」と佐藤氏は説明を続ける。

 「Azure Data Lake Analytics」はHDFS上のファイルをクエリする分散型の分析サービス。同サービスはApache YARNの上に構築されており、U-SQLというマイクロソフト独自の宣言型のクエリ言語を使用する。同言語の型システムはC#なので、C#やJavaの使い手なら容易に扱える。同技術は「Cosmos」というコードネームで、マイクロソフト社内でずっと使われてきた技術で、それをHadoop上に移植したもの。年内にはプレビューが登場する予定だ。

 「Azure HDInsight」はHadoop、Spark、Stormをフルマネージドで提供するサービス。OSはWindows版とLinux版の2種類を用意。HadoopはLinux向けに作られているが、Windows版についてはHortonworksと協業し、Windows環境への移植と最適化を実現した。HDInsightには、Hadoop管理のさまざまな機能がすべて入っているという。オプションとして、Hadoopのソースを使うのではなく、IaaSのVMの上にHadoopのクラスター環境を展開することもできる。CDH、HDPはマーケットプレイスに登場しており、CDHに関してはワンクリックで環境を作ることができると言う。またHDInsight Tools for Visual Studioという機能を使えば、Visual StudioからHiveのテーブル作成やジョブ投入もできる。

 HDInsightはスケーラブルな分散CEP基盤「Apache Storm」にも対応しており、Storm専用のクラスターを簡単に作成できる。Stormによるデータ処理ではメッセージングシステムが必要だったが、Azureのサービスでは「Azure Event Hubs」がその役割を担い、Storm on HDInsightにデータを流すことができる。もちろん可視化するサービス「Power BI」が用意されているため、リアルタイムのデータの可視化が可能になるというわけだ。

数百万デバイスからのストリームデータをAzure Event Hubsで処理

数百万デバイスからのストリームデータをAzure Event Hubsで処理

センサーデバイスからの大量データはAzure Event Hubsで受信

 Azure Event Hubsは、センサーデバイスなど、スケーラブルなイベントの受信に特化したサービス。数百万デバイスへの接続が可能で1秒あたり数百万イベントを受信できる。AMQP/HTTPSをサポートしており、デバイス単位にユニークなトークンベースセキュリティモデルを採用している。このサービスを使って、Stream AnalyticsやHDInsightなどにデータを渡す。Event Hubsはパーティションという概念を採用しており、これにより並列処理を実現している。パーティション数を増減させることで、スケールアウト、スケールインできる。イベントの保持期間なども指定可能だ。また用途別にコンシューマグループを作って、そのコンシューマグループを作ることで、目的別に出口を設定できる。

 続いて佐藤氏が紹介したのは、「Azure Stream Analytics」。これはAzure上でストリームデータをリアルタイムで処理するサービスだ。これを使うことで、「例えば直近1時間で何台の赤い車が高速15号線の165番出口を通過したかという分析が容易にできるようになる。しかも結果は永続的にデータストアに格納したりダッシュボードで可視化したりすることができる」(佐藤氏)。

 Stream Analyticsではリアルタイム分析のためのタンブリングウィンドウ、ホッピングウィンドウ、スラインディングウィンドウという3つのウィンドウ生成方法を用意。例えば5分ごとにイベントをマッピングしたいというのであれば、タンブリングウィンドウを使えばよい。またホッピングウィンドウは、一定の時間ごとに前方にホップするウィンドウ。最初の10分間が、5分後の10分間に対してどの程度進んでいるかというような見方ができる。スライディングウィンドウはイベントがウィンドウに入った時点でイベントを出力する。

 クラウドサービスなので、ストリーミングユニットを増やしていくことで、スケールアウトできるようになっている。構文はSQLライクであり「SQLの知識があれば、容易に使えるはず」と佐藤氏は言う。

 未来予測をしたいというニーズにもAzureは応えてくれる。それが「Azure Machine Learning(ML)」という機械学習のサービスだ。

 「マイクロソフトは機械学習への深い知見を持っている」と佐藤氏。というのも97年にリリースされたHotmailでは、すでにスパムメールの判断を機械学習で行っていたという。またBingマップのルート検索やSkype Translatorのリアルタイム翻訳エンジンにも活用している。最近だとLINEの女子高生AI「りんな」が話題である。

 使い勝手も簡単だ。Azureサブスクリプションにログインすれば、ブラウザだけで開発が可能。このWebベースの設計ツールは、「機械学習や統計解析の勉強ツールとしても使える」と佐藤氏。RやPythonで使われる数百ものアルゴリズムやパッケージが利用でき、1クリックで学習が完了したモデルをWebサービスとして即時デプロイできるうえ、汎用性高いサービスが作成できれば、マーケットプレイスに公開して、マネタイズができる可能性がある。

 「Azure MLは顧客解約分析やSNS分析、レコメンデーション、ロジスティクスの最適化、機器予防保全など、さまざまな領域手適用できるはず」(佐藤氏)

 最後に紹介したのは、分析したデータを可視化するためのツール「Power BI」である。これはSaaS型BIサービスの「PowerBI.com」と、無償のデスクトップBIツール「Power BI Desktop」という2つの形で提供している。もちろんモバイルにも対応している。Power BIはバッチ系のシナリオでもリアルタイム系のシナリオでも、簡単にそして美しく可視化できるのが最大の特徴だ、と佐藤氏。

 「Azure.comにアクセスし、実際使ってみてその便利さを体験してほしい」、こう参加者に呼びかけ、佐藤氏のセッションは終了した。

データの収集から可視化までの機能を提供する「Cortana Analytics Suite」
データの収集から可視化までの機能を提供する「Cortana Analytics Suite」

お問い合わせ

日本マイクロソフト株式会社

TEL: 03-4332-5300(大代表)

コーポレートサイト

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9063 2015/11/11 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング