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
110
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
680
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
コードレビューをなくして見えたもの
henteko
0
130
【dbts2026】AIエージェントの 判断と探索を変える、 データベース エンジニアリング― 既存DBの処理と依存関係から作る、オペレーショナルオントロジー ―
shisyu_gaku
0
160
Don't write the architecture only in the prompt.
neohsu
0
310
2拠点SRE活動始めてみた | sogaoh's LT @ ホンマでっかSRE勉強会 #3
sogaoh
PRO
0
240
Oracle Database Security 詳細解説
oracle4engineer
PRO
2
250
Autonomous AI Lakehouse - Live AI Hubから始めるセキュアなAIデータ活用 -
oracle4engineer
PRO
3
190
Strands Decider 2BでAWSアップデートの目利きをしてみた
sato4mi
1
120
AIで選択肢が広がった組織設計の理想と現実
konifar
16
7.7k
AIエージェントの監視、思考を見るか行動を見るか / Monitoring AI Agents: Thoughts or Actions
yusukeshimizu
1
150
cdkd (CDK Direct)
gotok365
3
230
渡米前の準備を制す!re:Invent 2026徹底準備術 / The Ultimate Preparation Guide for re:Invent 2026
yuj1osm
1
550
生成AI時代のIAMのマニアックな話
takuros
6
2k
Featured
See All Featured
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.3k
Amusing Abliteration
ianozsvald
1
380
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Building the Perfect Custom Keyboard
takai
2
950
The agentic SEO stack - context over prompts
schlessera
0
1k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
600
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
970
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Are puppies a ranking factor?
jonoalderson
2
4.1k
エンジニアに許された特別な時間の終わり
watany
109
250k
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はつらいよ だからこそ、エンジニアとしての価値がある。 ご清聴ありがとうございました。