GameDayはいいぞ #awsreinvent2019

記事タイトルとURLをコピーする

re:Inventにおける個人的Mustイベントである GameDay に初参加してきました。

約80チーム中、15位の成績でした。正直、想像していたよりはだいぶ健闘できたかなと思います。優れたチームメイトに恵まれました。

外部へのネタバレは公式が禁止しているので詳細は記載を控えますが、イベント概要と振り返りをレポートします。

GameDay とは

参考 - https://aws.amazon.com/jp/gameday/

チーム対抗形式のDevOpsなハッカソンです。ISUCONのようなコンペイベントがイメージに近いと思います。

今年のGameDayでは、架空の会社「Unicorn.Rentals」のDevOpsチームとして、自分たちのサービスを(障害やピーク需要のアクセスを乗り越えて)安定的にエンドユーザーに提供し続けることを目標にします。

前フリのシチュエーションがなかなかに香ばしくて秀逸でした。だいたい現地の説明では以下のような雰囲気だったと思います。
※筆者はリスニングが極めて不得手です。違ってるかもしれないですが、ご了承ください。

ユニコーンを顧客にレンタルする「Unicorn Rental事業」が成功し、Unicorn.Rental社は収益を収めていた。しかし、前任のDevOpsチームが抜けてしまい、現場はカオスを極めていた。
 
低下する技術レベル、失われるモラル、など...。
 
あなたたち4名は、新任のDevOpsチームとしてアサインされた。あなたたちのミッションはこうだーーー
 
・様々な障害を無事乗り越え、サービスを安定稼働させること
・Unicorn Rentalの需要を予測し、収益機会を最大化すること

また、「需要を予測」とあるように、今年は機械学習の要素が加わりました。

As a rental company, we have tons of historical data, but unfortunately we are not equipped to process it to better serve our customers. This year, you can expect to help us solve some of our biggest problems using machine learning and automation to process this data and gain insights into customer behavior. We've also recently learned that implementing a solid marketing strategy and actually having infrastructure online at all times can be game changing for a company of our size. Stay on your toes, expect the unexpected. 出典 - AWS GameDay - Narrative

正しい説明については上述した公式ページの "The Scenario" や "Narrative" のセクションをご確認いただきたいです。

詳しくは書けませんが、スコアの得点基準も上述のミッションを反映したものになっています。得失点の基準は、単純なシステムの可用性だけではなく「ビジネスの視点」が考慮されたものになっています。現実のDevOpsチームにおける「KPIの在り方」を体現したような目標設定の仕方で感服しました。

競技中の様子と振り返り

競技者としての振り返りと、イベント自体の感想を述べます。

競技中の振り返り

Unicorn Rentalはいくつかのマイクロサービスから構成されていました。サービスごとに主担当を割り振って作業を進めました。

各メンバーのロールにハッキリした境界はなかったですが、中盤以降でヒートアップしていたころの分担をざっくり分類するとだいたい以下のように回っていた気がします。

  • レンタル事業の需要予測(サービス運営)
  • サービスのUnhealthyをいち早く発見してチームに共有する(監視)
  • トラブルシュート(障害対応)
  • 競技終盤で計画されている、ある「イベント」に対するシステム改修対応(保守・改修)

上記の役割は固定的なものではなく、必要に応じて助け合いつつ...という感じです。困ったことがあれば声を挙げてヘルプを要請するし、自分の担当領域に今やれることがなさそうなら周りに何か手伝えることがあるか訪ねたり、コミュニケーションを取りつつ割と流動的にやっていたように思います。

私自身は、中盤以降はトラブル原因の切り分けをやっている割合が多かったかなと思います(思えば他の方と比べてさほど手を動かしてなかったような気が...)。実際の修正タスクは自分の手に負えないものも多数あったので、チームメイトに頼ることも結構ありました。

振り返った印象として、少なくとも私は上記の分担である程度はうまく機能したように思います。とりわけ、サービスの死活監視は極めて重要だったと思います。おかげでいち早く異常に気づくことができ、結果的に失点を最小限に留められたと思います。稼働障害の発覚が遅れるほどビジネスの機会損失は大きくなってしまうわけで、この話って現実のサービス運用と全く同じです。監視の重要性を、改めて、強く、認識させられました。

チーム内のコミュニケーションも(手前味噌ではありますが)うまく回っていたと思います。気軽に声を挙げて助け合う動きができており、問題の早期解決のために各々が自分にできることを探していました。現実のDevOpsチームでもこうした動き方ができると良さそうだな、という成功イメージを持つことができました。

現実世界の業務に置き換えても通用する、非常に実践的な経験が得られたと思います。

イベントの振り返り

現場に日本人のAWS SAの方がいらしていて、その方の計らい(?)で私のチームメイトは全員日本人の方でした。言語の壁はなかったので、その分めいっぱい競技を楽しむことができたと思います(なお、SAの方がたまたま居合わて気を利かせてくれただけで、運営側が日本人の参加者にそうした特別な配慮をしている、という話ではおそらくないと思います)。

全体的に、「ほどよく」「ちゃんと」進められるようにゲームが作られている印象がありました。

競技終了後の振り返り会でわかったことですが、私を含めたチームメンバーは皆 "競技で使用したAWSサービス" に関して、実務の経験値はさほど多くなかったそうです。しかし、経験値の少なさが原因で競技進行に致命的な支障を来たすことはありませんでした。提供されてるREADMEや、AWSの公式ドキュメントなど、資料をしっかり読めば問題なく進められるように不足なくコンテンツが準備されていたおかげです。

QAサポートを行うSAも配備されていましたし、参加者が競技に専念できるよう、充実したサポート体制が敷かれていたと思います。やりやすかったです。

まとめ

今回初参加でしたが、コミュニケーションの苦労がなかったことは(結果を出す上でも、競技を楽しむ意味でも)非常に良かったと思います。チームメイトの皆さんも話しやすかったですし、とても助けられました。

一方で、せっかくの海外の技術者との交流機会を見送った、という点では少々もったいなかったなとも思います。今回で勝手がわかったので、次回の出場時にチャレンジしてみたいなと。
※なお、同日参加していた勇気ある同僚は単身英語圏のチームに飛び込んだようです。すごい...

GameDayは本当に素晴らしいイベントだったと思います。この手のイベントって大概敷居の高さを感じることが多いと思うのですが、GameDayは課題が実践的で、運営サポートも充実しています。また、"競技で使用するAWSサービスに関する実務経験値がさほど多くない" チームでも、ベストを尽くせば上位20%に食い込めるくらいには競技ができます。

私自身も参加前には「言うても私、AWSサービスも開発もそんなに経験ないしな。。。」などと日和ったメンタルを抱えておりましたが、そんな心配はまったくの杞憂でした。AWSやDevOpsの経験が浅くても大丈夫です。得るものは大きいです。みなさん!是非!!参加しましょう!!!

これを読んだ皆さんが、次回参加してみたい、という気持ちに少しでも近づけば幸いです。

そして最後に、チームメイトのみなさん。至らないところも多々あり、足を引っ張ってしまったかもしれません。でも、本当に充実した5時間を過ごせました。組めて楽しかったです。本当にありがとうございました!

(写真は掲載の許可をいただき、公開しております)

余談

GameDayですが、AWS Loftでも体験できます。直近では、re:Invent 2018のネタで2019年10月29日に開催されたようです。

おそらく今年のネタの翻訳版が、どこかのタイミングで開催されると思います。是非チェックしてみてください。

余談2

こんなレポート記事も書いてます。

http://blog.serverworks.co.jp/tech/2019/12/11/post-77106/

海外ド素人でもなんとかなるぜ!という(何番煎じかわからない)内容を主張しています。私、英語のできなさにかけては人一倍の自負があります。でもめっちゃエンジョイできました。よかったらこちらもご覧ください。