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

サーバレスでVODとECをリニューアルして、さらにくっつけてみました!

Kazuki Miura
December 17, 2022

 サーバレスでVODとECをリニューアルして、さらにくっつけてみました!

Kazuki Miura

December 17, 2022
Tweet

More Decks by Kazuki Miura

Other Decks in Technology

Transcript

  1. VPC LESS VPC LESS VPC LESS OS  LESS OS  LESS

    OS  LESS EVENTDRIVEN EVENTDRIVEN EVENTDRIVEN
  2. 2020.10〜 有料ライブ配信 ライブコマース ライブコマース イベント 2019.10〜 2020.05〜 2020.07〜 2020.10〜 有料ライブ配信

    Lift & Shift VODオフロード 完全リニューアル 2021.04〜 2021.08 〜 2021.10〜 リニューアル ちょっとだけ サーバーレス化 2022.04 〜 2022.03〜 React GraphQL TypeScript Nuxt.js JavaScript 開発 完全リニューアル 完全リニューアル 福岡以降でリリースしたやつ 2022.09 〜 固定化 Lambda
  3. 2020.10〜 有料ライブ配信 ライブコマース ライブコマース イベント 2019.10〜 2020.05〜 2020.07〜 2020.10〜 有料ライブ配信

    Lift & Shift VODオフロード 完全リニューアル 2021.04〜 2021.08 〜 2021.10〜 リニューアル ちょっとだけ サーバーレス化 2022.04 〜 2022.03〜 React GraphQL TypeScript Nuxt.js JavaScript 開発 完全リニューアル 完全リニューアル 2022.09 〜 固定化 Lambda 福岡以降でリリースしたやつ
  4. S3 S3 DynamoDB DynamoDB DynamoDB AppSync Lambda API-GW Amplify Amplify

    BFF ざっくりアーキテクチャ Frontend Backend MediaConvert
  5. S3 S3 DynamoDB DynamoDB DynamoDB AppSync Lambda API-GW Step Functions

    API-GW Amplify Amplify BFF ざっくりアーキテクチャ Frontend Backend MediaConvert
  6. S3 S3 DynamoDB DynamoDB DynamoDB AppSync Lambda API-GW Step Functions

    API-GW Amplify Amplify BFF ざっくりアーキテクチャ Frontend Backend OIDC OIDC OIDC MediaConvert
  7. S3 MediaConvert S3 DynamoDB DynamoDB DynamoDB AppSync Lambda API-GW Step

    Functions API-GW Amplify Amplify 担当者向け CMS 倉庫 システム BFF ざっくりアーキテクチャ Frontend Backend OIDC OIDC OIDC
  8. Amplify backend amplify-cli DynamoDB DynamoDB DynamoDB AppSync BFF Backend スキーマを書いて

    AppSync の裏にある DynamoDB と その connection を定義し てデプロイ
  9. Amplify backend amplify-cli Dynamo のテーブル同士を connection する。 マイページに 表示したいデータ AppSync

    は amplify-CLI しばり AppSync を経て 一発で欲しいデータにアク セスできるように構築
  10. Amplify backend GraphQL Transformer v1 のままです GraphQL Transformer v2 で新しくなったけど

    一部機能が実現できなくな ったので、まだ更新できて ないです、、、
  11. AppSync DynamoDB DynamoDB DynamoDB AppSync Lambda API-GW Step Functions API-GW

    BFF query mutation subscription GraphQL API Pub/Sub API
  12. AppSync DynamoDB DynamoDB DynamoDB AppSync BFF query GraphQL API フロント側で好きなデータ

    を持ってこれる 基本的に最初に全部持ってき て、フロントで保持しちゃう 検索はフロントだけで実現
  13. AppSync DynamoDB DynamoDB DynamoDB AppSync Lambda BFF mutation mutation subscription

    Pub/Sub API websocket リロード無しで 画面更新が可能
  14. z Step Functions DynamoDB DynamoDB DynamoDB AppSync Step Functions API-GW

    BFF Lambda API-GW API-GW + Lambda っていう構成がどんどん Step Functions に変化していった > Step Functions の中のLambda もゼロにしたいなぁ
  15. Step Functions GUI で作れる ASL とかYAML はもう 触らない できたらYAML コピ

    って sls いれれCI/CD SDK が直接叩ける これが爆速で最高
  16. 注文履歴 create 決済処理 〉 〉 発注履歴 作成 発送情報 発送リスト create

    〉 発送指示 外部流通サービス 〉 注文履歴 update 更新
  17. 注文履歴 create 決済処理 〉 〉 発注履歴 作成 発送情報 発送リスト create

    〉 発送指示 外部流通サービス 〉 注文履歴 update 更新
  18. 決済処理 メール送信 ユーザ向けデータ 保存 kintone 用保存 MAP 担当 社内用保存 配送業者用保存

    ユーザが待つのは ここまで 落ちた時、再起しやすい単位で分割
  19. 決済処理 メール送信 ユーザ向けデータ 保存 kintone 用保存 MAP 担当 社内用保存 配送業者用保存

    ユーザが待つのは ここまで Design for Failure 再起動したら メールとか飛んじ ゃう 再起動しても影響 がない様に分割