Slide 1

Slide 1 text

マネージドサービスにお任せ! マンガ領域のサービスDADAN・DEDENの クラウドアーキテクチャ 株式会社グリー バックエンドエンジニア 大塚貴斗

Slide 2

Slide 2 text

大塚貴斗 2024年:新卒入社 ● グリーグループ外のアプリ内サイト開発 → DADAN株式会社のマンガ領域サービス開発 2025年 ● インフラストラクチャ部兼務 ● 一時期フロントエンド開発も 好き:温泉・銭湯 株式会社グリー Solution Design & Development (SDD) 部 バックエンドエンジニア 2

Slide 3

Slide 3 text

SDD部の紹介 3 株式会社グリー Solution Design & Development部 クライアントはもちろんサービスを使うユーザーにとって価値ある体験をかたちにします 主な業務 ● 課金認証基盤/GameLib 運用開発 ● グリーグループ内事業+社外 技術支援(開発、制作) ○ 経験と実績に裏打ちされた確かな技術力 ○ サービスを成功へ導くノウハウ デザインと設計・開発のシームレスな連携 ■ https://sdd-design.gree.jp/ ※ブース出展していますのでお立ち寄りください

Slide 4

Slide 4 text

目次 ● 概要 ● DADAN・DEDENとは ● 開発体制 ● クラウドアーキテクチャ紹介 ○ コンピューティング ○ データベース ○ バッチ処理 ● まとめ 4

Slide 5

Slide 5 text

概要 SDD部の開発事例のひとつとして、マンガ領域のサービスDADAN・DEDENの クラウドアーキテクチャを紹介します 特徴:マネージドサービスを多く活用 ● 基本メンテナンスフリー ● 少運用工数 紹介するマネージドサービス ● App Engine ● Spanner 5 ● Cloud Run ● Pub/Sub etc.

Slide 6

Slide 6 text

DADAN・DEDENとは マンガアプリ「DADAN」 6 電子書籍業務クラウドツール「DEDEN」

Slide 7

Slide 7 text

開発体制 ● iOS・Androidエンジニア ● バックエンドエンジニア ● フロントエンドエンジニア ● UIデザイナー ● データエンジニア ● インフラエンジニア 7 ● PM ● プランナー ● バックエンドエンジニア ● フロントエンドエンジニア ● QAテスター SDD部

Slide 8

Slide 8 text

紹介するクラウドアーキテクチャ 8 ※全体アーキテクチャではありません

Slide 9

Slide 9 text

クラウドアーキテクチャ紹介 9 ● コンピューティング ● データベース    ● バッチ処理    

Slide 10

Slide 10 text

コンピューティング 10

Slide 11

Slide 11 text

Google Cloudの主要コンピューティングサービス 11 利用者の責任範囲 柔軟性 狭 低 広 高 DADAN・DEDENで使用

Slide 12

Slide 12 text

使用しているコンピューティングサービス (1) App Engine ● フロントエンド (Next.js)・バックエンド (Gin、gqlgen) ● サーバーコード以外はマネージド ● デプロイ毎のURLが用意されるのは開発に便利 Cloud Run ● バッチ (Gin) ● コンテナイメージ以外はマネージド ⇐ App Engine だとリクエストタイムアウトが不足 ● イメージカスタム可能 + マネージドの恩恵 が程よい 12

Slide 13

Slide 13 text

使用しているコンピューティングサービス (2) Cloud Run functions ● BigQueryへのデータ取り込み (Go) など ● 関数コード以外はマネージド ● ちょっとした処理であれば最適 フルマネージドな App Engine を基本に、必要な柔軟性に 応じてサービスを選定 13

Slide 14

Slide 14 text

データベース 14

Slide 15

Slide 15 text

使用しているデータベースサービス Spanner ● メンテナンスのダウンタイムなし ● 全文検索を活用 ○ 機能追加以前は Amazon CloudSearch を利用 ● テストCIでエミュレータを使うものの、CI長期化に苦労 Memorystore for Memcached ● メンテナンスでノード毎に5分程度のダウンタイムあり ○ 半年に一度 ○ スケジュール変更可能 & サービス影響軽微 ⇒ DADAN・DEDENをメンテナンスに入れず実施 データベース起因のDADAN・DEDENメンテナンスなし 15

Slide 16

Slide 16 text

バッチ処理 16

Slide 17

Slide 17 text

バッチ処理関連のサービス Eventarc ● Cloud Storage へのマンガデータアップロードを 起点にフォーマット変換処理を実行 Cloud Scheduler ● 定期的に取次会社からマンガの情報を取得 Pub/Sub ● (Cloud Scheduler と組み合わせて) ジョブキュー ● AIエンジンとの結合インターフェース 基盤機能をサービスに任せ、本質の処理ロジックに集中 17

Slide 18

Slide 18 text

Eventarc・Pub/Subの注意点 意図しないメッセージ配信が起きないよう気を付ける Eventarcの事例 ● Cloud Storage のmetadataUpdatedイベントを使用 → Autoclass起因で不要なマンガデータ変換処理が大量実行された ⇒ finalizedイベントに修正 Pub/Subの事例 ● AIエンジンのモデル変更により、レスポンス時間が10分超に → メッセージの配送失敗と判定され、AI処理がしばらく多重実行された ⇒ メッセージ保持期間を10分に短縮して解決 18

Slide 19

Slide 19 text

宣伝:AIエンジンについて 以降のセッションにて 紹介あります! 19

Slide 20

Slide 20 text

まとめ SDD部の開発事例のひとつとして、マンガ領域のサービスDADAN・DEDENの クラウドアーキテクチャを紹介しました コンピューティング ● フルマネージドな App Engine を基本に、必要な柔軟性に応じて Cloud Run、 Cloud Run functions を使用 データベース ● メンテナンスダウンタイムのないSpannerを主に用い、サービスメンテナンスなしへ バッチ処理 ● 基盤機能をEventarc、Cloud Scheduler、Pub/Subに任せ、処理ロジックに集中 SDD部ブースでお待ちしております! 20

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

No content