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

tsukiji.graphql #1 Pocket MusubiでのAppSyncの使い所

tsukiji.graphql #1 Pocket MusubiでのAppSyncの使い所

kakehashi

July 06, 2023
Tweet

More Decks by kakehashi

Other Decks in Business

Transcript

  1. Pocket MusubiでのAppSyncの使い所
    2023/07/06 株式会社カケハシ 種岡
    tsukiji.graphql #1

    View Slide

  2. 自己紹介
    ・カケハシ入社 3年目
    ・Pocket Musubiを開発するチームに所属
    ・バックエンドを主軸にインフラやフロントエンドも従事
    ・2人の娘の育児に奮闘中
    Copyright © KAKEHASHI Inc. All Rights Reserved.

    2

    View Slide

  3. アジェンダ
    Copyright © KAKEHASHI Inc. All Rights Reserved.

    3
    Pocket MusubiではGraphQLサーバーとしてAppSyncを採用
    AppSyncの開発周りの知見を共有

    View Slide

  4. おくすり連絡帳について
    Copyright © KAKEHASHI Inc. All Rights Reserved.

    4

    View Slide

  5. システム設計概要
    Copyright © KAKEHASHI Inc. All Rights Reserved.

    5

    View Slide

  6. AppSync
    Copyright © KAKEHASHI Inc. All Rights Reserved.

    6
    ・AWSのフルマーネージドサービス(サーバー自体のセキュリティを考えなくて良い)
    ・AWSのサービスとの相性が良い
    ・DynamoDBを直接繋げたり
    ・複雑なビジネスロジックは Lambdaに分離したり
    ・CognitoやIAM認証、Lambdaで認証ロジックも作れたり
    ・WAFをボタンポチで追加できたり
    ・Subscriptionの実装が楽
    ・Private APIモードが最近出た
    クロスアカウントアクセスで AppSync Private APIを使う話(カケハシTechBlog)

    View Slide

  7. AppSync
    Copyright © KAKEHASHI Inc. All Rights Reserved.

    7
    ・カスタムディレクティブが使えない
    Validationロジックがどうしても膨らむ
    ・カスタムスカラーも使えない
    AppSync側で用意してくれているスカラー型 でいまのところ足りてはいるけど。。。
    ・レスポンス自体はすべてのフィールドを返す実装
    クライアントからクエリオペレーションされたフィールドのみ返すということができない
    場合によってはレスポンスサイズ上限に引っかかってしまう
    Apollo Serverなどに比べると柔軟性は低い

    View Slide

  8. ローカルでの開発
    Copyright © KAKEHASHI Inc. All Rights Reserved.

    8
    インフラの管理だけでなく、アプリケーションコードの開発支援してくれる CDK
    ライブデバッグ可能( VS Code,WebStorm,IntelliJ IDEA)
    Live Lambda Developmentが優秀(Local環境でLambdaのロジック開発)
    メンバー毎の開発環境が簡単に構築できる
    まったく新しい開発体験をもたらす Serverless Stackとは何か(カケハシTechBlog)

    View Slide

  9. Live Lambda Development 利用例
    Copyright © KAKEHASHI Inc. All Rights Reserved.

    9
    ローカルでLambdaの
    ロジック開発に専念
    専用の開発DB
    ライブデバッグ
    Lambda以外のサービ
    スはそのまま使える

    View Slide

  10. Copyright © KAKEHASHI Inc. All Rights Reserved.

    10
    ご清聴ありがとうございました󰢛

    View Slide