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
成長し続けるインフラの安定運用事情
Search
Ryosuke Suto
April 23, 2015
Technology
5.3k
19
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
成長し続けるインフラの 安定運用事情
Ryosuke Suto
April 23, 2015
More Decks by Ryosuke Suto
See All by Ryosuke Suto
横断的なSRE推進と成熟度評価
strsk8
9
8.7k
GKEを利用したサービスの運用
strsk8
1
710
パブリック/プライベートクラウドでつかうKubernetes
strsk8
1
2.5k
GKE@AbemaTV
strsk8
12
9.7k
re:Invent2015参加レポ
strsk8
0
350
ソーシャルゲームDBの危機回避
strsk8
10
15k
Other Decks in Technology
See All in Technology
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
210
AIレビューはどこまで任せられるのか?自動化と人が背負うレビューの境界
sansantech
PRO
3
1.1k
LLMやAIエージェントをソフトウェアに組み込むプラクティス
shibuiwilliam
2
420
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
0
240
変更し続けられるシステムをどう保つか — AI時代のSSoTという設計原則
kawauso
0
170
Kaggleで成長するために意識したこと
prgckwb
2
420
「守りたい体験」を渡すだけで E2E を生成させられるようになった話
hinac0
1
600
ゴールデンパスは敷いただけでは道にならない ─ 企画部門のエンジニアが技術標準を事業価値に変えるまで
mhrtech
1
230
ruby.wasmとPicoRuby.wasmに対応した仮想DOMライブラリを作ってる話 #kaigieffect_kaigi
sue445
PRO
0
150
AI、CDK と協働する Full TypeScript アプリケーション開発 / Full TypeScript Application with AI and CDK
geekplus_tech
2
400
タスクの複雑さでモデルを選ぶ ── Thompson Samplingで動かす“トークン/コスト最適化
satohy0323
0
570
世界、断片、モデル。そして理解
ardbeg1958
1
130
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
250
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
The Spectacular Lies of Maps
axbom
PRO
1
860
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
Practical Orchestrator
shlominoach
191
11k
Mobile First: as difficult as doing things right
swwweet
225
10k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
WENDY [Excerpt]
tessaabrams
11
38k
Claude Code のすすめ
schroneko
67
230k
Transcript
3ZPTVLF4VUP ͠ଓ͚ΔΠϯϑϥͷ ҆ఆӡ༻ࣄ
ࣗݾհ ɾਢ౻ྋհʢ͢ͱ͏Γΐ͏͚͢ʣ!TUSTL ɾגࣜձࣾαΠόʔΤʔδΣϯτ ɾ"NFCBιʔγϟϧήʔϜઐͷΠϯϑϥ ΤϯδχΞ ɾਓͰαʔϏεΛ୲
ΞδΣϯμ ɾϘʔΠϑϨϯυʢԾʣͷΠϯϑϥߏ ɾιʔγϟϧήʔϜͷΠϯϑϥʹٻΊΒΕ Δཁ݅ ɾཁ݅ΛΫϦΞ͠ɺ҆ఆӡ༻͢ΔͨΊʹߦ ͍ͬͯΔ͜ͱ
ϘʔΠϑϨϯυʢԾʣ*4Կ
None
ϘʔΠϑϨϯυʢԾʣͱʁ ɾΠέϝϯͷ͕ฉ͚ΔֶԂ࿀ѪήʔϜ ɾձһສਓಥഁʂ ɾ߽՚༏͕ਓҎ্ࢀՃʂ ɾ͍ΖΜͳΠέϝϯʢΧʔυʣͱग़ձͬͯ ɾ͖ͳΧϨΛࣗຫͨ͠Γ ɾѪΛҭΜͩΓ͢ΔήʔϜͰ͢
ϘʔΠϑϨϯυʢԾʣͷ Πϯϑϥߏ
Web Application Server Cache Server Voice Server Game Database Game
Event Database オンプレミス Internet プライベートクラウド 音声データ を保存 mysql-master-ha(MHA) で冗長化 スタンバイ状態の2台 が参照用スレーブ
ϘʔΠϑϨϯυʢԾʣߏ ɾ ɾϓϥΠϕʔτΫϥυͱΦϯϓϨϛεͷϋΠϒ Ϧου ɾ͕8FCΞϓϦέʔγϣϯαʔό ɾσʔλϕʔε.)"GPS.Z42-ͰԽ ɾࢀরΫΤϦ-#Λܦ༝͠εϨʔϒʹ ɾ1$*FܕϑϥογϡετϨʔδΛࡌ ɾΞΫηεͷଟ͍Πϕϯτ༻ςʔϒϧΛׂ
ͳͥϓϥΠϕʔτΫϥυʁ ɾԾԽʹΑͬͯߴੑೳαʔόͷϦιʔε ΛޮΑ͘ར༻Ͱ͖Δ ɾີ͕ߴ͘ͳΔͨΊσʔληϯλʔޮ ྑ͘ར༻Ͱ͖Δʢిݯҙʣ ɾίετϝϦοτ͕͋Δ ɾ͍͍ͨͱ͖ʹ͙͑͢Δ
ͳͥΦϯϓϨϛεʁ ɾ*0͕ϘτϧωοΫʹͳΓ͕ͪͳ෦Ծ ԽͷΦʔόʔϔου͕େ͖͘ύϑΥʔ Ϛϯε͕ྼΔ ɾ1$*FܕϑϥογϡετϨʔδͳͲɺϋʔ υΣΞʹཔ͖ͬͯͨ෦ΛΧόʔͰ͖ͳ ͍
ϋΠϒϦου͚ͩ͡Όͳ͍ ɾֶԂ࿀ѪήʔϜͯ͢ΦϯϓϨϛεͰ ऑ ɾԾۭؒϓϦϯηεότϧήʔϜ͢ ͯ"84ͰΦʔόʔ ɾͯ͢ϓϥΠϕʔτΫϥυͷαʔϏε ͋Γ ɾલޙʁͷΠϯϑϥΛӡ༻
ڊେͳΠϯϑϥʂ
ιʔγϟϧήʔϜʹ ٻΊΒΕΔγεςϜཁ݅
ιʔγϟϧήʔϜͷಛ ɾʑΠϕϯτΛӡ༻͍ͯ͠ΔͨΊෛՙͷ ঢ়ଶʑมԽ͢Δ ɾαʔϏεఀࢭ͕࣌ؒͦͷ··ػձଛࣦʹ ͭͳ͕Δ ɾߦΓഇΓ͕ܹ͍͠ʢݫ͍͠ੈքʣ ɾωΠςΟϒԽɺϦονԽʹΑͬͯϦΞϧ λΠϜੑॏཁʹͳ͖͍ͬͯͯΔ
ٻΊΒΕΔཁ݅ ɾΩϟύͷѲɺεέʔϥϏϦςΟલఏ ɾʑͷมԽʹର͠ૉૣ͘εέʔϧͰ͖Δ ɾಥൃతͳোʹର͠ૉૣ͘ղܾͰ͖Δ ɾૉૣ্ཱͪ͛͘ૉૣ͘Ή͜ͱ͕Ͱ͖Δ ɾϨεϙϯεৗʹૉૣ͘
ٻΊΒΕ͍ͯΔͷ͞
ڊେͰಈతͳΠϯϑϥʂ
ཁ݅ΛΫϦΞ͢ΔͨΊʹ ɾΒͳͯ͘ྑ͍෦ΛΒͳ͍ ɾखΛಈ͔͞ͳͯ͘ྑ͍ͱ͜ΖΛࣗಈԽ͢Δ ɾ࡞ۀࣗମΛޮԽ͢Δ ɾ࡞ۀͷ࠶ݱੑΛߴ͘͢Δ
ཁ݅ΛΫϦΞ͢Δ ʹ҆ఆӡ༻ʹͭͳ͕Δ
҆ఆӡ༻͢ΔͨΊʹ ͖ͯͨ͜͠ͱ
αʔόߏங࣌
αʔόߏங࣌ʹى͖ͨ ɾߏங࡞ۀʹ͕͔͔࣌ؒΔ ɾ৽نͰߏஙͨ͠ϚγϯͱطʹαʔϏεΠ ϯ͍ͯ͠ΔϚγϯͰઃఆ͕ҧ͏ ɾ৽نߏங͕લऀͩͬͨͨΊखॱ͕Θ͔ Βͳ͍ʢ୳ͯ͠ݟ͔ͭΒͳ͍ʣ
ࣄҊᶃ ʮࠓ$.ଧͭ͜ͱʹͳͬͨͷͰαʔό૿ڧ ͓ئ͍͠·͢ʂʯ ʮྃղͰ͢ʂͪͳΈʹ͍͔ͭΒͰ͔͢Ͷʁʯ ʮि໌͚͔Βͷ༧ఆͰ͢ʔʯ ʮΘɺΘ͔Γ·ͨ͠ʢ͑ʯ
None
ϓϩϏδϣχϯάπʔϧͷಋೖ ɾ*OGSBTUSVDUVSFBT$PEF ɾ$IFG "OTJCMFΛར༻ ɾαʔόͷঢ়ଶΛίʔυԽͯ͠(JUIVCͰཧ ɾίϚϯυҰൃͰԿճͷ࣮ߦͰಉ͡ঢ় ଶʹऩଋ͢Δͱ͍͏؍ʢႈੑʣ ɾίʔυԽ͞Ε͍ͯΔͷͰ୭͕࣮ߦͯ͠ಉ ͡
$IFG ɾαʔόͷঢ়ଶΛهड़ ɾIUUQEͷΠϯετʔϧɺࣗಈىಈઃఆɺىಈ
"OTJCMF ɾಉ͡ॲཧΛ"OTJCMFͰॻ͍ͨ߹ ɾIUUQEͷΠϯετʔϧɺࣗಈىಈઃఆɺىಈ
ಋೖཧ༝ ɾ$IFGࣝऀ͕͍ͨͨΊN @@ N ɾ$IFGશαʔϏεڞ௨Ͱ͑ΔΑ͏ʹ ཧ͞Ε͍ͯͯศརͳɺෳࡶͳͷͰܰ ʹ͑Δπʔϧ͕ཉ͔ͬͨ͠ ɾ"OTJCMFΫϥΠΞϯτʹΠϯετʔϧ͕ ඞཁͳ͘ɺֶशίετDIFG΄ͲͰͳ
͔ͬͨͨΊ
ಋೖͯ͠Έͨ݁Ռ ɾQSPT ɾߏங͕ѹతʹָʹͳͬͨ ɾઃఆ͕ҧ͏ͱ͍ͬͨࣄҊ͕ݮͬͨ ɾίʔυΛڞ༗ֶͯ͠ΔจԽ͕ੜ·Εͨ ɾDPOT ɾϓϩϏδϣχϯάπʔϧࣗମͷ༷ʹϋ ϚΔ͜ͱ͕͋Δɾɾɾ
αʔόߏஙҎ֎Ͱ ɾ5FSSBGPSN 1BDLFS 3PBEXPSLFS ɾओʹ"84Ͱͷར༻ ɾ"84ͷωοτϫʔΫॳظߏஙΛίʔυԽ ɾશͯͷαʔόͰڞ௨ͷॳظઃఆΛߦͬͨ ".*Λ࡞ ɾ%/4ϨίʔυΛίʔυԽͯ͠ཧ
ɾৄ͘͠8FCͰ
ࢹઃఆ࣌
ࢹઃఆ࣌ʹى͖ͨ ɾ૿ઃͨ͠αʔό܊ͷઃఆΛՃ͚ͨ͠Ͳ* 1͕Χϒͬͯ࿙Ε͕ൃੜ͍ͯͨ͠ ɾ૿ઃͨ͠ϚγϯΛࢹʹՃͨ͠ͷʹ ࢹ͖߲͕͢ࢹ͞Ε͍ͯͳ͔ͬͨ
ࣄҊᶄ ʮࢹઃఆ͓ئ͍͠·͢ʔʯ ʮྃղͰ͢ʂʯ ʙ࣌ྲྀΕʙ ʮ͋Εɺ͜ͳ͍ͩೖΕͨϚγϯ͚ͩϦιʔ εݟΕͳ͍Ͱ͢Ͷʯ ʮ͔ɺ֬ೝ͠·͢ʢ͑ʯ
None
ࢹઃఆʙ։࢝ΛࣗಈԽ ɾࢹαʔόͰͷखಈઃఆΛΊΔ ɾࢹରͷηοτΞοϓྃ࣌ʹࢹΛ ։࢝͢Δ ɾ;BCCJY 4FOTV .BDLFSFMΛར༻ ɾϓϩϏδϣχϯάπʔϧͰߏஙͨ࣌͠ ͰࢹରʹͳΔ
;BCCJY
;BCCJY ɾ;BCCJYΤʔδΣϯτΛࢹରʹΠϯε τʔϧͯ͠ϗετͱͯ͠ొ͢Δͱ;BCCJ Yαʔόʔ͕ϗετͱ௨৴͠ࢹΛߦ͏ ɾࢹͷߏ͕׳Εͳ͍ͱΘ͔Γʹ͍͘ ɾϝτϦΫεऔಘࢮ׆ࢹ͍͍ͩͨͳ ΜͰͰ͖Δ ɾ6*͕Θ͔ΓͮΒ͍
;BCCJYͰࣗಈԽ ɾ;BCCJY"1*Λར༻ͯ͠ϗετΛՃ ɾϓϩϏδϣχϯάπʔϧͱ࿈ܞ͠ɺ࣮ߦ ࣌ʹࣗΛϗετՃ͢ΔͨΊͷϦΫΤ ετΛૹ৴ ɾ֤ϛυϧΣΞͷࢹ߲ʢςϯϓϨ ʔτʣϛυϧΣΞͷϨγϐʹඥͮ͘ IUUQXXX[BCCJYDPNKQJNH[BCDPOGQSFTFOUBUJPOT DZCFSBHFOUQEG
4FOTV
4FOTV ɾ4FOTV$MJFOUΛࢹରʹΠϯετʔϧ ͯ͠ઃఆΛ͢Δͱࣗಈతʹ4FOTF4FSWFS ʹೝࣝ͞ΕΔ ɾ4FOTV4FSWFSͱ4FOTV$MJFOUͷ௨৴ 3BCCJU.2Λհͯ͠ߦΘΕΔ ɾ8FC6*ͷπʔϧෳ͋ͬͯΈ͕͔Ε Δ
4FOTVͰࣗಈԽ ɾ4FOTF$MJFOUͷઃఆʹར༻͢Δ3BCCJU.2 ͷ*1Λࢦఆͯ͠ىಈ͢Δ ɾϓϩϏδϣχϯάπʔϧͱ࿈ܞͯ͠ɺ࣮ ߦ࣌ʹىಈ IUUQTIJSPBLJTDPNCMPH&# "&"&#&#&&" &TFOTV&"# &#&#&&'
.BDLFSFM
.BDLFSFMͷ߹ ɾࢹܕ4BB4 ɾ༗ྉ ɾࢹରΛ3PMFͰཧ͠ɺࢹΛߦ͏ ɾϝτϦΫε3PMF͝ͱʹݟΔ͜ͱ͕Ͱ͖Δ ɾ4BB4ͳͷͰࢹαʔόΛཱͯΔඞཁ͕ͳ͍
.BDLFSFMͰࣗಈԽ ɾొͨ͠ΞΧϯτͰऔಘͨ͠τʔΫϯ ΛΫϥΠΞϯτͷઃఆʹࢦఆͯ͠ىಈ ɾϓϩϏδϣχϯάπʔϧͱ࿈ܞͯ͠ɺ࣮ ߦ࣌ʹىಈ
ಋೖཧ༝ ɾ;BCCJY 4FOTVࣝऀ͕͍ͨͨΊN @@ N ɾ.BDLFSFMࢹαʔόͷӡ༻ίετΛল ྗԽ͔ͨͬͨ͠ͷͰݕূಋೖதɻϝτϦ Ϋεݟ͍͢ɻ
ಋೖͯ͠Έͨ݁Ռ ɾࢹ࿙Ε͕ͳ͘ͳͬͨ ɾઃఆ࿙Εͳ͘ͳͬͨ ɾ͍͍͜ͱ͔͠ͳ͍
Ξϥʔτൃੜ࣌
Ξϥʔτൃੜ࣌ʹى͖ͨ ɾΞϥʔτ͕໐͚ͬͨͲɺαʔϏεʹӨڹ ͋Δͷ͔Ͳ͏͔Θ͔Βͳ͍ ɾαʔϏεӨڹͷͳ͍Ξϥʔτ͕ଟ͗ͯ͢ Α͘Θ͔Βͳ͍
ࣄҊᶅ ʮͳΜ͔Ξϥʔτདྷ·ͨ͠Ͷʯ ʮήʔϜී௨ʹϓϨΠͰ͖ͯ·͢ʯ ʮॏ͍ͱ͔ಛʹͳ͍͔ͳʔʯ ʮͱɺಛʹͳͦ͞͏Ͱ͢Ͷʜʢ͑ʯ
Ξϥʔτͷਫ਼ࠪ ɾͻͱͭͻͱͭཧ͢Δ ɾ͖͍͠ม͑ͨ΄͏͕ྑ͍ͷม͑Δ ɾग़͞ͳͯ͘ͳͦ͞͏ͳΒग़͞ͳ͍ ɾΞϥʔτͷϨϕϧΛదʹௐ͢Δ ɾඞཁͳࢹ߲Λਫ਼ࠪ͢Δ ɾಓͳ׆ಈ͕҆ఆԽʹͭͳ͕Δ
ଐਓੑ
ଐਓੑ ɾݟΔγεςϜ͕ଟ͍ͨΊશһ͕શγε ςϜɺϦεΫΛѲ͢Δͷ͕ࠔ ɾਓͱࣄΛ͍ͯ͠ΔҎ্ɺภΓΛࣦ͘͢ ͜ͱݫ͍͠ ɾͱ͍͑Ͱ͖Δ͜ͱ͋Δ
ࣄҊᶆ ʮ͓͔ͭΕ͞·Ͱ͢ʔʯ ʮ͓͔ͭΕ͞·Ͱ͢ʔʯ ʮઌͷ%#ෛՙͷ݅ͯԿ͔Θ͔Γ·ͨ͠ʁʯ ʮʜ͋ʔ͍͍ɺ͋ͷ݅Ͱ͢Ͷʔʢʣʯ
ଐਓੑΛݮΒͨ͢Ίʹ ɾ࡞ۀͷίʔυԽɺࣗಈԽ ɾ5SFMMPΛͬͨλεΫڞ༗ͷΈ ɾேձͰͷΞϥʔτνΣοΫɺϦεΫڞ༗ ɾ͙͢νϟοτɺ͙͢͢ ɾ$POqVFODFʢࣾ8JLJʣʹͱʹ͔͘ॻ͘ ɾॏཁͳλεΫϓϩδΣΫτʹͯ͠શһ ͰΔ
ͬͯΈͨ݁Ռ ɾ୭͔͕खΛͤͳ͍ͱ͖ʹଞͷਓ͕ରԠ Ͱ͖ΔʢͰ͖ͯͳ͍ͱ͜Ζ͋Δʣ ɾ୭͔͕ٸʹٳΜͰͦ͜·ͰࠔΒͳ͍ ɾϝϯόʔશһ͕શମͷλεΫͱॏཁΛ ѲͰ͖ΔΑ͏ʹͳ͖͍ͬͯͯΔ ɾ͔͠͠·ͩ·ͩͰ͖ͯͳ͍͜ͱଟ͍
ݱࡏͱ͜Ε͔Βͷ՝
ݱࡏ ɾ҆ఆӡ༻Ͱ͖͖͍ͯͯΔ ɾΠϯϑϥ͕ىҼ͢ΔαʔϏεఀࢭ΄΅ ͳ͘ͳͬͨʢͨ·ʹʜʣ ɾதʹى͜͞ΕΔ͜ͱ΄΅ͳ͍ 㵺Т㵺 ţźō
͜Ε͔Βͷ՝ ɾෛՙϨΠςϯγͱͷઓ͍ଓ͍͍ͯΔ ɾ"84ͷίετҙࣝΛڧ͍ͨ͘͠ ɾΦʔτεέʔϦϯά͕Ͱ͖͍ͯͳ͍ ɾ·ͩ·ͩεϐʔυ͕Γͳ͍ ɾεΩϧɺφϨοδͷภΓ·ͩ·ͩվળத
·ͱΊ ɾ։ൃεϐʔυΛ্͛Ε҆ఆӡ༻ʹͭͳ͕Δ͠ ɺ҆ఆӡ༻͠Α͏ͱࢥͬͨΒ։ൃεϐʔυ্͕ ͕Δͱݴ͑Δ ɾن͕େ͖͘ͳͬͨͱ͖ʹΓํΛม͑ΔͷͰ ͳ͘ɺن͕େ͖͘ͳͬͨͱ͖ʹεέʔϧͰ ͖ΔΓํΛৗʹߟ͍͑ͨ ɾҙࣝΛ࣋ͬͯɺಓʹͰ͖Δ͜ͱΛ૿͠ ͍ͯ͘
͋Γ͕ͱ͏͍͟͝·ͨ͠