DMM.comの、一番深くておもしろいトコロ。

re:Invent 2019参加レポート

re:Invent 2019参加レポート

  • このエントリーをはてなブックマークに追加

top画像

はじめに

先の12月1日〜6日、ラスベガスにてAWSの最大級のイベント「AWS re:Invent 2019」が開催され、 弊社からは山崎(ビッグデータ)・菅野(配信インフラ)・高野(SRE)そして、CTOの松本が参加しました。 そこで今回は、松本以外のメンバーによるイベントの体験記や、それぞれが興味を持ったセッションなどについて紹介したいと思います。

ビッグデータ部:山崎

こんにちは。 ビッグデータ部の山崎です。 普段はデータ基盤の運用や、トラッキングシステムの運用、開発を行っております。

私からは、データ基盤運用者として興味を持ったセッションと、個人的に惹かれたセッションについて紹介します。

Deep dive into Amazon Athena

www.youtube.com

スライド: https://d1.awsstatic.com/events/reinvent/2019/REPEAT_1_Deep_dive_into_Amazon_Athena_ANT307-R1.pdf

Deep diveのセッションでしたが、実際はre:Invent前にあったAthenaに対する以下アップデートでした。

  • Federated Query対応。
  • SQLクエリから推論のための機械学習モデルを呼び出し可能である。
  • UDF対応。
  • メタデータカタログとしてHive Metastoreをサポート。

これらに対して、具体例を交えながら説明、デモを行うセッションでした。

現在弊チームでは、アドホック分析基盤の実行環境としてAthenaを使用しています。 そのため以下の2点の具体的な利用用途がイメージできました。

  • Federated Queryによる他チームDBからのデータ取り込み。
  • HadoopとAthenaのメタデータ二重管理回避ができるHive Metastoreのサポート。

アップデートを見るだけではたどり着けない部分だったと感じました。

re:Inventやその前後で発表のあった領域は、やはり機械学習周りが圧倒的に多かったのですが、ビッグデータ処理周りもRedShift含め有益なアップデートが多く、AWS上にデータ基盤を構築する優位性を感じました。

Intro to Amazon CodeGuru: Automated code reviews & application performance recommendations

www.youtube.com

スライドはまだ公開前のようです(2019/12/19時点)

こちらのセッションでは、Keynote with Andy Jassyにて発表された 自動コードレビューサービス CodeGuru について、 keynoteで触れられなかった部分までデモを交えて説明するセッションでした。

今回のKeynote内で発表された新サービスのうち、 会場の反応が一際良かったのはこのCodeGuruだったと個人的には思っています。

Keynote内で語られていたCodeGuruのサービス内容は、自動でコードレビューを行って 人間に分かる形で様々な知見をレコメンドしてくれるというもの。 そんな夢のようなサービスが、実際のところ本当に使えるものかが気になりこのセッションを受けました。

CodeGuru自体は2つの機能で構成されています。それぞれについて説明とデモがありましたが、私が気になっていた自動コードレビューサービスはCodeGuru Reviewerの機能でした。

  • CodeGuru Reviewer
  • CodeGuru Profiler

このセッション内のデモにて、実際のCodeGuru Reviewerの動作する様を確認できたのですが、結果は予想以上でした。

CodeGuruデモ画像

この画像は、デモ時のCodeGuru Reviewerからのレビューの1つで、 以下のコメントが付いています。

  1. ConcurrentHashMapを使っていますが、そのgetとputの使い方はスレッドセーフではない。
  2. なのでput()ではなく、putIfAbsent()を使ったほうが良い。
  3. putIfAbsent()はnullを返すことがあるので気をつけましょう。
  4. exampleのリンクを添付するので参考にしましょう。

いずれもとても理想的なレビューだと感じました。

もちろん、これはデモとして上手くレビューが出るようにしている部分もあるのでしょうが、並列性の観点までレビューして、解決方法を含めて提案してくることに感銘を受けました。

セッション内では「このサービスを使うことは、24/365で対応してくれるエンジニアのレビューが受けられるに等しい」と言われていましたが、まさにそのとおりでしょう。

現状、CodeGuruはJavaのみでしか使用できないため、 まだ自身では試せてはいませんが、 私自身が使用している言語もサポートされるようになった際にはいち早く使いたいです。

インフラ部配信基盤グループ:菅野

つづいて、インフラ部の菅野です。DMMの動画配信に関するインフラを担当しております。

主に普段はオンプレでの運用を実務としていますが、そんな私から見たAWS re:Invent'19における面白かったセッションについてご紹介させていただきます。

Deep-dive into 100G networking & Elastic Fabric Adapter on Amazon EC2

動画とスライド: Chalk Talkということもあってか、このセッションでの動画およびスライドは公開されていないようです(2019/12/21現在)

Chalk Talkとは、 QAを交えながら場合によってはディスカッションなどが行われる形式でのセッションです。 上記のセッションでは、100G Networkおよびその実現に影響を与えたNitroシステムのDeep DiveとHPCへの応用について、Chalk Talk形式で話されていました。

今回のre:Inventでは機械学習周りのアップデートが多く紹介されていましたが、 それに加えてNitroの話も大変多く聞きました。 NitroとはAWSの仮想化システムのことで、 具体的には、物理的なNitroカード、セキュリティチップ、そこにHypervisorから成るシステム構成とのことです。 Keynoteではこれらの話に加えて、 チップセットでのセキュリティ面強化と、 HPCなどでも耐えうる通信速度の向上が強く語られていた印象がありました。

Deep Diveでは、Keynoteで語られた内容の復習とそれに対するQAから入り実際にNitroがもたらしたものとして下記の恩恵が重点的に語られていました。

  • 20倍以上のパフォーマンスの向上
  • インスタンス間のレイテンシの削減
  • 100Gbpsの帯域を利用可能にするパフォーマンス

具体的な内容としては、新発表のインスンタンスタイプについての細かいスペックが出ていたり、インスタンスの裏側で利用されているBlockStorageの話や、 VPC内での各種通信帯域のリミット値の話が紹介されていました。

なかでも、とりわけ興味深かったのが以下の2点です。

  • 同VPCもしくはpeer VPC内のインスタンス間通信については、A-Zを跨ぐ/跨がないに関わらず100Gbpsを実現していること
  • 同じリージョンのS3との通信も、VPC Endpointsやpublic IPsの通信の違いに関わらず100Gbpsを実現していること

普段オンプレで日夜通信帯域などを考慮してエンジニアリングをしている身としては、とても面白く興味深い話でした。

UnicornFlix: Building a video-on-demand app with AWS

資料: https://github.com/awslabs/unicornflix

re:Inventでは、セッションだけでなく多くのWorkshopも開かれています。 Workshopでは上記資料のような用意された課題をその場で質問しながら進められました。 アカウントも用意されており、もし自分のアカウントで実施する場合には別途クーポンが配られるなどの対応がありました。

動画配信系のWorkshopはいくつかあったのですが、今回は単純に時間が良かったからという理由でこのWorkshopに参加してきました。 Workshopの流れとしては、まず初めに「このWorkshopでは何をしてもらうのか、どのAWSのサービスを用いるのか」などが説明されます。 あとは各自がWorkshopのドキュメント(先ほどの資料)を見ながら進めていきます。 行き詰まったら同じテーブルにいる人から聞いたり、当然AWSのエンジニアへの質問も可能です。

基本的には各自黙々となるわけですが、詰まる人も当然入れば、用意されていたアカウントにたまたま不具合があってAWSの人と一緒に唸ってる人もいたりと様々でした。 ただ、周囲の雰囲気を見ていた印象としては、AWSのエンジニアに「このサービスを使ううえで気をつけたほうが良い点はある?」「ベストプラクティスは?」なんていう質問をしている人もいたように見受けられました。 それらの様子から、初心者だけでなくWorkshopの場を有効活用して自分の知見をさらに深めたい中/上級者まで幅広い層が参加しているように感じられました。 私自身は、英語がそれほど得意ではないのと普段そこまでメインで利用しているサービスではないというところもあって、そういった雑談形式での質問をすることは叶わなかったのですが、 今後参加される方にはそういったことにも挑戦してみることをおすすめしたいです。

UnicornFlixのステッカー

ちなみに、参加賞としてUnicornFlixのステッカーが貰えました。

SRE部:高野

最後に、2019年度新卒でSRE部の高野です。 普段はシステムの信頼性を守るために主にAWSの知見を生かしたシステム開発や、他事業部と共にクラウド移行などを行っています。

今回私はGameDayに参加してきたので、 その体験記をレポートします。

GameDayとは

Gameday

GameDayとは、架空の会社であるUnicorn.Rentalsの社員として、 AWS内に構築されたシステムの効率化や課題解決を4人1チームのゲーム形式で行う体験型イベントです。 そのなかで得られたポイントの合計点で他のグループと競い合います。

そもそも、私自身がなぜGameDayに参加したのか、その経緯からお話しさせていただきます。 以前弊社では2018年のre:Inventで行われた内容のGameDayをそのまま社内で特別に実施していただきました。 特定の企業向けに行うのは日本では初とのことでした。

AWS GameDayがDMMに上陸!

実際に参加してみると、とても楽しかったですし、 普段AWSを触っている身としてはまだまだ多くの学びもあったため、 とても良いイベントだなと思っていました。

というわけで今回、せっかくre:Inventに参加させていただけるとなれば、最新バージョンのGameDayを逃すわけにはいかないだろうということで参加を決意しました。

当日

MGM Grandというホテルを会場に午前の部と午後の部がありましたが、 私は午後の部に参加しました。

会場に到着すると受付の方から「group? solo?」のようなことを聞かれたので、I'm soloと答えたところ、 他のスタッフのもとに連れて行ってもらい、 アメリカの方1人とまずはチームになりました。 その後、さらに2人のアメリカ人のグループがやって来て、ちょうど4人のチームとして参加することになりました。 いろいろと挨拶等から始まったのですが、 英語力がなさ過ぎてまったく聞き取ることができずにメンバーに何度も聞き返すような状況でした。

チーム名は Unicornucopia という名前で参加しました。

さて、実際にGameが始まってどんな内容だったかというと、 ユニコーンのレンタルに関して売上予測をして顧客体験を最大化するといった内容でした。 普段はなかなか触らないようなサービスを使ったので楽しかったです。 英語力のなさと課題の難しさに四苦八苦しながらも、 なんとかスコアを稼いでいきました。

結果

結果は以下となりました。

ということで、我々Unicornucopiaは5位でした。

途中までは3位だったり、一時期は1位だったりしたのですが、最後の追い上げに負けてしまい5位に転落してしまいました。 3位までは壇上で表彰があったのでとても悔しい結果でした。

感想

反省としては、AWSに関する幅広い知識が不足していたというのはもちろん、英語でのディスカッションがもっと行えていたら良かったなと感じます。 というのも、他のメンバーがとある課題を解決している時に問題じゃない箇所に着目していたことはわかったのですが、 そこをきちんと伝えることができず、結局その課題は解決できませんでした。

他にも自分がある問題を特定したのですが、それを他のメンバーへ報告せずに無言で修正してしまったことが何回かありました。 課題を解決することも大事ですが、他のメンバーと知見を共有して学びを深めることもイベントの楽しみですし、 実際の業務においても報告は大事なので、それができなかったのは大きな反省です。 それに途中で気付いてからは、なんとか画面を指差しながら拙い英語でコミュニケーションを取ることを心がけましたが、やはり英語ができたら良いなと強く感じました。

逆に言えば、そういう英語が全くできないレベルでもGameDayはすごく楽しめるので、怖がらずに参加してみることができれば経験になるでしょう。

おそらく今後もAWSのイベントではGameDayが開催されるでしょうし、来年のre:Inventではまた最新のGameDayを楽しむことができるはずなので、ぜひ怖がらずに参加してみましょう。

おわりに

参加したメンバーのイベントの体験記や興味を持ったセッションについてのレポート、いかがでしたか? 全体的には機械学習周りのアップデートや新規サービスにまつわるものが多かったなという印象でした。

今回参加したのは比較的若いメンバーでしたが、手を上げれば誰にでもチャンスがある会社なので、 新卒の身としてはとてもありがたく感じました。

今後も弊社ではAWSの活用を進めていきながら、 今回得た知見を活かしてよりAgilityの高いテックカンパニーを目指します。