こんにちは。メディアドゥでエンジニアをしている末次です。
先日(といってももう2ヶ月近く前...)の8月某日、アマゾンウェブサービスジャパン株式会社の八木さん(@ygtxxxx)、じゃがさん(@jagaimogmog) にご協力いただいて、表題の社内ワークショップを実施しました。今回はその当日の様子をレポートします。
SNS Workshopとは
(↑勉強会当日の資料です)
参加者はとあるスタートアップのCTOという設定で、
- シードステージ: スタートアップ1人目のエンジニア/CTOとして、アプリを開発する!
- あなたはスタートアップ1人目の開発者です。CEOと相談をしソーシャルメディアアプリケーションを開発することが決まりましたが、投資家への説明(Pitch/DemoDay)まではあと3日しかありません。必要最低限の機能でいいものの、最速での立ち上げが求められています。
- アーリーステージ: ユーザを一定数獲得し、増え始めた課題や機能要望に対応する!
- ひとまず最低限の機能を実装しリリースし、一定数のユーザを獲得することに成功しました。Amplifyで構築したためサーバの運用は不要なものの、止むを得ずフロントエンドで行っていたバリデーションの修正や、検索性の向上など、明確になってきた課題や機能要望に応える必要があります。
- ミドルステージ: 事業が軌道に乗りユーザもエンジニアも急拡大
- 機能拡充を続けた結果ビジネスは軌道に乗り始め、同時にエンジニア組織も拡大し始めました。並行して複数の機能開発が進むことも増えたため、効率の良いチーム開発について考える必要があります。
と、製品の成長フェーズに応じた観点でAmplifyでの開発を体験できるワークショップです。ちなみに開発するものは、以下のようなTwitterライクなSNSです。
ワークショップ中はワークショップ用のAWSアカウントが配布される(当日中なら無料で使える)のでそれを使わせていただけますが、もちろん上記資料を見ながら自分のAWSアカウントを使って実施することも可能です。
なお、ワークショップ自体はAmazon Chimeを使ってリモートで開催しました。
アジェンダは以下の通りです。基本的には上記の資料を見ながら自習し、躓いたら適宜Slackなどで講師に相談するような流れで進めました。
- 11:00 - 12:00 AWS Amplifyのご説明/Updateなど
- 12:00 - 13:00 昼休憩
- 13:00 - 17:00 ハンズオン、適宜休憩
- 17:00 - 18:00 今後のAmplify活用のためディスカッション
ワークショップを完走した感想
これまでも「Amplifyいいよ」と言っている人の声をよく聞いていたので気にはなっていたものの、なかなか触れる機会がありませんでしたが、本勉強会で全体感を掴むことができ、とてもいい機会になりました。 フロントのコーディングは得意ではありませんが、今回はコピペで行けるように資料が作られていたのでAmplifyのキャッチアップに集中できたのも良かったです。
触っていて感じたこととしては、AmplifyというかAppSyncがやはり良いなと思いました。いま自分が関わっているプロダクトではgqlgenというGo製のライブラリを使ってGQLサーバーを組んでいますが、resolverの処理を書くのがまぁまぁしんどいので、次作るときはAmplify(AppSync)を使うことも検討したいなと思いました。
また、別の参加者も以下のように感想を語っていました。
開発工程で考えなきゃいけないことが機能としてまとまっている印象で、コマンドベースでパイプラインやホスティング、データ層の設定をサクサクできるのがよかったです! また、現在の案件ではインフラ構築をterraformでIaC化しているのですが、例えば一部機能をAmplifyで作成する時にどうTerraformと責務分けするのがいいのか、なども深堀りしてみたいと思いました。
ワークショップの最後には記念撮影もしました😁