Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ダイニーにおける本番 Hasura 運用
Search
Hiroaki KARASAWA
November 24, 2021
Programming
2
2.5k
ダイニーにおける本番 Hasura 運用
Hasura と共に歩んだ一年と半年を振り返りつつ、どういったプロダクト・組織において Hasura を採用するべきか、採用すると何が起きるかについて説明します。
Hiroaki KARASAWA
November 24, 2021
Tweet
Share
More Decks by Hiroaki KARASAWA
See All by Hiroaki KARASAWA
スタートアップでポストモーテムを4年で200回やって得た学び
karszawa
1
81
DomainException と Result 型で作る型安全なエラーハンドリング
karszawa
1
1.3k
成功する技術選定について
karszawa
3
2.9k
飲食店のインフラサービス “ダイニー” のトラブル対応のすべて
karszawa
0
80
Google Cloud のモニタリング製品を徹底活用してみた
karszawa
0
70
ダウンタイム 30 秒で AlloyDB に移行した話
karszawa
0
530
DMS で AlloyDB に簡単移行!
karszawa
0
71
【現場の本音】App Engine から Cloud Run に移行してみた
karszawa
0
180
cls-hooked による実行コンテキストの保存と利用
karszawa
0
970
Other Decks in Programming
See All in Programming
オンデバイスAIとXcode
ryodeveloper
0
310
alien-signals と自作 OSS で実現する フレームワーク非依存な ロジック共通化の探求 / Exploring Framework-Agnostic Logic Sharing with alien-signals and Custom OSS
aoseyuu
3
1.4k
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
18
9.2k
CSC305 Lecture 10
javiergs
PRO
0
320
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
1.3k
Webサーバーサイド言語としてのRustについて
kouyuume
1
5k
SODA - FACT BOOK(JP)
sodainc
1
9k
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
1k
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
2
380
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
14
47k
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
480
GC25 Recap: The Code You Reviewed is Not the Code You Built / #newt_gophercon_tour
mazrean
0
130
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Typedesign – Prime Four
hannesfritz
42
2.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
How GitHub (no longer) Works
holman
315
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
It's Worth the Effort
3n
187
28k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
4 Signs Your Business is Dying
shpigford
186
22k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.3k
Scaling GitHub
holman
463
140k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Transcript
Hasura dinii aka karszawa UIT meetup vol. 14 2021 11
24
ΞδΣϯμ 2 1. Hasura 2. 3. Hasura 4. Hasura N
5. q Hasura
ࣗݾհ 3 ま ほ aka @karszawa ま dinii ほ ほ
ま JavaScript TypeScript ほ
Hasura
Hasura ͱ 5 ま Hasura ま PostgreSQL GraphQL ま GraphQL
Αࠞ͘ಉ͞ΕΔʢʁʣ֓೦ͱͷཧ 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 ほ
7
μΠχʔͱ 8 ま 2020 1 ま 3 6 ほ Vertical
SaaS Ϩδ ΩΦεΫ ΩονϯσΟεϓϨΠ μογϡϘʔυ ϋϯσΟ ϞόΠϧΦʔμʔ ϓϦϯλ࿈ܞ ࣗಈમػ࿈ܞ ϓϦϯλ࿈ܞ LINE Mini App
ϙΠϯτ 9 ま ま ほ Node.js ま ほ IF GraphQL
ほ Hasura
Hasura 10
͍ͭ Hasura Λ࠾༻͢Δ͖͔ 11 1. ろろろ 2. ろろ 3. ろ
PostgreSQL
͍ͭ Hasura Λ࠾༻͢Δ͖͔ 12 ま ま dinii ま Firebase &
Firestore ほ NoSQL ほ
͍ͭ Hasura Λ࠾༻͢Δ͖͔ 13 ま = IF ほ ち ち
ち Hasura ま
͍ͭ Hasura Λ࠾༻͢Δ͖͔ 14 PostgreSQL ま PostgreSQL ま MySQL ほ
PostgreSQL Citus ま PostgreSQL ま PostgreSQL
Hasura 15
ຊ൪ Hasura ӡ༻ͷצॴ 16 1. 2. Remote Schema 3.
ຊ൪ Hasura ӡ༻ͷצॴ 17 ま ORM Hasura ほ Hasura ま
ま Hasura Web UI Hasura ほ Hasura ま TypeORM Hasura CI
όοΫΤϯυͷ TypeORM ͷܕఆٛͱ Hasura ͷϚΠάϨʔγϣϯϑΝΠϧʹ߹ੑ͕͋Δ͜ͱΛ CI Ͱ֬ೝ͢Δํ๏ 18 1. Hasura
Web UI 2. TypeORM CI 1. Hasura 2. TypeORM 3. = Hasura TypeORM ❌ = Hasura TypeORM ✅
ຊ൪ Hasura ӡ༻ͷצॴ 19 Remote schema ま ほ Remote schema
ほ Remote schema ま ほ Remote schema ほ Hasura
ຊ൪ Hasura ӡ༻ͷצॴ 20 ま ほ Hasura ほ JWT ち
ex: x-haura-shop-id=xyz JWT order.shopId=xyz order ま order.user.userId = xyz ま ほ Remote schema
ຊ൪ Hasura ӡ༻ͷצॴ 21 ま Introspection Hasura schema.gql ま =
GraphQL Codegen ほ
ͦͷଞͷצॴ 22 Hasura Web ま GraphiQL ま ま REST
Remote schema Hasura Actions ま Remote schema ま Event Trigger ま
23
·ͱΊ 24 1. Hasura 2. dinii 3 SWE 3. 3
1 ま https://about.dinii.jp/recruit ま 3 ま 1 1 3