Windows Developer Daysでしゃべりました

というわけで、4月24日~25日、Windows Developer Daysに参加してきました。

しかも2日目(25日)の SP-011 Windows 8 と Azure で更に広がる VOCALOID の世界でヤマハの剣持さんと一緒に喋るという、大変貴重な経験をさせて頂きました。

セッション内容はというと、Day 2のキーノートで紹介されたMetro Style App版VOCALOIDの裏側のお話でした。

セッション資料はたぶんMicrosoftさんが公開してくれるでしょう。。。(ちゃんと聞いてない)

簡単に説明すると、ボーカロイドの父と言われている開発者の剣持さんから

  • VOCALOIDって何?
  • VOCALOIDを取り巻く世界
  • VOCALOIDエディタについて
  • VOCALOIDの音声合成の仕組みについて
  • NetVOCALOIDについて
  • VOCALOIDの未来

などをお話し頂きました。

さすが剣持さん、ライブで打ち込んで調教したりとサービス満点です。他のセッションに比べ「音」を扱うだけに左右の部屋に音漏れしないか注意しながらのデモでしたが(実際少し漏れてた?)、VOCALOIDについて面白い話をたくさんして頂きました。

楽器が変わるとできる音楽もかわる、VOCALOIDはそういう意味で新しい音楽を切り開くきっかけになるんじゃないかなというのは、すごくそう思います。で、より簡単にいろんな人に触ってもらいたいと。

キーノートでは見た目インパクトや話題性なところが若干先行しましたがw

で、後半おいらのほうでキーノートでお披露目されたMetro Style App版のVOCALOIDの再演(西脇さんのデモの後というひどく高いハードル)と、実は裏でWindows Azureが動いてたんだよ、こんなコンセプトでやったんだよ、というのを説明しました。

セッションでも言いましたが、サービスとしてシンプルに、スケーラブルに出来るようにしてます。詳しくはスライドでw

で、最後ポータブルなコンセプトのところで伝えたかったのはMetro Style Appはまぁ新しいUXでそれ自体可能性をたくさん秘めてると思うんですが、他のデバイスやKinectみたいなインターフェース、それからそれを実現するための裏側インフラとしてのクラウド、Windows Azureなどを組み合わせたらもっといろんな世界が広がるんじゃないかなぁと。

実際、Windows Azure Media Servicesなんかであらかた必要そうな機能はそろいますし、インフラとしては申し分ないんじゃないかな。

あとはおいら含めた開発者と、利用者の出番ですね。是非楽しい、面白い未来の世界を作り上げれればなと思います。で、おいらは少しでもそういったお手伝いができればいいな。楽しいことには積極的に参加したいですしねw

というわけで、普通に考えるとまったくもってWindows Developer Daysとは全然毛色の違うセッションでしたが、おかげさまで立ち見まで出るほどでした。キーノートさまさまw

参加者のアンケート結果を知るのはまだまだ先になりそうですが、セッションタイトルに恥じない、楽しんで頂ける内容になったんじゃないかな~と勝手に思ってます。剣持さんのおかげです!

最後になりますが、参加者の皆様、関係者の皆様、剣持さん本当にありがとうございました。

プロ生@大阪でしゃべってきました

というわけでしゃべってきました。

4/21 プログラミング生放送勉強会 第15回@大阪 [Windows 8, JavaScript, Azure, Kinect 他] #pronama

当日はいろいろ楽しかったです。おいらは凄くざっくり適当なWindows AzureとKinectの概要と連携するようなデモしました。

デモネタ的には

  • Kinect for Windows SDKのサンプル紹介
  • Kinectで地球まわす → Kinect for Windows SDK で動かす KinectEarthMove をV1.0に対応してみました を参照
  • Kinectで取得したスケルトンの情報をCloud9IDEで作ったNode.js+WebSocketなアプリでみんなで共有
  • MikuMikuCaptureでクラウディアさんを表示させてKinectでモーションキャプチャしてWebカメラとして出力したものをExpression Encoder 4 SP2の入力ソースにしてWindows Azure上のLive Smooth Streamingでライブ配信

Kinectのスケルトン情報をWebSocketで共有するCloud9IDEのソースは AzureFan さんのチャットアプリを勝手に流用させて頂きました。ありがとうございます。仕組み的には単純で各ジョイントの位置情報をJSONにしてWebSocketでサーバー側に送信して受け取った内容をクライアントにPushしてCanvasに描画、というものです。本当はWindows Azure連携という感じにしたかったのですが、Cloud9IDEからWindows Azureにデプロイできず…(たぶんWindows Azure側の管理証明書の数が多すぎてエラーになった?)

ちょっとHTML5で描画させるコードが適当すぎて重い感じでしたが…

あとLive Smooth StreamingのデモもPCスペックのせいか回線のせいか、事前にやったときはうまく行ったんですが上手くライブ配信できず…エラーにはならないけど実際にSilverlightなクライアントで参照することはできませんでした。。無念。

あと時間が余ったのでKinectの深度情報を表示するアプリをライブコーディングで1からやったり。

セッションのスタンスがあくまで概要、かつ検索すればわかるような部分はスルーしました。正直KinectはかおるんさんのBlog見て頂いたほうが詳しいですはい。

一応PPTもあげておきます。生ものなのとだいぶ端折ってるので、資料としての価値はあまりないなぁ…と反省しつつ。

まぁ楽しんで頂けて且つ少しでもWindows AzureとKinectのことを知っていただけたら幸いです。

Windows Azure Media Servicesがアナウンスされました

National Association of Broadcasters (NAB) 2012 にてWindows Azure Media Servicesがアナウンスされました。

そもそもWindows Azure Media Servicesってなんでしょう?

発表されたばかりのこのサービスを利用すると、スマートテレビやセットトップボックス、MacOS、iOS、AndroidなどMS以外のプラットフォーム、それからもちろんXBoxやWindows Phone、Windows PCを含むほぼすべてのデバイスへのメディア配信を簡素化できるようです。

もともとこれらの機能はPlayReadyでおなじみのMicrosoft Media Platformで培われた機能ですね。つまり簡単に言うとMicrosoft Media PlatformのサーバーサイドがWindows Azureのサービスとして追加されるということです。

素晴らしいですね~!

さてサービス化されて何ができるんでしょう?まだ細かい機能が公開されてないので公式サイトを適当に見てみます。

End to Endのワークフロー

メディアワークフローが構築できます。ニーズに合わせて構成を組み合わせたり構成済みの設定を利用したり。アップロードやエンコーディング、フォーマット変換、コンテンツ保護(DRM)、配信が行えます。

ハイブリッドワークフロー

複数のフォーマットに変換して3rd Party製のCDNに配信したり外部アプリとREST API経由で連携したりできるみたいです。

Windows、Xbox、iOS、Androidのサポート

各デバイスに必要なメディアの作成や管理、複数デバイス間での配信機能などを提供。

Media Servicesのベネフィット

Windows Azure Media ServicesはMicrosoft Media Platformのクラウドサービス版です。既存のソリューションやカスタムワークフローなどニーズに合わせて簡単にサービスを管理できます。

取り込み

標準的なHTTPや、3rd Party製のエージェントを使用したセキュアで高速なUDP通信を使用してWindows Azure Media Servicesのストレージにメディアをアップロードできます。

エンコード

標準的なコデックとフォーマット、Smooth StreamingやHTTP Live Streaming、MPEG-DASHやFlashなどビルトインで提供されるWindows Azure Media Encoderまたは3rd Party製のエンコーダを利用できます。

フォーマット変換

ストリームの入力と出力を制御してライブラリ全体や個々のストリームを変換できます。

コンテンツ保護

Liveやオンデマンドの音声やビデオを標準的なMPEG Common EncryptionやMicrosoft Play Readyを使って暗号化することができます。業界でも最も受け入れられているDRMをコンテンツに追加できます。またウォーターマークや電子透かしを追加することもできます。

オンデマンドストリーミング

Windows Azure CDNや3rd Party製のCDNを経由してコンテンツをシームレスに提供することができます。

ライブストリーミング

ライブチャンネルのストリーミングやMedia Servicesを使ったエンコード、外部フィードからの配信などを簡単に作成し、配信できます。サーバー側DVRやリプレイ機能なども利用できます。

価格など

今時点ではプレビュー版なのでコストはかかりません。(但しストレージやネットワーク転送料、CDNなどの既存のWindows Azure機能に関するコストは発生します)

サインアップするにはメールしましょう!(※想定してるシナリオも書いてねとのこと)

開発するには

この辺参照 → Windows Azure Media Services Preview for Developers

おまけ

この辺の詳細はWindows Developer DaysのSC-008 Windows Azure Platformでの動画配信アプリケーション開発で聞けるみたいですよ!

Team Foundation Service Previewに接続してるソリューションが開かない

現在Preview公開中のTeam Foundation Serviceですが、このTFS Previewに接続してるVisual Studioのソリューションを開こうとするとソース管理のステータスを更新しています的なメッセージ(Updating source control status..)の状態で止まってうんともすんとも言わなくなるケースがあるみたいです。

どうもNuGetのバグっぽいようで、最新のNuGet 1.7にアップデートすることで解消するらしいとのこと。

実際アップデートしたらすんなりと開くように直りました。。。

もし嵌ってる人が居ればお試しあれ。

Azure Blob Storageのコンテナのパーミッションを変更する

小ネタです。Azure Storage Explorerだと出来なさそうだったのでPowerShellでサクッとAzure Blob Storageのコンテナのパーミッションを変更します。

  • Windows Azure PowerShell Cmdlets を利用するので、あらかじめインストールしておいてください。
  • 理屈的には大したことしてませんのでAzure SDKを使ったマネージコードでもできます。

Windows Azure PowerShell Cmdletsを起動して、Get-Containerコマンドでコンテナを取得します。

$container = Get-Container -StorageAccountName ***YourAzureStorageAccount*** -StorageAccountKey ***YourStorageKey***

 

取得できたらInstance(コンテナ)のGetPermission()メソッドを呼んで現在の権限を取得します。

$permission = $container[3].Instance.GetPermissions()

 

PublicAccessプロパティが現在の値です。(OffがPrivateコンテナ、ContanierがPublic Contanier、BlobがPublic Blobになります)

今現在はOffなのでPrivate(非公開)です。

image

image

このPublicAccessプロパティに”Container”等をセットし、Instanceプロパティ(コンテナ)のSetPermissions()メソッドを呼び出して設定を反映させます。

$permission.PublicAccess = "Container"
$container[3].Instance.SetPermissions($permission)

 

image

無事コンテナのアクセスレベルが変わりました。

image

Microsoft Endpoint Protection for Windows Azure CTP

Windows Azureのセキュリティが心配で心配で夜も眠れない人に朗報。 クライアントPC等で企業向けに提供されているMicrosoft Endpoint Protection(以下MEP)がWindows Azureでも利用できるようになりました。(※2012年3月19日現在ではCTP)

続きを読む

MS12-020 リモート デスクトップの脆弱性により、リモートでコードが実行される (2671387)

「緊急」のセキュリティ更新プログラムが公開されてました。

みなさんご推察の通り、RDPを有効にしたWindows Azureのインスタンスも例外ではないと思います。

というわけで、このセキュリティ更新プログラムが適用されたGuestOS(1.17/2.9)がリリースされています。

※手動での適用はイメージが伝播するまでしばらく待ちましょう。(自動更新の場合は適用が開始される場合があるかと)

※ホスト側のリブートもありそうですね。

Windows Azure サービス中断の話

2月29日に発生したWindows Azureサービス中断ですが、Microsoftから公式として以下のRCA(根本原因分析)が出ていました。

詳細はリンク元を見て頂くとして、やはり発端はうるう日(2月29日)に証明書を発行できなかったのが原因のようですね。有効期限1年の証明書発行に問題があると。(うるう日なので)

これだけならせいぜい新規のインスタンス起動が出来ない程度じゃ?と思ったんですがFabricController側への障害通知が繰り返し行き、本来ソフトウェアの問題のはずがハードウェアの問題と捉えられてどんどん影響範囲が広がって行ったみたいですね。

時系列でも解説されていますが、なるほどという感じです。共用型で自動化されたPaaSならではな印象もうけますが、、、

バグそのものは早期に修正されたみたいですが、更新の過程で2次停止も起こったあたりも興味深いです。それだけPaaSのインフラを管理するのは複雑で大変なのかというのがわかりますね。

ただ今後の対策なども明確になっているようですので、再発の防止とより良いサービスの提供を目指してもらえるといいかな~。

サポートについてはパンクっぽい様子だったようで、利用者から見ても改善の余地はあるかと思ってます。(スパイクに対応させるのは難しいと思いますけどね…さばき方の問題かな)

技術者目線だとなるほど、ですが利用者目線だともう少し違う説明をしないといけないんだろうなぁ。もうひと踏ん張りですね。

以下余談。

問題の発生当初は実はグロサミでWelcome Receptionまっただ中だったわけです。でそのパーティーのさなか某はうはう氏がノートPC広げてAzureの障害が~と日本の仕事の対応してたんですね。で症状を聞くにその場にいた抱き枕氏と「これって閏年(うるう日)だからじゃないのー?日本はもう29日だよね。こっち(PST)はまだ28日だし大事になってないし。つまり閏年なバグじゃね?」「まさかー。ねぇ」とか冗談で言ってたわけですがドンぴしゃとは…

で、その後自分が関わってるサービスもぐるぐる祭りが続いたりそれなりに大変だったわけで(おそらく2次停止のほうに巻き込まれた感じ)。まぁ大変といってもインフラの問題なので出来ることはReImageやら再デプロイ程度でぐるぐる祭りを眺めてる程度なんですが。

さて日本人的に気になるのは世間体ですかね。SLA99.95%に何を求めてるかわかりませんがやたら要求だけは厳しい日本の企業にはどう映るかな、という心配はあります。1秒でも止まったらアウトなミッションクリティカルなシステムだとそもそも99.95%で保証なしなんて論外でしょうし、そうじゃないなら、自社運用でも何でも好きなのコストかけてがんばって運用すればいいじゃないですかとか思いますが。。このあたり思考停止してベンダーになすりつけてるところ多い気がするので心配ですね。そんなことなければいいんですが。

サービスをうまく使うには利用者側も勉強しましょう。これは大変ですけどその見返りも当然あるわけで。そこをないがしろにしてたらうまく行かないと思いますよと昨今のSI業界にも通じるような思いがあったりなかったり。(とはいえどっちの言い分もある程度わかるのでなんともですけどね。)

どんどん本筋とそれてしまった感がありますが、今後の展開次第では本筋と違う話ばっかりになる可能性もあるのでそんなのは嫌だなというのだけわかって頂けると嬉しいです。

たぶん後半は言葉足らずで的外れな部分もあるでしょうけど、まいっか。

2012年3月13日追記

日本語公式サイトで翻訳された内容が公開されたので追記。公式発表は大事ですよね。ちゃんと根本原因分析ができて公開できるのは凄いことだと思いますよ…

Windows Azureの価格改定

というわけで唐突ですが価格改定があったようです。

Announcing Reduced Pricing on Windows Azure Storage and Compute

  • Windows Azure Storage値下げ
    Pay-As-You-Goの場合、12%オフ(0.14ドル⇒0.125ドル) … GBあたり約11円/月に
  • Windows Azure ComputingのXSインスタンス値下げ
    従来の50%に(0.04ドル⇒0.02ドル) … 1XSインスタンスあたり約1,312円/月に

image

XSサイズはSサイズと比較すると1/6になりました。Sインスタンス1台分で6台分のXSが動かせます。多少スペック低くても台数欲しい時とか上手く活用すればかなりコスト削減になると思います。

SQL Azureの値引きも先月発表されましたし、現実的な使いやすいプランになるのはいいことですね。

参考:

Microsoft 2012 MVP Global Summitに参加してきました

というわけで2月28日~3月2日に米国で開催されたMicrosoft 2012 MVP Global Summitに参加してきました。

一応思い出なんぞをつらつらと書いておこうと思います。(内容はNDAなので書けません)

今回は初参加だったのですが、時間に追われるのが嫌いなのと人見知りで団体行動が苦手なのでツアーはやめてちょっと期間を延長して行ってきました。

続きを読む