re:Invent 2015に参加してきた

会社にお金を出してもらってAWSのカンファレンスであるre:Inventに参加してきました。

 

自分が所属しているチームではデータ分析基盤を開発・運用していて、サーバの保守期限とかあるし、そろそろAWSも考えないといけないよねーという理由があっての参加だった。

うちの会社では去年から参加していて、今年は4人が参加した(全員インフラ所属)。

 

海外には何度か行ったことがあるけど、アメリカに行くのは初めてだったので、今回HIS経由のツアーで行けてとても楽をできた。

ホテルや航空券の予約をやってくれるっていうのは想像以上に助かったな〜。今までツアーを使ったことがなかったので安心を買うという意味ではいいかもしれないと思った!

 

初日

ということで、安心してラスベガスに来れた!

こっちに着いたときにはもう夕方で、ラスベガスでは珍しく雨が降っていた。

でも、雨なラスベガスも綺麗だったー!

re:Inventの会場はベネチアンホテルというところなんだけど、予約がギリギリだったためフラミンゴというホテルに泊まることに。

このフラミンゴ、ラスベガスでは歴史の長いホテルなんだけど、一緒に行った先輩曰く「歴史なんてどうでもいいから良いホテルに泊まりたかった」そう。笑

確かに中の設備は微妙だったので、ベネチアンが良かった〜!

2日目

この日の夕方にレセプションがあって、それまではパートナーサミット?みたいのがあるらしい。

弊社はパートナーでもなんでもないのでとても暇。ということでセスナに乗ってグランドキャニオンを見てきた!

グランドキャニオンについて何も調べずに行ったけど、音声ガイド(もちろん日本語!)で歴史とかコロラド川とか教えてくれて大助かり。

雄大だったな〜。

その後は、いよいよレセプション会場のベネチアンホテルに行く。

Welcomeされてる〜。受付するとre:Inventパーカーもらえました!

レセプション会場はこんな感じ。

監視サービスやセキュリティサービスがビッグスポンサーになってた。AWSの利用者しか集まらない場だから全員が顧客になりうるわけだし、マーケティング的にはいいよね。

スポンサーブースではいくつか話したんだけど、英語がつらかった。笑

質問されて答えることはできるけど、自分から質問することがなかなかできない。内容を考えて、さらにそれを英語に直してという作業が頭のなかで上手くできなかったので、日本に帰ったら英会話はじめて話す機会増やそうと思う次第でした。。。

Datadogに行ったときは「君の会社はカスタマーだよ」って言われて何言ってんだこの人と思ったら、どうやらUSの支社が使っているらしい。

USのほうはre:Inventのスライドの至る所でロゴが紹介されていてけっこうプレゼンスあるんだなーと思ったり。

その後は日本から来た人だけでJapan Nightという懇親会があって交流を深まった、はず。

3日目

この日からが本番!

KeynoteではQuickSightが紹介されたり、データを移行するためのツールがいくつか紹介されていて、AWS的にはアプリケーションを作るための機能はだいぶ揃ってきたから、あとはどうやってオンプレからきてくれるかを試行錯誤してるのかなー。

会場は音楽が流れててかっこいいし、この雰囲気は盛り上がること間違いなし!

この日みたセッションをいくつかピックアップすると、

(BDT205) Your First Big Data Application On AWS

Kinesisってこんな風に使えるよとか、EMRはこう使えるよっていう紹介のセッションだった。

自分自身、Kinesisについてよくわかっていなかったので、最初にこれを聞けたのは良かった!

内容は、Kinesis使って、そのデータをSpark Streamingで変換して保存して、再度そのデータをSparkで加工して、Redshiftにサマリデータを入れて可視化するってアプリケーションの作り方。

これが基本的な感じだし、俺らが基盤を作ろうとしてもだいたいこうなるんじゃないかと思った。

(BDT310) Big Data Architectural Patterns & Best Practices On AWS

この時間、時差ボケのせいですごく眠くてうとうとしてた。。。

結局はこれも前のセッションと同じことを言っていて、collect(fluentd), store(kinesis, S3), analyze(hive, spark streaming), consume(BI)を使いなさいよと。

でも、小さなデータを細かく送る場合はDynamoDBを使ったほうが安くなる(S3はリクエスト課金が発生するため)からそこらへんも考えてねと。

結局はベストプラクティスなんてものは自分たちのユースケースによって決まるから1つじゃないので、しっかりと考える必要がありそう。

あ、fluentdもしっかりベストプラクティスのツールとして紹介されてた!

 

この日はセッションが終わるとパブクロールといって、パブを何軒も回って飲み歩くイベントらしい。

やっぱり英語でコミュニケーションを取らなきゃいけないため、厳しかった。。。でも、香港のAWSの人と話したり、AOLの人と話したりした。

特にAOLの人は、英語のレッスンをつけてくれて、とても優しい人だった。涙

16歳くらいの子供がいて、よくテレビゲームやってるって言ってたり、コストが大きくてAWSには完全移行できないみたいなことも言ってた。

次に参加するときにはこういうところで自分から話せるようになりたいな〜。

4日目

この日もKeynoteがあってそのあとはセッション。

この日のピックアップセッションは、

(BDT303) Running Spark and Presto on the Netflix Big Data Platform

Netflixの話は、アーキテクチャというよりは、俺らはこういう風にPrestoとSparkを使ってて、しかも必要に応じてContributeしてるよという話だった。

Prestoのworker数はdynamicにクラスタ数を変えていたり、SparkはPartitionをListingするところがボトルネックだったからS3Clientでbulk listingにしたとかとか。

この話はもうAWSをこれから使う人が聞くと参考になる話ではなく、AWSをガンガン使っている人がこうするとさらに効率の良いサービスが提供できるようになるという話で、これらを考えるレベルに到達するためにはまだまだ修行が必要だなと感じた。

(BDT305) Amazon EMR Deep Dive and Best Practices

Finraという企業ではS3にデータを重複して持っていて、1つはParquetのようなクエリオプティマイズされた形式、もう1つはraw data。raw dataのほうはGlacierに保存する。

Hadoopはファイルが小さいとパフォーマンスがでないので、S3distCpでファイルをconcatする。できたら100M以上が望ましいが、無理な場合はHDFSのblock sizeを小さく設定しておく。

結局、raw dataとcolumner formatの2つを持つのが鉄板だなーと思う。

きっとその方がjsonで保存しているよりも安くなるのではないかとも思う。

あとはparquetのスキーマ変更だけ。hiveとかではmetadataをいじって対応してるみたいだけど、結局parquet自体のフォーマットを変えてるわけではないので新しいクエリエンジンとかでてきたときに大変そうというのはある。

ここらへんは各社の泥臭い話を聞けばよかったな〜。

 

セッションが終わると締めはre:Playパーティ!

今年は規模が大きすぎて野外での開催になったらしい!ゲームだったり、DJライブだったり、とかなり盛り上がってた!

DJはZEDDっていう人だったんだけど、ゼルダの音楽をアレンジしてて、自分たちのゲームとかもいずれこんな風になったらいいなとも思った。

ゼルダ!

5日目

朝からセッションがあり、今日の注目はMobile Analytics。

(MBL309) Analyze Mobile App Data and Build Predictive Applications

Mobile Analyticsについてはあまり知らないのだけど、先輩が注目しているようで聞いてみたかった。

このセッション、聞いてみるとかなりの当たりセッションだった。何と言ってもプレゼンがうまい。

なぜKPIが必要なのか、なぜBIが必要なのか、なぜMachine Learningが必要なのかをちゃんと説明していて、さらにそれぞれでAWSのサービスをどう使えばいいかを説明してくれいてる。

Mobile Analyticsを使うと、DAUやRetentionなどの基本KPIを出してくれる。

さらにCustom Eventでも集計できるようになるので、自分でEMRをたてて集計したりする必要がなくなる。

でも、最高で60分のdelayが生じるのでそれが許容できない場合はやめたほうがいい。

さらにMobile AnalyticsからS3&Redshiftにexportでき、RedshiftのデータをQuickSightから分析することができる。

KPIで上がったり下がったりした原因をBIツールを使うことで分析する。クエリを書く必要はなくポチポチだけなので非エンジニアも安心だ。

例えば、ここで離脱ユーザーが増えていることがわかって、離脱しそうなユーザーだけにメールを送りたいと思ったときにMachine Learningを使ってアプローチする。

この発表者は英語も聞き取りやすかったし、さすがはData Scientistだ。笑

 

この日の午前中でre:Inventはクロージングで、その後はロブスター食べて観光した。

 

で、6日目の早朝に出発して帰国!

 最後に

re:Inventは動画もスライドも全てインターネット上にあってお金をかけてまで行く必要はないように思っていたけど、実際に行ってみると動画にはない質疑の内容が聞けたり、直接AWSのブースで質問できたり、なかなか会わない海外のエンジニアと議論できたりとなかなか得がたい体験ができた。

そもそも日本にいたらまともに動画見ようとも思わないし、強制的に話を聞く機会を作ったことで親しみのないAWSのサービスについても詳しくなり視野が広がった。

データ分析基盤については、作るとしたらこう作るだろうみたいな基礎的な部分は固まったように思えるので、あとはみんなが話さない泥臭いところとかが見えてくればいいのかな〜。

観光が半分くらいを占めていたように思えるけど、かなり勉強になった初出張でした!

ありがとう、会社!!