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
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
JunkiIshida
February 16, 2026
Programming
1.2k
1
Share
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
【Go特集】バックエンドGo開発の裏側 直面する課題と今後の展望とは?
https://findy.connpass.com/event/378623/
で使用した登壇資料です。
JunkiIshida
February 16, 2026
Other Decks in Programming
See All in Programming
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
2
260
Programming with a DJ Controller — not vibe coding
m_seki
3
860
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
1.3k
AWSはOSSをどのように 考えているのか?
akihisaikeda
0
120
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
780
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
0
190
Agentic AI & UI: Arcitecture, HITL, Emerging Standards
manfredsteyer
PRO
0
110
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
3.2k
Agentic Elixir
whatyouhide
0
450
AgentCore Optimizationを始めよう!
licux
3
240
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
370
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
440
Featured
See All Featured
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
700
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
180
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Writing Fast Ruby
sferik
630
63k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
190
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
440
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Transcript
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために 朝日新聞社 朝デジ事業センター 石田 隼基
朝デジ事業センター 開発部 次長 Confidential Copyright © The Asahi Shimbun Company.
All rights reserved. 2 2023年3月〜 朝日新聞社に中途入社 ※以前はNode/TypeScriptエンジニアで、入社までGo は未経験でした 2023年10月〜 朝日新聞のデジタル版アプリのリニューア ルプロジェクトに参画 石田 隼基 Ishida Junki
本日のアジェンダ Confidential 3 Copyright © The Asahi Shimbun Company. All
rights reserved.
アジェンダ Confidential 4 Copyright © The Asahi Shimbun Company. All
rights reserved. 1.朝日新聞のデジタル版について 2.Go × バックエンドシステム 3.技術的な課題 4.今後の展望
朝日新聞のデジタル版 Confidential 5 Copyright © The Asahi Shimbun Company. All
rights reserved.
朝日新聞社 Confidential 6 Copyright © The Asahi Shimbun Company. All
rights reserved. 株式会社 朝日新聞社 東京都中央区築地5-3-2(東京本社) • 社員数 3742人 (2025年4月現在) • 事業内容 • 新聞・デジタルメディアによるコンテンツ事業、展覧会などのイベント事業、不動産事業など
サービス規模 Confidential 7 Copyright © The Asahi Shimbun Company. All
rights reserved. 朝日新聞メディア指標: https://www.asahi.com/corporate/info/15487077
朝日新聞のデジタル版 Confidential 8 Copyright © The Asahi Shimbun Company. All
rights reserved. Web App(iOS/Android)
アプリ版は2種類 Confidential 9 Copyright © The Asahi Shimbun Company. All
rights reserved. 速報ニュースや「ニュースの要点」、 トピックスなどの機能・コンテンツが 使える「朝日新聞アプリ」 紙の新聞の形でニュースが読める 「朝日新聞紙面ビューアーアプリ」
朝日新聞のデジタル版のあゆみ Confidential 10 Copyright © The Asahi Shimbun Company. All
rights reserved. 1995年に「asahi.com」(アサヒ・コム) を開設。 インターネット上でのニュース配信を開始 2011年春 サブスクリプションのニュース サイト「朝日新聞デジタル」を開始 2011年夏 朝デジアプリ(iOS/Android) オープン 2020年 内製化へ舵を切る 2025年1月 朝日新聞アプリを全面リニューアル サービス名を「朝日新聞」に統一
Go × バックエンドシステム Confidential 11 Copyright © The Asahi Shimbun
Company. All rights reserved.
バックエンドの内製化&マイクロサービスへ分割 Confidential 12 Copyright © The Asahi Shimbun Company. All
rights reserved. •2020年からの内製化を機に、モノリシックなシステムをログイン / 課金 / コンテンツ配信 / 通知管理 などのコンテキストに分割し、フ ルスクラッチで新規開発&リプレイス中 •基本的にバックエンド領域はGoで統一 •マイクロサービスとして分割することで各サービスの改修・デプロ イが独立化。また機能・サービス単位ごとのスケールも容易に
記事を表示するまでの一連の流れ 13 Web用 バックエンド システム 記事データベース アプリ用 バックエンド システム Webフロント
エンドシステム Goを利用 アプリ用 BFF Node.js データの 整形等 C D N
記事を表示するまでの一連の流れ(有料会員限定記事) 14 Web用 バックエンド システム 会員管理システム アプリ用 BFF アプリ用 バックエンド
システム 記事データベース 認証・認可 システム Webフロント エンドシステム php worker Roadrunner 既存の phpコードを流用
フォロー機能等を利用するまでの一連の流れ 15 Web用 バックエンド システム 会員管理システム アプリ用 BFF アプリ用 バックエンド
システム 記事データベース 認証・認可 システム Webフロント エンドシステム php worker Roadrunner フォロー管理 システム データベース フォロー中の 連載・記者・ジャンル に紐 づくコンテンツを返却
プッシュ通知を届けるまでの一連の流れ 16 アプリ用 BFF プッシュ 通知用 システム 記事データベース 編集者 記事入稿
CMS プッシュ配信 ダッシュボード 運用担当者 デバイス トークン 登録 APNs / FCM プッシュのトリガーは2種類 • 運用者が手動で配信するもの • 例)「速報席」と呼ばれる運用担当者が選択し配信 • 記事の更新をトリガーに自動で配信するもの • 例)連載記事をフォローしているお客様に自動配信
有料会員契約時 17 Web用課金 バックエンド システム 会員管理システム アプリ用 BFF アプリ内課金 バックエンド
システム 認証・認可 システム Webフロント エンドシステム Apple / Google ストア
技術スタック Confidential 18 Copyright © The Asahi Shimbun Company. All
rights reserved. • Go × クリーンアーキテクチャで統一し、アプリケーション間のスイッチング コストを抑制 • 書き込みと読み込み両方のユースケースを担保するサービスの一部では、CQRSパターンも採用 • DBは主にDynamoDBとAurora+PostgresSQLを採用 • Dynamoで十分なユースケースでは積極的にDynamoを使うことで運用負荷を下げる • PostgresはORMは使わずにsqlxとgolang-migrateで統一 • その他Go以外の技術スタック • システム間通信にはgRPCを採用。クライアントアプリ・BFF間もgRPCを導入 • サービス同士はAWS TransitGateway でAWSアカウントのVPCを跨いだ相互接続を実現 • モニタリングツールはNewRelicを導入
Goを採用して実際のところどうなのか Confidential 19 Copyright © The Asahi Shimbun Company. All
rights reserved. •良かった点 •コードスタイルのばらつきが少ない • 可読性が均質になりやすく、マイクロサービス間の行き来もしやすい •高い後方互換性 • Go周りのメンテコストはほぼゼロ •ビルトインのツール・標準ライブラリが充実 • 初期セットアップが簡単。マイクロサービスの立ち上げが容易 •goroutine による並行処理の書きやすさ • 複数のマイクロサービスと通信する際の実装に最適
Goを採用して実際のところどうなのか Confidential 20 Copyright © The Asahi Shimbun Company. All
rights reserved. •課題 •エラーハンドリングの冗長さ • ハンドリングを忘れてContext Canceledエラーをエラーログで出すこと 多数 •並行処理が気軽にできる反面、扱いが難しい • Race Condition の回避、Context Canceled の伝播など
コーディングエージェント活用 Confidential 21 Copyright © The Asahi Shimbun Company. All
rights reserved. •Devin/Cursorの利用を経て、Claude Codeの利用に最適化 •一部の開発者は自分で一切コードを書かない体制が確立 •Claude Code Actionでコードレビューも自動化 •CLAUDE.mdにGoの言語特性として気をつけるべき観点を明記 •文章自体Claude Codeに記述させた •その他、SkillsやCommandsも実験的に導入 •Postgres用のSkillを導入(supabase-postgres-best-practices) •JIRAのMCPを使いチケットの記述を参照して、実装・テスト・PRまでを一連で実行 するコマンド(/pr)を整備
CLAUDE.mdの実際の例(一部) 22
CLAUDE.mdの実際の例(一部) 23
技術的な課題 Confidential 24 Copyright © The Asahi Shimbun Company. All
rights reserved.
Webバックエンドシステムのパフォーマンス問題(一例) Confidential 25 Copyright © The Asahi Shimbun Company. All
rights reserved. • Web用の記事データ取得バックエンドのパフォーマンスが劣化 •記事表示までのレスポンスタイムが2秒以上かかることもあるなど著しく劣化 •ただし定常的に劣化しているわけではなく、問題の切り分けに難航 • 記事データベースのレスポンスタイムに大きな要因はなく、ボトルネックがアプ リケーションにあると判明し原因を詳細調査 •開発環境で負荷をかけ、pprofで結果を集計し地道に分析 記事データベースから得られたJSONデータをGoの構造体に変換する処理に時間が かかっていた。JSONデコーダを標準のものからサードパーティ(json-iterator)の ものに変更しパフォーマンスが改善 •JSONデータは時には巨大(数MB単位)になることがある
アプリバックエンドシステムのパフォーマンス問題 Confidential 26 Copyright © The Asahi Shimbun Company. All
rights reserved. •2025年1月に大規模なアプリリニューアルを敢行。それから2週間に 1回のアプリリリースペースを1年以上継続中 •マイクロサービス間でN+1リクエストを飛ばしてしまっていたり、 並列リクエストできるところを直列リクエストしてしまっていたり、 様々な性能劣化が起きている •CPU使用率のベースラインもじわじわ増加中 •現在進行形で検知・対応中だが、まだまだ十分に手が回っていると は言い難い
今後の展望 Confidential 27 Copyright © The Asahi Shimbun Company. All
rights reserved.
今後の展望 Confidential 28 Copyright © The Asahi Shimbun Company. All
rights reserved. •LLMをフル活用し、バックエンド専門ではないエンジニアでもバッ クエンド開発ができるような環境のさらなる整備 •統一したアーキテクチャ×LLMによるブーストで、フルサイクルエンジニア リングに挑戦する環境は整えやすいはず •賢いスケーリング戦略の導入 •コスト度外視で画一的にオートスケールする戦略を取ってきたが、注目度の 高い報道や、それらに伴うプッシュ通知を覚知して、あらかじめスケールし ておくなどの戦略的なスケーリングを導入したい
We are hiring Confidential 29 Copyright © The Asahi Shimbun
Company. All rights reserved. 我々は「つながれば、見えてくる。」をスローガンに、朝日新聞の デジタル版を「情報のプロセスをクリアにして多様な視点を提供し、 ユーザー自身が行動するメディア」に創り直し、デジタル上で最も 信頼されるメディアを目指しています。 一緒に未来のメディアを創っていきませんか? 採用情報:https://www.asahishimbun-saiyou.com/career/
Confidential 30 Copyright © The Asahi Shimbun Company. All rights
reserved.