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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
JunkiIshida
February 16, 2026
Programming
1
1.1k
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
【Go特集】バックエンドGo開発の裏側 直面する課題と今後の展望とは?
https://findy.connpass.com/event/378623/
で使用した登壇資料です。
JunkiIshida
February 16, 2026
Tweet
Share
Other Decks in Programming
See All in Programming
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
280
The free-lunch guide to idea circularity
hollycummins
0
390
存在論的プログラミング: 時間と存在を記述する
koriym
5
580
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.4k
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
2.2k
Mastering Event Sourcing: Your Parents Holidayed in Yugoslavia
super_marek
0
130
AI 開発合宿を通して得た学び
niftycorp
PRO
0
180
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
420
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
480
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
240
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
3
2.4k
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
270
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
280
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
160
Marketing to machines
jonoalderson
1
5.1k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
700
Done Done
chrislema
186
16k
Discover your Explorer Soul
emna__ayadi
2
1.1k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
Building Adaptive Systems
keathley
44
3k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
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.