AWS GameDay でユニコーンを鍛える

GIMLE チームの野田です。 9 月 15 日に APN パートナー向けに開催された AWS GameDay Online ~ APN 杯 vol.2 ~ に、フェンリルのメンバー 4 名で挑んできました。

AWS GameDay とは

AWS GameDay は、決められたお題と AWS の環境がチームに与えられ、手順書なしでシステムの構築や改善に取り組む、実践形式のトレーニングです。 AWS パートナー向けの GameDay は、昨年 9 月に開催された回に引き続き、今回が 2 回目の開催となります。

前回、私たちはユニコーンレンタル社の DevOps チームに 1 日だけ配属され、ユニコーンレンタル社の複数のサービスを構築し、運用しながら改善するミッションをこなしました。 その後、ユニコーンレンタル社は業界 No.4 の規模まで成長しましたが、いくつかの経営課題を抱えているようです。 その経営課題の解決を図るため、ユニコーンポロリーグと呼ばれる競技大会の創設が発表されました。

私たちは今回、ユニコーンレンタル社のフランチャイズ店の 1 つとして、ユニコーンポロリーグに参加することとなりました。 ユニコーンポロリーグに参加するには、市場で買ってきたユニコーンをジムで鍛え上げ、ポロリーグで他のユニコーンと競わせます。 ポロリーグで勝利するとユニコインが得られ、ユニコインを使って市場でユニコーンの取引ができ、また各フランチャイズ店のスコアとしても記録される仕組みです。

ユニコーンポロリーグに挑む

最初に、怪しいメガネをかけたユニコーンレンタル社の役員から、ユニコーンポロリーグの大まかな説明を受けた後、チームメンバーで相談しながら課題に挑みます。

ユニコーンを購入してポロリーグに参加するためには、ユニコーンを待機させる厩舎(Stables)システムを構築する必要があります。 また、厩舎以外の施設として、ユニコーンを鍛えるためのジムが 3 種類あり、これらのシステムも稼働させる必要があります。 まずはこれら 4 つのシステムを稼働させ、ユニコーンポロリーグに参加するのが目標です。

f:id:horo1717:20210927123913p:plain
GameDay でやること

GameDay システムの操作に慣れるために用意された、ユニコーンに関する簡単なクエストをこなしてから、払い出された AWS 環境を利用して 4 つのシステムを構築していきます。 これらのシステムの内容は、ユニコーンレンタル社の機密にあたるようで、ここで詳細をお伝えすることはできませんが、それぞれ異なる AWS のサービスを利用して構築する必要があります。 私たちは、チームメンバー 4 人で、それぞれが 1 つのシステムを担当するよう役割分担し、各システムの構築にとりかかりました。

私は 3 つあるジムのうちの 1 つを担当し、2〜30 分ほど AWS マネジメントコンソールをポチポチしながら試行錯誤したところで、ようやく稼働させることができました。 GameDay システムにジムの構成情報を入力したところ、ユニコーンを鍛えられる状態にはなったのですが、とりあえず稼働させることを優先して構築したためか、ジムの可用性に問題がありそうだと指摘を受けました。 何らかのトラブルが発生してジムが停止してしまうと、ユニコーンがトレーニングをサボってしまいかねません。 安定して強いユニコーンに鍛え上げるために、指摘や Well-Architected の考え方を参考にジムのシステムを冗長化し、より信頼性の高い構成となるように修正しました。

私がジムの構築に四苦八苦している間に、チームメンバーが厩舎システムと他のジムを稼働させ、市場からユニコーンを調達して鍛え、ポロリーグに出場させてくれていました。 ポロリーグに出場させたユニコーン達は、勝ったり負けたりしながらユニコインを稼いでくれます。 さらにユニコインを稼ぐには、追加のクエストを達成してアップグレードトークンを入手して、厩舎やジムをさらに高速なシステムに更新し、よりたくさんのユニコーンを育成し、ポロリーグに出場させる必要があります。 また、鍛えたユニコーンを市場で取引してユニコインを稼ぐこともできるのですが、せっかく育てたユニコーンを手放してしまうのは、何だか惜しい気がしてしまいますね。

f:id:horo1717:20210927145314p:plain
私たちと一緒に闘ってくれた 3 匹のユニコーン達。厩舎のアップグレードに手こずって新しいユニコーンを迎え入れることができず、ずっとこの 3 匹ががんばってくれていた。

結果

3 時間ほど格闘した結果、ユニコインベースのスコアで 40 チーム中 2 位の成績を納めることができました。

f:id:horo1717:20210927123906p:plain
最終スコア

システムが思うように動かないことがあっても、チームメンバー間で情報共有しながら、ネットワークやアクセス権限など怪しいポイントを順番に確認し、課題をクリアしていくことができました。 このような場面では、普段のトラブルシューティングでやっていることが活かされていることを実感できます。

一方、普段の業務ではほとんど扱わないサービスがテーマの課題も結構ありました。 サービス概要だけのざっくりとした知識があっても、なかなかすぐに扱えるものではなく、GameDay の中で新しいサービスや機能に触れることもあり、たくさんの学びがありました。 ユニコーンを鍛えるはずが、いつの間にか私たちが鍛えられていた、そんな良い体験でした。

GameDay のように実際に自分の手を動かしながら学べるハンズオン形式のトレーニングやイベントは、とてもありがたいものです。 本 GameDay を企画・運営していただいた AWS Japan の方々、サポートにあたっていただいた通りすがりの SA の方、一緒にイベントに参加いただいた皆様、GIMLE チームの一員としてポロリーグで活躍してくれたユニコーン達に感謝します。 また次回開催されることがあれば、是非参加したいです。


AWS GameDay は、架空のクラウドテクノロジースタートアップを題材としたフィクションです。実在の人物や団体などとは関係ありません。

画像引用元:Amazon Web Services