Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Backendはつらいよ - 複雑性をコントロールする技術/Backend_is_Hard_-...
Search
hirai.kazushi
May 15, 2026
Technology
93
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Backendはつらいよ - 複雑性をコントロールする技術/Backend_is_Hard_-_Techniques_for_Controlling_Complexity.pdf
以下のイベントでの登壇資料です
Backendを語る会 in 福岡 #1
https://backend-fk.connpass.com/event/391337
hirai.kazushi
May 15, 2026
More Decks by hirai.kazushi
See All by hirai.kazushi
Feature Flagを用いたサーバーサイドリリースの実装と柔軟な運用について/implementation_and_operation_of_server_side_release_with_feature_flag
policemankh
1
1.2k
信頼性と柔軟性向上のためのマイクロサービスのリアーキテクティング/architecture-redesign-of-microservices-for-improved-reliability-and-flexibility
policemankh
0
670
How to manage increasingly complex microservices
policemankh
0
93
複雑になったマイクロサービスを どう管理するか/how-to-manage-increasingly-complex-microservices
policemankh
0
2.8k
非同期メッセージングサービスを使ったLINEメッセージ配信の改善/improve-oa-messaging-with-asynchronous-architecture
policemankh
0
530
Other Decks in Technology
See All in Technology
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
720
分析AIエージェントを育てる、動く環境を育てる
codatum
1
430
Kiro Crewをはじめよう
kizawa2020
1
100
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
5
2.1k
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
320
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
4
4.1k
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
0
530
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
120
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
570
メルペイ 会計システム概要と歴史
mewuto
0
200
BedrockとLambdaで作る リアルタイム進行型推理ゲーム
kawametho
0
210
予測不能な実行エージェントを安全にサクッと試せるサンドボックス環境の話
sansantech
PRO
0
130
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
490
Unsuck your backbone
ammeep
672
58k
From π to Pie charts
rasagy
1
390
Designing Powerful Visuals for Engaging Learning
tmiket
1
600
The Pragmatic Product Professional
lauravandoore
37
7.5k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Facilitating Awesome Meetings
lara
57
7.2k
Become a Pro
speakerdeck
PRO
31
6.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Rails Girls Zürich Keynote
gr2m
96
14k
Balancing Empowerment & Direction
lara
6
1.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Transcript
BACKEND はつらいよ 〜 複雑性をコントロールする技術 〜 LINEヤフー株式会社 平井 ⼀史
平井 ⼀史 (Hirai Kazushi) LINEヤフー株式会社 コンテンツ&メンバーシップドメイン所属 LINE STORE、LINEスタンプ関連を担当 興味:家族、マラソン、体を動かすこと バックエンドの複雑性と⽇々向き合っています
自己紹介
⼤規模プラットフォームの運⽤ LINEのエコシステムを⽀える主要なバックエンドシステムを担当 LINE STORE スタンプ‧着せかえ等、LINEの デジタルアイテムを販売する公式 オンラインストア。 収益基盤となるプラットフォー ム。 担当プロダクトとシステム規模
システム規模 数千万規模の⼤量データを扱う、 極めてスケーラブルなアーキテク チャ。 トラフィック 秒間数万リクエストの⾼負荷環境 下で、低遅延かつ⾼可⽤性を 維持。
Application Java / Kotlin Spring Boot Armeria Data
/ Cache MySQL / MongoDB Elasticsearch Redis / Kafka Infrastructure Verda (Private Cloud) Kubernetes / VM Microservices 技術スタック
実装のコモディティ化 CRUD処理程度であれば、AIが⼀瞬でコードを⽣ 成する時代。表⾯的な「実装」のハードルはかつ てなく下がっている。 バックエンドの本質 しかし、「つらさ」の本質はそこにない。真の仕 事は、AIには代替できない「複雑性の制御」にあ る。
AIがコードを書く時代の開発
バックエンドの「つらさ」の正体 スケール 膨⼤なトラフィックと増⼤するデータへの対応 運⽤ リリース後から始まる「終わりのない戦い」 時間 データ量増加、技術の陳腐化(EOL) 組織 プロダクト開発 vs
技術的負債 「これら4つの複雑性をコントロールすることこそが、 バックエンドエンジニアの真の職務である。」
スケールのつらさ:大量データの罠 Q. 1000万件のバッチ処理 1件の処理に10秒かかる場合、完了までにどのくらいが必要か? 1,000万件 × 10秒 = 約3年 24時間回し続けても終わらない...
並列度10でも約116⽇、1000は約28時間だが... 並列化だけでは解決しない 並列度を上げれば解決するように⾒えるが: CPUリソースの限界 外部DB/APIへの負荷増⼤ サーバー増設によるコストの壁
「1件を速くする」のが正攻法 ボトルネックの徹底追求 10s → 1s → 0.1s → 0.01sへと叩く。 クエリ最適化
インデックス追加、N+1問題の解消。 通信コスト削減 外部APIをローカル処理やキャッシュに寄せる。 基礎体⼒の向上 1件の速さがスケール戦略の「限界値」を決定する。 「1件の速さ」の積み重ねこそが、 巨⼤なスケールを⽀える唯⼀の道。
運用のつらさ: リリースの先にある本番 終わりのない運⽤戦 開発期間はライフサイクル全体のごくわずか。真の戦いはリ リースから始まる。⽪⾁にも障害の多くは「開発者の操作」か ら⽣まれる。 操作ミス、設定不備による障害 他プロダクトの予期せぬ仕様変更 リリース作業そのものが持つリスク 防御策
問題の早期発⾒:アラートの整備が不可⽋
緊急性のレベル分け ERROR: 即対応が必要なもの。オンコールエンジニアが⼀次 対応すべきもの。 WARN: 様⼦⾒。翌営業⽇に確認すべき、潜在的な問題の 兆候。 INFO: ログ保存のみ
RUNBOOKの整備 アラートに対する⼿順書。背景と対処⼿順を明確にして、開 発者のパニックを防ぎ、誰でも対応可能にする。 アラート通知にRUNBOOKへのリンクを設置すると初動対応 が迅速化。 アラートを形骸化させない 過剰なアラートは「オオカミ少年」状態を招き、重要な通知の軽視や無視に繋がる。
今⽇は動いても、未来は壊れる 時間はバックエンドにとって最も残酷な変数。 データの増⼤: ⾼速だったクエリが低速化。 技術の⾵化: フレームワークやミドルウェア、OSのEOL。 バージョンアップ: 破壊的変更に伴う⼤規模改修。 時間のつらさ:技術的負債
運⽤負荷の「構造的な」増⼤ マイクロサービス化による分割でスケーラビリティは向上し たが、代償として運⽤負荷が増加 管理すべきサーバやDB数の増加 EOL対応やパッチ適⽤の⼯数が増加。 ⽌められないサービスや個⼈情報を含むDBバージョンアッ プは常に⾼リスク。 マイクロサービスの代償
⼿順の⼀般化 ⾃動化の推進 運用負荷を手順・自動化・技術で抑え込む 職⼈芸を排し、⼿順書を整備。誰 でも対応可能な組織状態を構築。 ⼈による操作をなくして、ミスのリス クと作業⼯数を最⼩限に。再現性の
⾼い安全なプロセスの確⽴。 新技術によるリスク回避 新技術により、作業のリスクを回避また は最⼩化。DBバージョンアップなどを サービス無停⽌‧即時ロールバック可能 に。 e.g. Kafka Connect
「外部要因」という見えない壁 チームの意志とは無関係に、 サービス維持のために必須となる作業が発⽣ データ制約‧法規制 各国の法律や会社ルールの変更へ の対応。 セキュリティ要件 緊急度の⾼い最新の脆弱性 (CVE)への対応。
未来は、誰にも予測できない。 「予測」して備えることには限界がある。情勢やビジネス⽅針は突然変わる。 前提は常に崩れ去る。 防御策:いかに後で変えられるかを重視する 疎結合 コンポーネントを独⽴させ、変化へ の柔軟性を確保する。 e.g. イベント駆動アーキテクチャ
分割 影響範囲を極⼩化し、予期せぬ副作 ⽤を封じ込める。 e.g. マイクロサービス 抽象化 実装の詳細に依存させず、インター フェースで変化を吸収する。 e.g. クリーンアーキテクチャ
組織のつらさ:負債か、プロダクトか 相反する優先順位 「新機能を作りたい」ビジネス側と、「負債を返した い」開発側の対⽴。 「技術的負債の放置は、将来の成⻑を完全に⽌め る。これを組織として合意できるか。」 解決策:改善を専任とするチームを結成し、 組織として「負債返済」を仕組み化する。 ⼈的リソース確保が必要なため、組織への交渉と理解獲得が必要。
Backendはつらいよ だからこそ、エンジニアとしての価値がある。 ご清聴ありがとうございました。