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
NIKKEI Tech Talk #4 日経電子版のバックエンド開発全般の紹介/nikkei-...
Search
日本経済新聞社 エンジニア採用事務局
February 16, 2023
Technology
0
4.2k
NIKKEI Tech Talk #4 日経電子版のバックエンド開発全般の紹介/nikkei-tech-talk-20230216-1
Nikkei Tech Talk #4 で発表した際の資料です。日経電子版のバックエンド開発全般の紹介です。
https://nikkei.connpass.com/event/272705/
日本経済新聞社 エンジニア採用事務局
February 16, 2023
Tweet
Share
More Decks by 日本経済新聞社 エンジニア採用事務局
See All by 日本経済新聞社 エンジニア採用事務局
次世代AIコーディング:OpenAI Codex の最新動向 進行スライド/nikkei-tech-talk-40
nikkei_engineer_recruiting
0
310
AWS運用を効率化する!AWS Organizationsを軸にした一元管理の実践/nikkei-tech-talk-202512
nikkei_engineer_recruiting
0
480
日経電子版の BCP への取り組みについて/mediajaws1121
nikkei_engineer_recruiting
0
230
LLMを用いた擬似ラベルデータセットによる記事分類タスクの精度改善/yans2025
nikkei_engineer_recruiting
0
120
LLM × 機械学習で実現するプッシュ通知のパーソナライズ/nikkei-tech-talk-38
nikkei_engineer_recruiting
0
420
LLM Observabilityで切り拓くLLMプロトタイプ開発の可視化と加速/Datadog_Summit_Tokyo2025
nikkei_engineer_recruiting
0
110
日経が挑戦するデータ民主化 ~ セルフサービス基盤がもたらす利点と苦悩~/nikkei-tech-talk-37
nikkei_engineer_recruiting
0
560
Datadog で実現する複数サービスの監視効率化/datadogliveosaka
nikkei_engineer_recruiting
0
100
「批評」を習慣にするための仕組みと場のデザイン/uxdesign202507
nikkei_engineer_recruiting
6
1k
Other Decks in Technology
See All in Technology
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
4
1.5k
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
3
2.1k
しろおびセキュリティへ ようこそ
log0417
0
230
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
130
KubeCon + CloudNativeCon NA ‘25 Recap, Extensibility: Gateway API / NRI
ladicle
0
160
Vitest Highlights in Angular
rainerhahnekamp
0
120
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
73k
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
5
1.7k
Deno・Bunの標準機能やElysiaJSを使ったWebSocketサーバー実装 / ラーメン屋を貸し切ってLT会! IoTLT 2026新年会
you
PRO
0
210
メルカリのAI活用を支えるAIセキュリティ
s3h
8
5.8k
変化するコーディングエージェントとの現実的な付き合い方 〜Cursor安定択説と、ツールに依存しない「資産」〜
empitsu
4
1k
オープンウェイトのLLMリランカーを契約書で評価する / searchtechjp
sansan_randd
3
530
Featured
See All Featured
A Soul's Torment
seathinner
5
2.2k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
51
Balancing Empowerment & Direction
lara
5
860
Designing for humans not robots
tammielis
254
26k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
93
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
67
Transcript
2023/2/16 日本経済新聞社 API-Backendチーム 髙安 日経電子版のバックエンド開発全般の紹介 ~メディアのバックエンド~ NIKKEI TECH TALK #4
#nikkei_tech_talk アジェンダ 2 1. 日経電子版とAPI-Backendチームの概要紹介 2. 日経電子版のバックエンド開発紹介 a. 記事をユーザーに届けるまで b.
アクセス規模と負荷を捌く工夫 c. 内製開発 3. まとめ
#nikkei_tech_talk 自己紹介 3 • Osamu Takayasu • 2015年中途入社 • API-Backendチーム兼技術企画G
所属 • 5時おき&在宅勤務で朝活が充実 ◦ 筋トレ・ラン・読書・英語・Podcast
#nikkei_tech_talk 日経電子版 4 • 有料会員数は約83万ID※1 、無料会員数は約500万ID • 経済分野のニュースを中心にWebサイト、スマホアプリで配信 • AI推薦などのパーソナライズ機能を提供
※1 2022/7/1 時点 https://www.nikkei.com/topic/20220715.html ※2 2022/10/1 時点 https://marketing.nikkei.com/media/web/accessdata/
#nikkei_tech_talk Client システム概要図 5 iOS/Android iOS/Android Web ・・・ CDN BFF
API Backends API Gateway Nikkei App Paper Viewer BFFs ・・・ Nikkei ID Payment Search Paper Image ・・・ CMS Message (Mail/Line /Push) Data Ads ・・・
#nikkei_tech_talk 電子版事業のチーム構成 6 Conversion ARPPU Retention 職能 目的 ・・・ アプリ
Web Backend ・・・ ◯ ◯ ◯ ◯ ◯ ◯ ◯
#nikkei_tech_talk API-Backendチームの役割 7 • アプリ〜インフラ、開発〜運用をスコープとして、電子版の バックエンドシステムの技術的意思決定、開発速度、サービス 品質に責任を持つ • 電子版のコンテンツを信頼性高く提供する •
PdMや他チームと連携しながら、事業成長につながる提案、開 発にコミットする
#nikkei_tech_talk API-Backendチームメンバー 8 + フリーランスの方1名 + SESの方2名 バックエンド/エンジニア採用/技術組織開発 テックリード API/配信基盤/インフラ基盤の設計、運用
バックエンド + ML。記事レコメンドなど バックエンド + ML。社内報サービス立ち上げなど
#nikkei_tech_talk 日経電子版のバックエンド開発紹介 9
#nikkei_tech_talk 日経電子版のバックエンド開発紹介 10 • 記事をユーザーに届けるまで • アクセス規模と負荷を捌く工夫 • 内製開発
#nikkei_tech_talk 記事をユーザーに届けるまで 11 CMS群 CMS 編集ツール 記事格納システム parse CMSのAPIから取得した JSONをS3に保存。メタ
データの付与、変換処理 をして”Article”に変換に してRDBに保存 feed “Article”をElasticsearch 用のJSONに変換し、メタ データをつけて返却する API Elasticsearch 記事 企業情報 imgIX(CDN) S3 記事 メタデータ 画像 画像用proxy SearchAPI SearchAdmin APIGW BFF 同義語辞書 CDN
#nikkei_tech_talk 記事データを紹介 12 • 記事データは約400項目 ◦ title, body, display_time, images,
… • 電子版の創刊から12年かけて継ぎ足されている ◦ 「表示する媒体や画面別の表示用データ」 ◦ 「表示する媒体や画面別の記事を選択する検索用データ」 ◦ 「保存可・不可など制御用」など
#nikkei_tech_talk 記事データに関する課題 13 • 記事データを管理しきれていない • 主な原因 ◦ サーバーサイドで記事データを作るが、クライアント側の 使われ方を知る機会が少ない
◦ 電子版Web、アプリ以外に様々なクライアントがいる ◦ 記事データを作成・編集する関係システムが、 CMS/API-Backend/BFF と複数ある
#nikkei_tech_talk 記事データのvalidation 14 CMS群 CMS 編集ツール 記事格納システム parse CMSのAPIから取得した JSONをS3に保存。メタ
データの付与、変換処理 をして”Article”に変換に してRDBに保存 feed “Article”をElasticsearch 用のJSONに変換し、メタ データをつけて返却する API Elasticsearch 記事 企業情報 SearchAPI SearchAdmin APIGW BFF 同義語辞書 CDN • 赤線の記事データを受け渡す境界でvalidateしたい • validationを実装、整備中 ◦ rest_frameworkやjsonschemaを利用 • エラーを検知してslackに通知したり、ログ送信したりしてデー タの確認、及び修正対応
#nikkei_tech_talk 記事を表示する仕組み 15 • どの記事をどこに出すかは重要 • 報道機関として、Webメディアとして
#nikkei_tech_talk 手積みシステム 16 • 電子版トップページは、紙面の1面に相当 • 編集局がどの記事をどの並び順で、どの ような見出しで出すかをコントロール • 紙と違い1日の中で何回か更新される
#nikkei_tech_talk 手積みシステム 17 ES 記事 企業情報 S3 記事 メタデータ 画像
SearchAPI APIGW BFF CDN CMS群 CMS 手積み システム 記事の並び順定義ファイルを取得
#nikkei_tech_talk その他の記事表示ロジック 18 • AI推薦 ◦ 協調フィルタリングやランキングなどを用いた記事レコメンド • MyNews ◦
ユーザーが登録した条件に応じた記事一覧 • ユーザー検索 ◦ 同義語辞書、重複記事排除、クエリ変換、企業データ付与 • 分類ごと(ex: 経済/マーケット/地域...)の記事一覧表示ロジック
#nikkei_tech_talk アクセス規模と負荷を捌く工夫 19
#nikkei_tech_talk アクセス・配信の規模感 20 • 月間2億PV • API基盤へのアクセス: 2,500 req/sec •
Push ◦ 数十万~数百万ユーザー宛 ◦ Push通知直後のアクセス: 数万 req/sec
#nikkei_tech_talk 負荷を捌く工夫 21 • 稼働インスタンス数: 全体で300台以上 ◦ API基盤は約60台 • CDNのキャッシュヒット率は80~90%程度
◦ JWTを利用したFastlyレイヤーでの権限判定 ◦ 記事更新時のタイムリーなcache purge ◦ Pushによるspike時は個人別のデータアクセスを減らす
#nikkei_tech_talk 内製開発 22
#nikkei_tech_talk 日経のイメージ 23 • 日経 = エンジニアリング のイメージはまだなさそう • カジュアル面談でお話すると、「こんなに内製開発していると
は思っていなかった」というお声をいただく • 入社した後でさえ「こんなに内製開発・・(以下略」
#nikkei_tech_talk 内製開発とは 24 • 開発チームが以下の構成 ◦ チーム全員が社員か、一部が準委任契約の社外メンバー • なぜ/何を/どうやって開発するかを社員が意思決定 •
エンジニアが事業ドメインを理解し、能動的に動ける • 内製開発ではない例 ◦ 社員のコードレビューなしにソースコードがマージされる ◦ 請負開発で社員は要件定義のみ。コードは書かない
#nikkei_tech_talk 日経での内製開発 25 • 日経電子版では内製開発を実施 • エンジニアの関わり方 ◦ 企画/調査・データ分析/要件定義/設計/開発/テスト ◦
各人のモチベーション・スキル・状況に応じて、上記の全 部もしくは一部に携わる ◦ 1on1などでコミュニケーションしながら進める
#nikkei_tech_talk まとめ 26 • メディアならでは/日経ならではのサービス開発 • 大規模アクセスを捌く/データを活用するサービス開発 • 内製開発を実践し、事業ドメインへ積極的にコミット