AWS JumpStart 2024 Day2レポート 〜アーキテクチャを考える〜
はじめに
初めまして。ジンジャーワークフローのプロダクトマネージャー(PdM)を担当している岐部です。
今回「AWS JumpStart 2024」に参加する機会をいただきましたので、そのDay2についてレポートさせていただきます。
※「AWS JumpStart 2024」につきましては Day1のレポートにて概要をご紹介していますので、そちらを先にご覧いただけるとわかりやすいと思います。
Day 2の流れ
Day2は、軽くDay1のおさらいをした上で、いよいよ実践です。Day1で得た知識をもとに、実際にアーキテクチャ検討の課題に取り組んでいきます。
上記スケジュールではグループ検討の前に個人検討の時間が設けられていますが、参加者から早くグループ検討に入りたいと声が上がったとのことで、実際は個人検討をスキップしグループ検討からの開始でした。こういった相互性、柔軟さがあるのも本プログラムの素晴らしいところです。
ちなみに私は、前職ではWebフロントエンド開発の経験があるものの、バックエンドやインフラの領域には触れたことがありません。本プログラムに参加するまでは、
- EC2とかS3とかロードバランサー(LB)とか業務で聞くけど、実際なんなんだろう…?(S3はファイル置くやつで、LBはなんか振り分けるやつ?)
- アーキテクチャ図、つまりどういうことなのか全然わからない
というレベルでした。
それがDay1の講義とハンズオンに参加することで、
- AWSの各サービスについて、概要と目的がわかるようになった
- アーキテクチャ図が何を表しているのかわかるようになった。なんとなくかもしれないけれど読める…!
というところまで辿り着きました。(PdM永田によるDay1のレポートはこちら)
しかし読めるのと描けるのはまた別の話です。Day2の終わりには、自分でもアーキテクチャ図を描けるようになっているのが目標です。
クイズでおさらい
まずは、Day1の内容についてZoomの投票機能を使ったクイズが実施されました。
このような問題が全5問。中身はDay1にて紹介された知識に満遍なく触れるようなもので、クイズという語感から気楽に臨んでいた私は少し焦りましたが、検討課題の前にしっかりとおさらいをしていただけたのは大変助かりました。
アーキテクチャ検討課題
さて、いよいよ実践課題です。総勢200名弱の参加者が4名前後ずつのチームに分かれ、設定されたシチュエーションに対して最適なアーキテクチャを検討し、アーキテクチャ図に落とし込んでいきます。
私たちは「ユニコーン リレーション」という合同会社に入社した新入社員という設定ですが、
なかなかとんでもない状況ですね。
提供するシステムの概要としては、以下の情報が提示されました。
- 提供規模(利用者数、ピーク時間帯、提供エリアなど)
- システム要件(バックエンド/フロントエンド開発に何を使うか、データベースの種類など)
- 必須機能(ECシステムとして必須で持ちたい機能について)
求められる成果物は、AWSのアーキテクチャ図(置いた前提・工夫した点や今後の改善余地を含む)です。
私の振り分けられたチームは、普段エンジニア業務をされている方、情報システム部門の業務をされている方、AWS未経験PdM(私)という構成でした。本プログラムは初学者向けということで、基本的にはDay1で得た知識をもとに検討することとなります。
プログラムはオンラインにて実施されていたので、チームごとにZoomのブレイクアウトルームに入り、話し合いながらMiro(ホワイトボードツール)でアーキテクチャ図を共同編集するという方法で成果物作成を進めていきました。
検討課題に取り組んでみて
一口にアーキテクチャ検討と言っても、実際に取り組んでみると、考えなければならないことが沢山あることに気付きます。どの要件のためにどのサービスを組み込めば良い?ピーク時間帯に耐えうるようにするには?現時点では一旦どこまでの想定を必要として、今後サービスが成長したときにはどう拡張していくのか?などなど。Day1で概要がわかった気がしていたAWSの各サービスについても、いざ詳細な使い方をイメージしてみると、こういう時はどうなるんだろう?という疑問がどんどん湧いてきます。しかも、そうしてなんとか考えたことを図で適切に表現するのがこれまた難しい…。
そんな初学者を強力にサポートしてくれる要素が、本プログラムには2つありました。
1つは、検討の合間にSA(Solutions Architect)の皆様からアドバイスをいただける仕組み。
スケジュール上で予め設けられている中間解説(任意参加)や公開中間レビューの時間に加え、チームごとにSAの方の時間を予約して直接相談ができるようにもなっていました。
もう1つは、AWSサービスについての質問に回答してくれる生成AI botが使用可能だったこと。
SlackにAmazon Bedrockを利用したBotが試験導入されていて、参加者はそのBotに自由に質問することができるようになっていました。詳細仕様の不明点をBotに訊いて確かめたり、アイデアの壁打ちをしたりしながら考えを固めていくことができたので、非常に有用でした。
初心者すぎて気後れする質問も、Bot相手なら訊ける。ものすごく助けられました。
それらのサポートをフル活用しつつ、チームメンバーの力を集結し、アーキテクチャ図を完成させることができました。(同じチームになった皆様、その節は本当にありがとうございました!)
成果発表と解説
各チームでの検討が終わった後は、全チームの中から指名された3チームが成果物を発表しました。
詳細は今後本プログラムに参加する方へのネタバレになってしまうため伏せますが、どのチームもそれぞれ求められている要件+αの特色がある設計になっていて、私が思いつきもしなかったことやそもそも知らなかったAWSサービスの活用方法などが沢山あり、深い学びのある時間でした。
その後に、SAの方からの例示と解説がありました。こちらも詳細は伏せますが、各要件をどうクリアしていくかを詳細に説明いただき、特に考え方の部分についてより理解が深まりました。
この解説とクロージングをもって、AWS JumpStart 2024の全工程が終了しました。
長いようであっという間の二日間でしたが、Day2を終えての私は
- アーキテクチャ検討時の切り口のイメージがついた
- ベーシックなアーキテクチャ図であれば描けるようになった
- 普段の業務で開発メンバーと会話する時にきちんと理解できていなかった部分の解像度が上がった
という状態で、元々が初心者だったのもあり、本プログラムに参加する前と比べるとかなり成長できたのではないかと思います。私と同じような状況の方だけでなく、今後業務でAWSを扱う初学者の方、AWSの知識をより深めたい方など、様々な方にとって有意義なプログラムであると感じました。
貴重な機会をいただき本当にありがとうございました!
おわりに
以上、AWS JumpStart 2024 Day2レポートをお届けしました。
私のPdMとしての現状の業務の中では、今回得た知識を直接的に扱う機会は多くないかもしれません。
しかし、サービスを通してユーザーにより良い体験を届けるにはどうすればいいか?ということをプロダクト開発チーム一丸となって考えていく上で、自分に足りなかった知識のうちのひとつを得ることができた実感があります。
引き続き、ジンジャーをより良いサービスにしていけるよう尽力していきます。
Discussion