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

ダイニーにおける本番 Hasura 運用

ダイニーにおける本番 Hasura 運用

Hasura と共に歩んだ一年と半年を振り返りつつ、どういったプロダクト・組織において Hasura を採用するべきか、採用すると何が起きるかについて説明します。

Avatar for Hiroaki KARASAWA

Hiroaki KARASAWA

November 24, 2021
Tweet

More Decks by Hiroaki KARASAWA

Other Decks in Programming

Transcript

  1. Αࠞ͘ಉ͞ΕΔʢʁʣ֓೦ͱͷ੔ཧ 6 ま vs GraphQL ほ GraphQL is ほ GraphQL

    ち Hasura ま vs Hasura Cloud ほ Hasura Hasura ほ dinii Cloud Run OSS Hasura ち OSS Hasura ま vs Prisma ほ Prisma is GraphQL ORM ほ
  2. 7

  3. μΠχʔͱ͸ 8 ま 2020 1 ま 3 6 ほ Vertical

    SaaS Ϩδ ΩΦεΫ ΩονϯσΟεϓϨΠ μογϡϘʔυ ϋϯσΟ ϞόΠϧΦʔμʔ ϓϦϯλ࿈ܞ ࣗಈ௼મػ࿈ܞ ϓϦϯλ࿈ܞ LINE Mini App
  4. ͍ͭ Hasura Λ࠾༻͢Δ΂͖͔ 14 PostgreSQL ま PostgreSQL ま MySQL ほ

    PostgreSQL Citus ま PostgreSQL ま PostgreSQL
  5. ຊ൪ Hasura ӡ༻ͷצॴ 17 ま ORM Hasura ほ Hasura ま

    ま Hasura Web UI Hasura ほ Hasura ま TypeORM Hasura CI
  6. όοΫΤϯυͷ TypeORM ͷܕఆٛͱ Hasura ͷϚΠάϨʔγϣϯϑΝΠϧʹ੔߹ੑ͕͋Δ͜ͱΛ CI Ͱ֬ೝ͢Δํ๏ 18 1. Hasura

    Web UI 2. TypeORM CI 1. Hasura 2. TypeORM 3. = Hasura TypeORM ❌ 
 = Hasura TypeORM ✅
  7. ຊ൪ Hasura ӡ༻ͷצॴ 19 Remote schema ま ほ Remote schema

    ほ Remote schema ま ほ Remote schema ほ Hasura
  8. ຊ൪ Hasura ӡ༻ͷצॴ 20 ま ほ Hasura ほ JWT ち

    ex: x-haura-shop-id=xyz JWT order.shopId=xyz order ま order.user.userId = xyz ま ほ Remote schema
  9. ͦͷଞͷצॴ 22 Hasura Web ま GraphiQL ま 
 ま REST

    Remote schema Hasura Actions ま Remote schema ま Event Trigger ま
  10. 23

  11. ·ͱΊ 24 1. Hasura 2. dinii 3 SWE 3. 3

    1 ま https://about.dinii.jp/recruit ま 3 ま 1 1 3