バックエンドサービスに日の目を
当てて愛でましょう
~メディアサービス&HDInsight編~
2013年9月7日
#jazug
@statemachine & @normalian
自己紹介
• 割と普通 ( @normalian )
– 社蓄★戦士(キリッ
– Windows Azure と ASP.NET とか得意です
– JavaEE5 とか JavaEE6 とかも得意です
– Microsoft MVP for W...
自己紹介
• @statemachine
– 脱社蓄(キリッ
– 今の仕事は、ルンバ監視員?!
3
4
はじめに
メディアサービスとは
HDInsight とは
まとめ
今回注目するサービス
Windows Azure
メディアサービス
HDInsight
その他のバックエンドサービス
• TRAFFIC MANAGER
– データセンタ間でトラフィックを割り振る
• サービスバス
– 通知ハブを利用したモバイルデバイスのプッシュ通知
• 復旧サービス
– オフラインも含めたバックアップサービス
...
7
はじめに
メディアサービスとは
HDInsight とは
まとめ
8
メディアサービスの概要
管理ポータルの利用
アプリケーションの開発
メディアサービスの全体像
9
http://www.microsoft.com/en-us/download/details.aspx?id=38195
様々なデバイスに配信可能
3G 等の低速回線
ブロードバンド回線
低画質
高画質
DP 向け
Smooth Streaming
HTTP Live Streaming
ブロードバンド回線
開発者
Windows Azure
メディアサービス
…...
11
管理ポータルの利用
① アップロード
② エンコード
③ 配信制御
④ スケールアウト
①アップロード
12
• ローカル or ストレージ(BLOB) から動画ファイルをアップ
ロード可能
②エンコード(1/2)
• H264 形式の様々な動画ファイルをエンコード可能
13
大容量回線向け動画
Smooth Streaming
向け動画
Dynamic Package
向け
iOS 向け
※注 WebM、Ogg 形式はエンコーディ...
②エンコード(2/2)
• [ジョブ] タブから、動画ファイルのエンコード進捗を確認
14
ジョブの進捗状況
③配信制御
15
• ストリーミング形式動画
⁃ http://[メディアサービスアカウント
名].origin.mediaservices.windows.net/<中略
>.ism/Manifest
• 非ストリーミング形式動画
⁃ htt...
④スケールアウト(1/2)
• その 1 :「エンコード」のリソースを制御
16
④スケールアウト(2/2)
• その 2 :「ストリーム配信」のリソースを制御
17
18
アプリケーションの開発
① NuGet での SDK 取得
② コマンドラインの利用
19
① NuGet での SDK 取得
• [NuGet パッケージ管理] から検索
「Media Service」で検索
※注 .NET Framework、Java 向けの SDK のみ提供
• 利用可能な PowerShell コマンド
• PowerShell の構文例
② コマンドラインの利用
20
PS C:¥> New-AzureMediaServicesAccount
-Name "mymediademo“
-Stora...
21
ストアアプリでの動画再生
demo ...
この辺を demo
22
はじめに
メディアサービスとは
HDInsight とは
まとめ
23
HDInsight の概要
管理ポータルの利用
アプリケーションの開発
HDInsight の概要
• Windows Azure 上でビックデータを扱う機能を提供
• Hive, Pig 等のコンポーネントを構築する手間を軽減
• クラスタ構築の管理の手間を軽減
※注 現在は Preview 中のため、アメリカ合...
25
管理ポータルの利用
① サービスの作成
② リモートデスクトップの接続が可能
③ 管理サイト
ご利用のその前に、
プレビュー申し込
みが必要
Try it now!!
サービスの作成(1/2)
• 4 ノード~ 32 ノードを設定可能
• アメリカ合衆国西部 、北ヨーロッパでのみ利用可能
VMサイズ固定
ヘッドノード XL × 1
データノード L × n
サービスの作成(2/2)
• HDInsight アカウントと同一のデータセンタのスト
レージサービスをアタッチする
リモートデスクトップの接続が可能
Hadoop コマンド
の実行が可能
ノードの状態を閲
覧可能
pig, hive, sqoop
がインストール済
管理サイト
サンプル実行、リモートデスク
トップ、モニタリング等の細か
な処理が可能
30
アプリケーションの開発
① HDInsight Server
(Azureと同じ環境が試せる)
② NuGet での SDK 取得
③ C# でかける M/R
HDInsight Server
• Web PI でインストール可能
ただし 64bitのみ。Windows上で簡単に
Hadoop環境を構築できる
.NET SDK for Hadoop
• http://hadoopsdk.codeplex.com/
33
NuGet での SDK 取得
• install-package Microsoft.Hadoop.MapReduce
• install-package Microsoft.Hadoop.Hive
• install-package ...
34
C# でかける M/R
• Map / Reduce
public class Mapper : MapperBase
{
private char[] delimiterChars = {' ', ',', '.', ':', ';',...
実行方法
• StreamingUnit Hadoopサービス外で実行
• HDInsight Server (localhost)上で実行
var outputData = StreamingUnit.Execute<Mapper, Redu...
• Windows Azure HDInsight
Uri azureCluster = new Uri("https://pnopcluster.azurehdinsight.net:563");
var clusterUserName = ...
37
サンプル実行の demo ...
実行例
実行結果
40
サンプル実行の demo ...
実行例
実行結果
43
はじめに
メディアサービスとは
管理ポータルからの利用
ソースコードからの利用
まとめ
44
まとめ
• メディアサービス
– 管理ポータルで操作概要をつかみましょう
– .NET SDK、Java SDK を利用した開発が可能
– 動的エンコーディングが便利
• HDInsight
– Windows 版 Hadoop + α、...
45
参考 – メディアサービス
• Demo – how to create HLS and Smooth Streaming
assets using dynamic packaging
http://mingfeiy.com/demo-h...
46
参考 – HDInsight
• patterns & practices - Windows Azure Guidance Part
4, Developing Big Data Solutions on Windows Azure
h...
Upcoming SlideShare
Loading in …5
×

バックエンドサービスに日の目を当てて愛でましょう ~メディアサービス&HDInsight編~

1,079 views
1,013 views

Published on

バックエンドサービス系の紹介

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,079
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
11
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

バックエンドサービスに日の目を当てて愛でましょう ~メディアサービス&HDInsight編~

  1. 1. バックエンドサービスに日の目を 当てて愛でましょう ~メディアサービス&HDInsight編~ 2013年9月7日 #jazug @statemachine & @normalian
  2. 2. 自己紹介 • 割と普通 ( @normalian ) – 社蓄★戦士(キリッ – Windows Azure と ASP.NET とか得意です – JavaEE5 とか JavaEE6 とかも得意です – Microsoft MVP for Windows Azure 2010~ 2
  3. 3. 自己紹介 • @statemachine – 脱社蓄(キリッ – 今の仕事は、ルンバ監視員?! 3
  4. 4. 4 はじめに メディアサービスとは HDInsight とは まとめ
  5. 5. 今回注目するサービス Windows Azure メディアサービス HDInsight
  6. 6. その他のバックエンドサービス • TRAFFIC MANAGER – データセンタ間でトラフィックを割り振る • サービスバス – 通知ハブを利用したモバイルデバイスのプッシュ通知 • 復旧サービス – オフラインも含めたバックアップサービス • BIZTALK SERVICE – BtoB 向けエンタープライズサービスの構築 等々、他にも色々と
  7. 7. 7 はじめに メディアサービスとは HDInsight とは まとめ
  8. 8. 8 メディアサービスの概要 管理ポータルの利用 アプリケーションの開発
  9. 9. メディアサービスの全体像 9 http://www.microsoft.com/en-us/download/details.aspx?id=38195
  10. 10. 様々なデバイスに配信可能 3G 等の低速回線 ブロードバンド回線 低画質 高画質 DP 向け Smooth Streaming HTTP Live Streaming ブロードバンド回線 開発者 Windows Azure メディアサービス … 配信制御 DP … Dynamic Package 元動画 一つの動画ファイル で複数形式で配信可 アップロード
  11. 11. 11 管理ポータルの利用 ① アップロード ② エンコード ③ 配信制御 ④ スケールアウト
  12. 12. ①アップロード 12 • ローカル or ストレージ(BLOB) から動画ファイルをアップ ロード可能
  13. 13. ②エンコード(1/2) • H264 形式の様々な動画ファイルをエンコード可能 13 大容量回線向け動画 Smooth Streaming 向け動画 Dynamic Package 向け iOS 向け ※注 WebM、Ogg 形式はエンコーディングできない
  14. 14. ②エンコード(2/2) • [ジョブ] タブから、動画ファイルのエンコード進捗を確認 14 ジョブの進捗状況
  15. 15. ③配信制御 15 • ストリーミング形式動画 ⁃ http://[メディアサービスアカウント 名].origin.mediaservices.windows.net/<中略 >.ism/Manifest • 非ストリーミング形式動画 ⁃ https://[ストレージサービスアカウント 名].blob.core.windows.net/asset-<中略> [発行] ボタンで動画を公開
  16. 16. ④スケールアウト(1/2) • その 1 :「エンコード」のリソースを制御 16
  17. 17. ④スケールアウト(2/2) • その 2 :「ストリーム配信」のリソースを制御 17
  18. 18. 18 アプリケーションの開発 ① NuGet での SDK 取得 ② コマンドラインの利用
  19. 19. 19 ① NuGet での SDK 取得 • [NuGet パッケージ管理] から検索 「Media Service」で検索 ※注 .NET Framework、Java 向けの SDK のみ提供
  20. 20. • 利用可能な PowerShell コマンド • PowerShell の構文例 ② コマンドラインの利用 20 PS C:¥> New-AzureMediaServicesAccount -Name "mymediademo“ -StorageAccountName "trifonov1“ -Location "West US"
  21. 21. 21 ストアアプリでの動画再生 demo ... この辺を demo
  22. 22. 22 はじめに メディアサービスとは HDInsight とは まとめ
  23. 23. 23 HDInsight の概要 管理ポータルの利用 アプリケーションの開発
  24. 24. HDInsight の概要 • Windows Azure 上でビックデータを扱う機能を提供 • Hive, Pig 等のコンポーネントを構築する手間を軽減 • クラスタ構築の管理の手間を軽減 ※注 現在は Preview 中のため、アメリカ合衆国西部 or 北ヨーロッパでのみ利用可能 Hadoop コア部分 Hive, Pig 等の大規模デー タを取り扱うためのコン ポーネント群
  25. 25. 25 管理ポータルの利用 ① サービスの作成 ② リモートデスクトップの接続が可能 ③ 管理サイト ご利用のその前に、 プレビュー申し込 みが必要 Try it now!!
  26. 26. サービスの作成(1/2) • 4 ノード~ 32 ノードを設定可能 • アメリカ合衆国西部 、北ヨーロッパでのみ利用可能 VMサイズ固定 ヘッドノード XL × 1 データノード L × n
  27. 27. サービスの作成(2/2) • HDInsight アカウントと同一のデータセンタのスト レージサービスをアタッチする
  28. 28. リモートデスクトップの接続が可能 Hadoop コマンド の実行が可能 ノードの状態を閲 覧可能 pig, hive, sqoop がインストール済
  29. 29. 管理サイト サンプル実行、リモートデスク トップ、モニタリング等の細か な処理が可能
  30. 30. 30 アプリケーションの開発 ① HDInsight Server (Azureと同じ環境が試せる) ② NuGet での SDK 取得 ③ C# でかける M/R
  31. 31. HDInsight Server • Web PI でインストール可能 ただし 64bitのみ。Windows上で簡単に Hadoop環境を構築できる
  32. 32. .NET SDK for Hadoop • http://hadoopsdk.codeplex.com/
  33. 33. 33 NuGet での SDK 取得 • install-package Microsoft.Hadoop.MapReduce • install-package Microsoft.Hadoop.Hive • install-package Microsoft.Hadoop.WebClient • install-package Microsoft.WindowsAzure.Management.HDInsight • install-package Microsoft.Hadoop.Avro
  34. 34. 34 C# でかける M/R • Map / Reduce public class Mapper : MapperBase { private char[] delimiterChars = {' ', ',', '.', ':', ';', '¥'','¥t'}; public override void Map(string inputLine, MapperContext context) { var words = inputLine.Split(delimiterChars); foreach (var word in words) { if (!string.IsNullOrEmpty(word)) { context.EmitKeyValue(word, "1"); } } } } public class Reducer : ReducerCombinerBase { public override void Reduce(string key, IEnumerable<string> values, ReducerCombinerContext context) { context.EmitKeyValue(key, values.Count().ToString()); } }
  35. 35. 実行方法 • StreamingUnit Hadoopサービス外で実行 • HDInsight Server (localhost)上で実行 var outputData = StreamingUnit.Execute<Mapper, Reducer>(File.ReadAllLines(name)); static void Run() { var hadoop = Hadoop.Connect(); hadoop.MapReduceJob.ExecuteJob<MyJob>(); } public class MyJob : HadoopJob<Mapper, Reducer> { public override HadoopJobConfiguration Configure(ExecutorContext context) { var config = new HadoopJobConfiguration { InputPath = "input/wc/aristotle-history-78.txt", OutputFolder = "output/wc" }; return config; } }
  36. 36. • Windows Azure HDInsight Uri azureCluster = new Uri("https://pnopcluster.azurehdinsight.net:563"); var clusterUserName = "admin"; var clusterPassword = "Hello123!!"; var hadoopUserName = "Hadoop"; var azureStorageAccount = "pnopclusterstorage.blob.core.windows.net"; var azureStorageKey = "ストレージキー"; var azureStorageContainer = "pnopcluster"; bool createContinerIfNotExist = true; var hadoop = Hadoop.Connect(azureCluster, clusterUserName, hadoopUserName, clusterPassword, azureStorageAccount, azureStorageKey, azureStorageContainer, createContinerIfNotExist); hadoop.MapReduceJob.ExecuteJob<MyJob>(); 実行方法 ターゲットプラットフォーム は、x64で
  37. 37. 37 サンプル実行の demo ...
  38. 38. 実行例
  39. 39. 実行結果
  40. 40. 40 サンプル実行の demo ...
  41. 41. 実行例
  42. 42. 実行結果
  43. 43. 43 はじめに メディアサービスとは 管理ポータルからの利用 ソースコードからの利用 まとめ
  44. 44. 44 まとめ • メディアサービス – 管理ポータルで操作概要をつかみましょう – .NET SDK、Java SDK を利用した開発が可能 – 動的エンコーディングが便利 • HDInsight – Windows 版 Hadoop + α、Windows Azure 上でのビックデータを解析する機能提供している – 素の Hadoop を利用するより大分便利 – もちろん C# での開発も可能
  45. 45. 45 参考 – メディアサービス • Demo – how to create HLS and Smooth Streaming assets using dynamic packaging http://mingfeiy.com/demo-how-to-create-hls-and- smooth-streaming-assets-using-dynamic- packaging/ • How to use Windows Azure PowerShell for Media Services http://www.gtrifonov.com/2013/08/24/how-to-use- windows-azure-powershell-for-media-services/
  46. 46. 46 参考 – HDInsight • patterns & practices - Windows Azure Guidance Part 4, Developing Big Data Solutions on Windows Azure http://wag.codeplex.com/releases/view/103405 • Windows Azure HDInsight サービス入門 http://www.windowsazure.com/ja- jp/manage/services/hdinsight/introduction- hdinsight/

×