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
JunkiIshida
February 16, 2026
Programming
1
110
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
【Go特集】バックエンドGo開発の裏側 直面する課題と今後の展望とは?
https://findy.connpass.com/event/378623/
で使用した登壇資料です。
JunkiIshida
February 16, 2026
Tweet
Share
Other Decks in Programming
See All in Programming
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
CSC307 Lecture 05
javiergs
PRO
0
500
高速開発のためのコード整理術
sutetotanuki
1
420
CSC307 Lecture 04
javiergs
PRO
0
660
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
Rails Girls Tokyo 18th GMO Pepabo Sponsor Talk
yutokyokutyo
0
110
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
350
Package Management Learnings from Homebrew
mikemcquaid
0
240
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
7
980
Metaprogramming isn't real, it can't hurt you
okuramasafumi
0
110
JPUG勉強会 OSSデータベースの内部構造を理解しよう
oga5
1
170
Python’s True Superpower
hynek
0
170
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Visualization
eitanlees
150
17k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
64
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
170
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
180
Paper Plane
katiecoart
PRO
0
46k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Code Reviewing Like a Champion
maltzj
527
40k
BBQ
matthewcrist
89
10k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
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.