YAPC::Asia Tokyo 2015 に参加してきた話

YAPC::Asia Tokyo 2015 とそのハッカソンに参加してきました!
実は、一昨年の YAPC::Asia Tokyo 2013 のスポンサーセッションで Azure の紹介(に名を借りた自己紹介)をしたことがあるんですが、個人参加は今回が初めてです。

なにせ今年でいったんおしまい、という話だったので「これは最後に行っておかねば」と、個人スポンサーにもなってみました。YAPC::AsiaのTシャツとパーカーとタンブラーカッコいいぜ!

正直に言って、私にとってYAPC::Asiaはわりとアウェイな世界。多少なりとも面識ある人は同じ会社の @myfinder さんと TDの @repeatedly, @tagomoris 両氏ぐらいでしたが、しかしとても楽しい空間でした。トークを聞きながら Twitter の #yapcasia で実況ツイートを追っかけて、ところどころ自分もコメントしてるとだんだんアウェイ感薄れてきましたよ。

というわけで参加したトークは以下の通りです。(1日目は参加できなかったので、土曜日のトークのみ)

 

1時間目: @kazunori_279 さんの Deep Dive into the "Out of place Artifacts" of Google Cloud Platform

この謎技術の話はいつ聞いても面白い。Azureのデータセンターも結構頑張ってるはずなんですが、Googleのはホントに(社畜的に自粛)

そういえば、トーク中
「他社のロードバランサは暖機の申請が必要だったりしますがGoogleのは不要です!」
という話がありましたが、Azureのも暖機は不要ですよ!どんと来い!というのを呟いたりしました。

image https://twitter.com/ksasakims/status/634902336377192448

「暖気」って漢字間違ってしまった恥ずかしいわい。

あ、こちらでさらに解説されてますね。
YAPC Asia 2015「Google Cloud Platformの謎テクノロジーを掘り下げる」のまとめ

 

2時間目: @myfinder さんの Discover the Microsoft Azure 

いつの間にかマイクロソフト社員になってた @myfinder さんによる Microsoft Azure の紹介。これは応援せねばと駆けつけました。Stream AnalyticsやPower BIのような分析系テクノロジ推し。さすが目の付け所がシャープ!です。 資料は docs.com にあります。

本人のブログ: YAPC::Asia 2015でAzureの話をした件とハッカソンの運営をした件

なお、このセッションのQ&Aに割り込んで
「AzureのドキュメントはGitHubで管理されてるから間違ってたらPRください」
と言ったのが私です。ここですここ。

 

3時間目: @repeatedly さんの Technologies for Data Analytics Platform

Treasure Data の  @repeatedly さんによるデータ分析系テクノロジ・サービスのハイレベルな紹介。とても分かりやすくて勉強になりました。ちらっと Azure にも触れてくださって感謝であります!

image https://www.slideshare.net/repeatedly/technologies-for-data-analytics-platform

そして、「分散キューは Apache Kafka 以外はだいたい淘汰された」というシーンで泣きながらツイートしたのがこちら。

image https://twitter.com/ksasakims/status/634952026879725568

天下の @oza_x86 さんがフォローしてくださった。ありがとうございます。

 

5時間目、@tsubasaxZZZ さんの About Windows for OSS Enginner

なんとも珍しい Windows の紹介セッションを発見したので参加してみると、なんとスピーカーは個人参加している弊社のエンジニアでしたよっと。There is more than one way to work at Microsoft! ですな。
「UNIXならこうやる操作、Windowsではこう」とマッピングする形での、わかりやすい説明でした。

伝統的な UNIX がデバイスやソケットも「ファイル」の形に抽象化することでそれらを統一的に扱える仕組みを提供しているように、Windows NT  (今の Windows はすべて NT です)ではあらゆるものが「オブジェクト」という形で統一管理されているのですが、そのオブジェクトのエクスプローラもあるんですよ、とか Windows Vista世代からイベントログの仕組みは大幅に刷新されたんですよ、などと Twitter で加勢しながら聞いてました。

image https://twitter.com/ksasakims/status/634983972045459456

image https://twitter.com/ksasakims/status/634983063815081984

何でもありで楽しいな YAPC は!

 

日曜日はハッカソン

@myfinder さんが暗躍したおかげで、今年のハッカソンはなんと日本マイクロソフト品川本社のセミナールームで開催されました。こりゃー行くしかない。プログラムあんまり書けないけど…というわけで行ってきました。

さて、必ずしも Perl 感ないYAPCですが、せっかくなので Perl で何か書こう。そうだ、昨日つぶやいた Event Hubs と Storm のあたりがいいな、

「Azure Event Hubs からデータをガンガン読み取って、それを HDInsight (Azure 上の Hadoop)上の Apache Storm で動かした Perl トポロジで処理する! 」

というのをやってみよう!と思ったわけです。そもそも Perl で Storm のトポロジを書けるのか全然わからなかったので、その調査から始めました。

あ、その前に Storm 界の登場人物を整理しておきましょう。

image

Spout (蛇口) を何らかのデータソースにぶすっと刺してやります。そこから流れ出てくるデータの粒が “Tuple” で、Tuple を処理するプログラムロジックが “Bolt” です。 Bolt は複数定義して多段に構成できますよ。

これら、Spout と一連の Bolt の組み合わせが「Topology」と呼ばれるもので、トポロジを Storm クラスタにデプロイしてスタートすることで Storm のメッセージ処理が始まります。

さて、Perl で Storm のトポロジを書くには、、、と調査を始めたとこり、ちゃんと CPAN にあるじゃないですか、こういうのが!

IO::Storm - IO::Storm allows you to write Bolts and Spouts for Storm in Perl.
https://metacpan.org/pod/IO::Storm

これ使えば簡単じゃん!と安心したのですが、そう簡単にはいかないのでした。今回の場合、Azure の Event Hubs からデータを読みたかったのですが、 Event Hubsに対応した Spout は Java で書かれたものしかないんですよね → storm-eventhubs

Java の Spout と Perl の Bolt を組み合わせてハイブリッドなトポロジを作る方法がよくわからず、情けない私はここでギブアップしました。そのうち社内ハッカソンでリベンジしてやる…

 

また参加したい!

そんなこんなで YAPC::Asia Tokyo 2015 最高でした。今後、少なくとも YAPC という名前では開催されなくなるのだと思いますが、またぜひ参加したいなと思います。

__END__