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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
JunkiIshida
February 16, 2026
Programming
1.1k
1
Share
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
【Go特集】バックエンドGo開発の裏側 直面する課題と今後の展望とは?
https://findy.connpass.com/event/378623/
で使用した登壇資料です。
JunkiIshida
February 16, 2026
Other Decks in Programming
See All in Programming
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
110
10年分の技術的負債、完済へ ― Claude Code主導のAI駆動開発でスポーツブルを丸ごとリプレイスした話
takuya_houshima
0
1.6k
Rethinking API Platform Filters
vinceamstoutz
0
9.1k
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
340
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
190
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.4k
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
180
感情を設計する
ichimichi
5
1.2k
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
3
500
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
220
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
710
存在論的プログラミング: 時間と存在を記述する
koriym
5
780
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
94
Skip the Path - Find Your Career Trail
mkilby
1
100
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
150
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
Deep Space Network (abreviated)
tonyrice
0
110
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
210
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
How to Ace a Technical Interview
jacobian
281
24k
Odyssey Design
rkendrick25
PRO
2
560
Practical Orchestrator
shlominoach
191
11k
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.