HASURA CON'21 Recap を開催しました
こんにちは、ダイニーのソフトウェアエンジニアの @lightnet328 です。
7月7日に「HASURA CON'21」の振り返りイベントをオンラインで開催しました。ダイニー初の技術イベントでしたが、多くの方にご参加していただいた上、多くのツイートや YouTube Live での質問が集まり、盛況のうちに終えることが出来ました。
はじめに
ダイニーは飲食店内でお客様がご自身のスマートフォンを使用して注文ができる「モバイルオーダー」のプロダクトを開発しています。また、お客様の体験を向上させるだけでなく、飲食店の運営を支えるために飲食店向けのプロダクトも複数開発しています。
多くのプロダクトを高速かつ高い持続性で開発するために採用しているのが Hasura という GraphQL API を高速に構築できるミドルウェアです。この技術選定は「ダイニーのエンジニアリング3カ条」という記事をきっかけに、いくつかのイベントでご紹介いただいていました。
- GraphQL を利用したアプリケーションの設計パターン (設計ナイト2020)
- GraphQL を利用したアーキテクチャの勘所 (iCARE Dev Meetup #20)
- 組織戦略と GraphQL、Hasura (iCARE Dev Meetup #20)
Hasura は国内においてはまだ知名度が高くありません。それでも初めての技術イベントのテーマに Hasura を選んだのは「ダイニーという会社が使っている」という認知はあるものの、ダイニーから十分に発信できていないという背景があり、もっと「Hasura は良いぞ」という気持ちを伝えていきたかったためです。
各発表の紹介
Hasura とは
HASURA CON'21 Recap (21:33 ~)
当日は司会を務めていた PM Lead の秋山が Hasura とは何か、どのようなメリットがあるのかを発表しました。また、Hasura Console から実際にクエリを書いたり、データベースのスキーマを見る場面もありました。ダイニーでは PM もマスターデータを参照したり、BigQuery のクエリを書くために Hasura Console を活用しています。
dinii での Hasura 活用例
HASURA CON'21 Recap (25:48 ~)
diniiでのHasura活用例 - Speaker Deck
次は CTO の 大友 @dinii_kotomo が発表しました。なぜ Hasura を既存のプロダクトに導入する意思決定をしたのか、結果としてどのような恩恵を受けられたかが語られています。
ダイニーのプロダクトと組織の特性に Hasura の特性が合っている理由や Hasura のつらみも紹介されているので Hasura の導入を考える方にとって参考になる内容になっています。
Recap Part 1
HASURA CON'21 Recap (38:54 ~)
Hasura Con'21 Recap - GraphQL subscriptions - Speaker Deck
1 つ目の振り返りパートでは Engineering Lead の唐澤 @karszawa が発表しました。GraphQL のオペレーションタイプの 1 つで、リアルタイムでデータの変更を通知できる Subscription がテーマになっています。
振り返りでは The Washington Post が米大統領選挙速報を AWS をフル活用した構成で作ったことに対し、オリンピックのメダル速報を Hasura で作るという事例が紹介されています。また、ダイニーでの Subscription の活用事例とその事例で起きた問題とその対応についても紹介されています。
GraphQL の Query と比べると Subscription は頻繁に使わないため、深く考えることが少ないかと思いますが The Washington Post とダイニ―の事例から Hasura は Subscription において何が良くて、実際には何を考えなくてはいけないのかがわかる発表でした。
Recap Part 2
HASURA CON'21 Recap (58:34 ~)
HASURA CON'21 Recap Part 2 - Speaker Deck
2 つ目の振り返りパートは私が発表しました。
1. Hasura の仕組みを翻訳に活用する
2. Hasura のキャッシュ機構とクエリパフォーマンスの最適化
3. Hasura のエンジニアリングの進化
以上の 3 セッションを紹介しました。
意図して様々な種類のセッションを選びましたが、HASURA CON'21 の雰囲気が少しでも伝わっていれば幸いです。
Live Demo
HASURA CON'21 Recap (1:13:35 ~)
HASURA CON'21 Recap Live Demo - Speaker Deck
最後はモバイルオーダーアプリを題材に、Hasura の機能を説明しながら、その機能を使用する Live Demo を行いました。駆け足になってしまったところはありますが、30 分で Hasura の大体の機能を説明しつつ、所々で Hasura を上手く使う方法まで紹介できました。Hasura 以外の部分については説明を省いたのでその点が気になる方にはコードを見ていただきたいと思っています。
当日使用したコードは dinii-inc/hasura-con-2021-recap-mo-demo のリポジトリからご覧いただけます。
おわりに
Hasura とは何か、どのような仕組みを持っているか、ダイニーや他社はどのように活用しているかということを発表し、「Hasura は良いぞ」ということをお伝えできたと思っています。また、イベント形式で発信することで参加者のみなさまからリアルタイムで多くのフィードバックをいただくことができました。
ダイニーは今後もエンジニアのみなさまに興味を持ってもらえるような技術やその活用の発信を続けていきます。次回のイベントが気になる方は是非 dinii の connpass ページ からグループのメンバーになってみてください!
ご視聴いただいたみなさま、発表いただいたみなさま、ありがとうございました!次回もご期待ください!
dinii では Hasura を使い倒してみたいエンジニアを絶賛募集中です。
dinii の開発チームが少しでも気になった方は是非お声がけください!
興味がある方は採用ページから