Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「育てる」サーバーレス 〜チーム開発研修で学んだ、小さく始めて大きく拡張するAWS設計〜

Avatar for yut yut
July 28, 2025

「育てる」サーバーレス 〜チーム開発研修で学んだ、小さく始めて大きく拡張するAWS設計〜

Avatar for yut

yut

July 28, 2025
Tweet

More Decks by yut

Other Decks in Technology

Transcript

  1. 2 KDDI Agile Development Center Corporation 目次 • 自己紹介 •

    チーム開発の紹介 • インフラ設計 • 実際に作成したインフラの変遷 • 設計と実践から得た学び
  2. 3 KDDI Agile Development Center Corporation 自己紹介 • KAG 2025年新卒

    • Platform Engineering Kaigi 運営スタッフ • 技術スタック ◦ Kubernetes ◦ AWS ◦ Python ◦ Storybook(少し) • 趣味 ◦ 音楽 • 神椿、ボカロ ◦ ゲーム • MOBA、音ゲー、レース、ダーツ 近藤悠斗 / yut
  3. 4 KDDI Agile Development Center Corporation チーム開発研修の紹介 • 1週間のスプリントを5回の構成 •

    チーム単位でサービスデザインから実際のデプロイまで行う サービスは生成AIを活用したSNSです。Webサイトとして動作し、ユー ザーは自身の書いた文章をAIによって変換し、その変換後の文章を投稿し ます。各投稿にはコメント欄がついており、ユーザー同士で会話ができま す。誰が会話しているかを明らかにするため、メールアドレス、パスワー ド、ユーザー名のみの簡単なログインが必要です。 私たちのチームで作成したサービス
  4. 6 KDDI Agile Development Center Corporation インフラ設計 チームの状況、知識 1. 6名のチームメンバー

    ◦ 1名がデザイナー、5名がエンジニア ◦ フロントエンド寄りのメンバーが多く、インフラの知識は少なめ 2. この開発は研修であるということ ◦ 5週で終了する開発 ◦ 全員が理解(学習)できるインフラ ◦ フロントエンド開発に合わせて、アジャイルにインフラを整備する必要がある シンプルでわかりやすいアーキテクチャから拡張する
  5. 7 KDDI Agile Development Center Corporation インフラ設計 機能の重要度 1. 文章をAIで変換できること

    2. 仮ユーザ名で投稿が保存、共有できること 3. 仮ユーザ名でコメントができること 4. ログインができること 5. その他運用上の追加機能 Webサイトとして動作し、ユー ザーは自身の書いた文章をAIに よって変換し、その変換後の文章 を投稿します。 各投稿にはコメント欄がついてお り、ユーザー同士で会話ができま す。 誰が会話しているかを明らかにす るため、メールアドレス、パス ワード、ユーザー名のみの簡単な ログインが必要です。 MVPに従って実装順を整理する
  6. 9 KDDI Agile Development Center Corporation 実際に作成したAWSインフラ 初期 “文章をAIで変換できること” •

    LambdaからBedrockを実行できる APIを作成 • そのAPIをCloudfrontで配信している サイトから叩ける ◦ AWSに慣れていないメンバーに も分かるようにシンプルに構成
  7. 10 KDDI Agile Development Center Corporation 実際に作成したAWSインフラ 中期 “仮ユーザ名で投稿が保存、共有できること” “仮ユーザ名でコメントができること”

    • データベースの操作のAPIを追加する ◦ APIのパスパラメータ、メソッドご とに1つLambdaを作成すると保守し やすい • API GatewayをCloudfrontからアクセス するように設定 ◦ 1つのCloudFrontに統合することで セキュリティ、ドメイン適用を一括 でできる
  8. 11 KDDI Agile Development Center Corporation 実際に作成したAWSインフラ 後期 “ログインができること” “その他運用上の追加機能”

    • ドメイン設定、WAFの設定をCloudfront に適用 • Cognitoでのアカウント登録の設定 • モニタリングダッシュボードを追加 ◦ 複数のリソースを状況を1つの画面で 可視化することで安心感が向上 ◦ 発表当日の負荷に対してもある程度 予想できる • フロントエンドのCDをGithub Actionsで 追加 ◦ 発表直前のフロントエンドの調整に 耐えるため
  9. 12 KDDI Agile Development Center Corporation 設計と実践から得た学び • アジャイル開発とサーバレスはとても相性が良い ◦

    インフラの管理コストが少ない ◦ コードを実装してすぐにデプロイできる • リソースを追加していく形式で拡張できるように構成する ◦ MVPに合わせて追加できるアーキテクチャを設計する ◦ Lambdaは細かく作成する • API Gatewayとの接続を切り替えることで機能の有効化無効化を制御できる