Windows Azure

Windows、Mac、Linux をサポートするツールを開発するときに、Node.jsが利用できます。

マイクロソフトが提供するクラウドサービス Microsoft Azure の管理コンソールツールの一つに「Microsoft Azure Xplat-CLI for Windows, Mac and Linux」があります。
Microsoft Azure Xplat-CLI for Windows, Mac and Linux を使用すると、Windows、Linux、Macのすべてのプラットフォームで、同じコマンドを使用してMicrosoft Azure を管理することができます。

すべてのプラットフォームで同じソースが使用できるメリットは非常に高いです。

  • 一回の開発ですべてのプラットフォームに同じ機能を提供できる
  • プラットフォーム間で機能差異がない
  • どのプラットフォームでも同じコマンドを利用することができる

Microsoft Azure Xplat-CLI for Windows, Mac and Linux では、Node.jsを利用して上記メリットを享受しています。

使用方法

Windows Azure

MS大田さんによる「データ加工の期待の新ツール!Azure Data Factory」セッションを受講したので、受講メモをつらつらと書いておく。

大田さんの自己紹介。もともとは大量のトラフィック分析(攻撃トラフィックか、IP偽装分析)などをしていました。理論が好きなのと、今回の話は概念から入ると理解しやすいので、概念から説明します。

今日は、Azure Data Factoryの日本初のセッションとなります!今後重要なキーサービスとなるので、丁寧に解説したいと思います。何か、使いどころはどこか、使い方についての順番に説明していきます。

image

Azure Data Factoryとは

Azure Data Factoryは、調整/自動化サービスです。SQL Server、MySQL、など様々なデータソースからデータを取得し、データをクレイジングして、適切なデータストアにデータを格納するまでの一連の流れを自動的に調整してくれるサービスとなります。人手を介さないワークフローとイメージしていただくといいかも。image

例えば、次のような例を考えてみましょう。

  1. アクセスログをストレージから取得
  2. HDInsightでデータをフォルダ分けしてストレージに保存
  3. 返還後、別のデータと結合する
  4. 結果を、SQL Databaseに格納する

上記のような一連の作業を、調整し自動実行するのがAzure Data Factoryの役割です

管理ポータルで実際の画面を見てみましょう。作成、ダイアグラム、サンプルとあります。

image
ダイアグラムは、どのような処理をしているのかをグラフィカルに表示されて、理解しやすくしています。

image
サンプルを用意しており、ひとまず動作を簡単に理解したい場合には、サンプルパイプラインを使用すると簡単に試すことができます。

image

Azure Data Factoryの概念

Data Factoryの概念を知りましょう。登場人物は4つです。Data Set、Activity、Pipline、Linked Serviceの4つです。

image

Linked Serviceは、データストアとかコンピューティングサービスなどのリソースへの接続情報を保持しています。データストア、データ処理など、あらゆるリソースへの接続情報を保持します。

image

現在使用できるデータストアは、現在以下のものが提供されています。

image

オンデマンドHDInsightは、Azure Data Factoryによって管理されるサービスです。Bring Your Ownのほうは、Azureポータルで自分で作成して用意しておくサービスのほうです。

imageAzure Data Factoryが管理するHDInsightは必要なタイミングでHDInsightを起動し、不要になったら削除してくれるので課金的には優しいサービス(停止忘れ防止になる)です。これは、自動的に管理されるものなので、管理ポータルから確認することはできません。

ただし、削除タイミングは指定できて、処理完了後何分後にHDInsightを削除できるかを指定できます。0分にするとすぐ削除されます。これを指定するのに必要な理由は、HDInsightで処理して、データを格納して、またHDInsightで処理するというようなパイプラインの場合、一回一回でシャットダウンすると再度15分かけてプロビジョニングをすることになるので、無駄をなくすには他所の猶予を設けるといいです。

Data Setは、Linked Serviceが参照するデータストアに格納されている入力/出力データを表します。これは、フォルダ名の指定やテーブル名の指定です。これを設定して初めて、実データを指定することになります。

image

Activityは、データに対して実行するアクションを定義します。Data Setもコンピューティング両方を扱うことができます。データのコピーや、データの変換分析を処理さえることができます。1つのActivityに複数の処理を書いてしまうと煩雑になってしまうので複数のActivityに分けてあげるといいですね。image<

PipeLineは、複数のActivityを論理的にひとまとめにして管理するグループです。いくつかのActivityを束にまとめます。

image

Azure Data Factoryの操作に使用するツール

Azure Data Factoryは、JSONで定義します。

image

JSONを書くのはつらいので、補助するために3つのツールが提供されています。ブラウザーベースのものもあるので、Macユーザーでも使用することができます。

  • Data Factory Editor(ブラウザーベース)
  • Visual Studio(Windows)
  • PowerShell(Windows)

Data Factory Editorはブラウザベースで提供されており、現時点では一番こなれたツールとなっています。初めて使用する人は、Data Factory Editorから使い始めるといいでしょう。

image

Visual Studioの対応状況はこのような感じ。Cloud Explorerはリソース状況が確認しやすくて素敵です。でもダイアグラムは弱めで、エラーとかでる。現時点では、まだまだ発展登場なのでおすすめはしないかも。

image

PowerShellはこんな感じ。新規作成などの操作性はあまりいいとは言えないかも。

image

Azure Data Factoryの操作手順

Data Factory Editorで、Linked Serviceを作成します。作成ボタンをクリックすると、リソースを選択することができます。

image

次に、Data Setを作成します。Data Setの定義では、次の図のようにインテリセンスがきいて入力しやすくなっています。

image

Piplineを定義します。頑張ってコーディングしなくても、あらかじめ定義が用意されているので、定義をするだけでいいです。例えば、日次で実行し、感覚をどれぐらい開けるみたいなのも定義で指定できます。

image

インプット元、アウトプット先も、このように簡単に定義することができます。

imagea

 

セッション資料

Windows Azure

Microsoft Azure Webサイトを使用して、A/Bテストを簡単にすることができます。
ここではA/Bテストをする方法について説明します。

  1. http://portal.azure.com/ にログインする
  2. Webサイト(Web app)を表示する
  3. 「すべての設定」をクリックする
    SNAGHTML15c31da0
  4. 「トラフィックルーティング」を選択する
    image
  5. (オプション)
    Basicじゃ、あかんよ…っと。
    image
  6. プランを変更してトラフィックルーティングを表示。
    imageステージAとステージBとプロダクションに、25%、25%、50%で振り分けるようになった。

Windows Azure

Microsoft Azure で提供されている各種サービスを効率的に学ぶための動画コンテンツを4つに厳選して紹介します。
この動画を見ることで、Azure Webサイト、AzureML、Azureの基礎機能、Azureインフラのオートメーションを学ぶことができます。

Microsoft Azure Web Sites(Web Apps)

image

Microsoft Azure Web Sites を紐解く ~ Web サイト、アプリケーション構築のベスト プラクティスとは?

マイクロソフトの米国本社シアトルで、Microsoft Azure Web Sitesの開発チームにいる日本人河野さんによる解説。自己紹介が「Web Sites作ってます」と書いてます。

image

アジェンダからわかる通り、Websitesとりあえず使ってみよう!が終わった人が、裏側の仕組みも踏まえてアーキテクチャ設計をしようと思うときにインプットしておくと役立つ内容となってます。

入門的な内容も見たいって場合は、「Microsoft Azure の基礎: Web サイト」を参照すると良いです。

Microsoft Azure:Azure Machine Learning編

image

Microsoft Azure: Azure Machine Learning 編 ~Azure Machine Learning を使ってみよう~

マイクロソフト系の技術トレーニング会社としても有名なエディフィストトラーニング株式会社の講師によるAzureの機械学習プラットフォームであるAzure Machine Learning(Azure ML)のハンズオン動画。

ハンズオンでは、適正な自動車価格の予測や、推薦システムを実際にやってみる内容となっています。公開されたばかりのホットな動画です。

合わせて、ジーニアス平井の「マシン ラーニングを使ったクラウド ベースのデータ分析/予測ソリューション」も見るとばっちり。

Azureの基礎はJazug女子部セッションがおすすめ

image

機能で語るよ! Azure アレコレ基礎

Microsoft Azureを勉強し始めようと思ったときに、何から手を付けていいのかがわかりにくいのが実情。誰かわかりやすく水先案内してほしい!って思ったのならこの動画。

Jazug女子部による軽妙なトークでわかりやすくAzureを水先案内してくれています。

Azureのオートメーション、コード管理

image

Infrastructure as Code For Azure

Azureをインフラストラクチャーをコードで管理しましょう!ってことで、旬なDockerなどにも触れつつJazuzの2人が解説してくれています。

合わせて、(MCP 70-533 対応) Microsoft Azure インフラの実装 ~ Part 1 仮想マシン編も参照すると良いかと。

Windows Azure

単純な一覧

AS2 Connector
Azure HDInsight
Azure Mobile Services
Azure Service Bus
Azure Storage Blob
Azure Storage Table
BizTalk EDIFACT
BizTalk X12
BizTalk Flat File Encoder
BizTalk JSON Encoder
BizTalk Rules
BizTalk Trading Partner Management
BizTalk Transform Service
BizTalk XML Validator
BIzTalk XPath Extractor
Box
Chatter
DropBox
Facebook
File
FTP
FTPS
HTTP
HTTPS
HTTP
HTTPS
Marketo
Microsoft Office 365
Microsoft OneDrive
Microsoft SharePoint
Microsoft SQL Server
Microsoft Yammer
MongoDB
Oracle Database
POP3
IMAP
Quickbooks
Salesforce
SAP
SFTP
SMTP
SugarCRM
Twilio
Twitter

プロトコル一覧

  • SFTP
  • POP3
  • FTP
  • HTTP
  • SMTP
  • File

ソーシャルコネクター一覧

  • Facebook
  • Twitter
  • Chatter
  • Yammer
  • Twilio.

データコネクター一覧

  • Azure Media Services
  • Azure Mobile Service
  • Azure Service Bus
  • Azure Storage Blob
  • Azure Storage Table
  • Box
  • Dropbox
  • HDInsight
  • Microsoft SQL
  • MongoDB
  • Office 365
  • OneDrive
  • Oracle
  • Sharepoint Online
  • Sharepoint Server

エンタープライズコネクター一覧

  • Marketo
  • MongoDB
  • QuickBooks
  • Salesforce
  • SugarCRM
  • SAP