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
Yukinori Sakashita
June 13, 2020
Technology
5
5k
ヤフー/ゼットラボのステートフルアプリケーションへの挑戦(前半)
2020/06/13開催のKubeFest Tokyo 2020での発表資料です。
Yukinori Sakashita
June 13, 2020
Tweet
Share
More Decks by Yukinori Sakashita
See All by Yukinori Sakashita
Kubernetes Persistent Volume向け ゾーン障害への備え
ysakashita
0
1.1k
はじめよう Kubernetes PersistentVolume のバックアップ
ysakashita
2
740
2022年コンテナ/Kubernetes向けストレージ技術の最新動向
ysakashita
9
4.8k
Cloud Nativeに向けた考えるべきポイント
ysakashita
1
210
ステートフルアプリ on Kubernetesの現在と今後の展望
ysakashita
2
630
VM時代からコンテナ時代へストレージ管理の移り変わり
ysakashita
9
7k
Kubernetes時代のストレージ
ysakashita
1
570
Persistent Volumeのはじめの一歩
ysakashita
2
820
PersistentVolumeの一歩進んだ使い方
ysakashita
3
1.5k
Other Decks in Technology
See All in Technology
バッチ処理のSLOをどう設計するか
rynsuke
7
550
沒想過的前端錯誤處理可能比你有做的還多
line_developers_tw
PRO
0
1.9k
ビジネスとコード品質の接合点 そしてコード品質がそこに及ぼす影響 / The Intersections of Business and Engineering, and The Impact of Code Quality There
mtx2s
10
1k
単回帰分析について数式を追いながら実装してみた
kentaitakura
0
500
2023 Japan AWS Jr.Championsに選出されての振り返りとこれから
hiropy877
1
130
データマネジメントを支える武器としてのメタデータ管理
10xinc
1
230
エバンジェリスト活動を7年やってきて見えてきた、コミュニティとエバンジェリストの関係
soracom
PRO
1
200
KubeCon EU 2024 : Knative Maintainers Session
salaboy
0
370
Getting started with controlling LEGO using Swift
hcrane
0
130
オブジェクトのおしゃべり大失敗 メッセージングアンチパターン集 / messaging anti-pattern collection
ytake
0
320
OpenTelemetry実践 はじめの一歩
taxin
0
300
Autopsy of a Cascading Outage from a MySQL Crashing Bug
jfg956
0
200
Featured
See All Featured
Six Lessons from altMBA
skipperchong
19
2.9k
Fireside Chat
paigeccino
19
2.6k
[RailsConf 2023] Rails as a piece of cake
palkan
21
3.8k
Making the Leap to Tech Lead
cromwellryan
122
8.4k
Being A Developer After 40
akosma
56
580k
A better future with KSS
kneath
230
16k
Done Done
chrislema
178
15k
StorybookのUI Testing Handbookを読んだ
zakiyama
10
4.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
24
2.2k
We Have a Design System, Now What?
morganepeng
42
6.7k
What's new in Ruby 2.0
geeforr
335
31k
Navigating Team Friction
lara
177
13k
Transcript
ϠϑʔθοτϥϘͷ εςʔτϑϧΞϓϦέʔγϣϯͷઓ :VLJOPSJ4BLBTIJUB
"HFOEB <લ>,VCFSOFUFTBTB4FSWJDF͚εςʔτϑϧαʔϏεͷ࣮ݱ 2 <ޙ>εςʔτϑϧΞϓϦέʔγϣϯͷࣄྫ ‣ ϠϑʔθοτϥϘ͕࡞Δ,VCFSOFUFTBTB4FSWJDF $BB4 ‣ $BB4͚εςʔτϑϧαʔϏεͷઓ
‣ σΟεϓϨΠࠂ :%/ ͷ$BB4ಋೖࣄྫͷհ ‣ $BB4ҠߦͰۤ࿑ͨ͠
ࣗݾհ ‣ٕज़ݚڀΤϦΞ ӡ༻ཧٕज़ Ϋϥυ αʔόετϨʔδ ࣗಈࣗίϯϐϡʔςΟϯά
"*.- // ).. #BZFTJBO/FUXPSL ‣લ৬ ૯߹ిؾϝʔΧʔ 㾎ݚڀॴ ओݚڀһ 㾎ւ֎ݚڀॴ!γϦίϯόϨʔ ϥϘ αʔόϕϯμʔ ςΫχΧϧ4& 3 ࡔԼಙ ത࢜ :VLJOPSJ4BLBTIJUB 1I% ‣ ϠϑʔגࣜձࣾθοτϥϘגࣜձࣾ ‣ 4/*"ຊࢧ෦ٕज़ҕһձ෭ҕһ ‣ 4/*"5FDIOJDBM$PVODJM"EWJTPS
ϠϑʔθοτϥϘ͕Δ ,VCFSOFUFTBTB4FSWJDF
Ϡϑʔ ‣ Ҏ্ͷ8FCαʔϏε χϡʔε ϠϑΦΫɺఱؾͳͲ Λఏڙ ‣ ओͳσʔληϯλʔ ຊڌ
ถࠃڌ ‣ 0QFO4UBDL,VCFSOFUFTͳͲΛ ׆༻ͨ͠ϓϥΠϕʔτΫϥυʹͯ 8FCαʔϏεΛߏஙɾӡ༻ 5
θοτϥϘ ‣ ʹઃཱ͞ΕͨϠϑʔגࣜձࣾͷࢠձࣾ ‣ Ϡϑʔͷ࣍ੈΠϯϑϥΛݚڀ։ൃ ‣ Ϡϑʔ͚ʹ,VCFSOFUFTBTB4FSWJDF $BB4 Λ։ൃ ‣
IUUQT[MBCDPKQ 6
ϠϑʔͱθοτϥϘͷମ੍ 7 $BB4ཧऀ ετϨʔδཧऀ ֎෦ϕϯμʔ $BB4ར༻ऀ 8FCαʔϏε։ൃऀ ,VCFSOFUTఏڙ αϙʔττϨʔχϯά $BB4͚ΠϯϑϥධՁ
ߏݕ౼ $BB4։ൃɺೲ ઃܭ૬ஊ ٕज़ηϛφʔ 7 αʔόཧऀ ωοτϫʔΫཧऀ $BB4 ཁ͍߹Θͤ
,VCFSOFUFTBTB4FSWJDF ‣ :BIPP+"1"/ͷ8FCαʔϏεͷҰ෦,VCFSOFUFT্ͰՔಇ ‣ Ϛωʔδυ,VCFSOFUFTαʔϏε ,VCFSOFUFTBTB4FSWJDF$BB4 Λӡ༻ Ќ
(" ‣ Ϡϑʔͷࣗࣾσʔληϯλʔ Ϧʔδϣϯ ʹͯՔಇத 8
$BB4ͷར༻ ‣ ,VCFSOFUFTͷΫϥελ ‣ ར༻͍ͯ͠Δ։ൃνʔϜ ‣ ,VCFSOFUFTOPEFT
‣ ίϯςφ, 9 $MVTUFST $MVTUFST ˞࣌ͷσʔλ $MVTUFST $MVTUFST $MVTUFST
"SDIJUFDUVSFPG$BB4 10 7 . ,VCFSOFUFT ɾɾɾ
4FMGIFBMJOH4DBMJOH 11 ,VCFSOFUFT 7 . )FBMJOH 4DBMJOH .POJUPSJOH
"EEPONBOBHFS ‣ ಠࣗͷ"EEPONBOBHFSʹΑΓ(SBGBOB 1SPNFUIFVTͳͲϢʔβͷଟ͕͘ ར༻͢ΔΞϓϦΛఏڙ ‣ ఏڙ͢ΔΞϓϦͷϚχϑΣετΛύοέʔδԽ֤͠αʔϏε͕ར༻͢Δ ,VCFSOFUFTσϓϩΠ ‣ ,VCFSOFUFTͷόʔδϣϯʹԠͯࣗ͡ಈΞοϓσʔτ
12 "EEPONBOBHFS BMFSUNBOBHFS ɾɾɾ %FQMPZ μογϡϘʔυ ΞϥʔτϧʔϧͳͲ σϓϩΠ
$BB4ͷಛ ‣ ίϚϯυͭͰ,VCFSOFUFTΫϥελΛ࡞ ‣ αʔϏεແఀࢭͰͷ,VCFSOUFTͷϩʔϦϯάΞοϓσʔτ ϲ݄ʹճͷ,VCFSOFUFTͷΞοϓσʔτʹਵ /PEFΛ࠶࡞ /PEFͷ04ͷΞοϓσʔτՄೳ
‣ ,VCFSOFUFTΫϥελࣗͷηϧϑώʔϦϯά ‣ ,VCFSOFUFTΫϥελͷεέʔϧΞτΠϯ ‣ "EEPONBOBHFSʹΑΔΞϓϦͷσϓϩΠΞοϓσʔτ 13
$BB4ͷνϟϨϯδ ‣ ࣌ͰεςʔτϨεΞϓϦΛ,VCFSOFUFT্Ͱ࣮ߦ 8FCαʔϏεεςʔτϨεˍεςʔτϑϧͷΞϓϦͰߏ 8FCαʔϏε։ൃऀ͔ΒεςʔτϑϧΞϓϦ,VCFSOFUFT্Ͱ ࣮ߦ͍ͨ͠ͱͷ ‣ ;-BCʹͯεςʔτϑϧαʔϏεͷݕ౼։࢝
':2 ‣ ;-BCʹͯεςʔτϑϧαʔϏεͷఏڙ։࢝ ':2 ‣ ϠϑʔʹͯεςʔτϑϧαʔϏεͷύΠϩοτར༻։࢝ ‣ Ϡϑʔʹͯ$BB4͚εςʔτϑϧαʔϏεͷఏڙ։࢝ ':) 14
$BB4͚ εςʔτϑϧαʔϏεͷઓ
εςʔτϑϧαʔϏεఏڙͷ՝ ‣ ֤αʔϏε͝ͱʹಠཱͨ͠σʔλΞΫηε͕ඞཁ ηΩϡϦςΟ ‣ ૿͑ଓ͚Δ,VCFSOFUFTΫϥελ ‣ ૿͑ͳ͍ཧऀ ‣
ϲ݄ʹճͷ,VCFSOFUFTͷΞοϓσʔτͷਵ ‣ $BB4ͷಛͰ͋Δ/PEFͷηϧϑώʔϦϯάˍεέʔϦϯάରԠ 16
‣ ෆඞཁͳϢʔβ͔ΒͷΞΫηεېࢭ ‣ ෳ,VCFSOFUFT͕͋ΔڥͰ,VCFSOFUFTࣗͰͷ ΞΫηείϯτϩʔϧෆՄ 17 ,VCFSOFUFT ,VCFSOFUFT ࢪࡦηΩϡϦςΟ
18 ετϨʔδͷϚϧνςφϯτ׆༻ ‣ ετϨʔδͷϚϧνςφϯτͰ,VCFSOFUFTຖͷΞΫηεΛίϯτϩʔϧ ϘϦϡʔϜɺϙʔτɺϢʔβݖݶ ,VCFSOFUFT ,VCFSOFUFT 5FOBOU" 5FOBOU#
4UPSBHF
ࢪࡦࣗಈԽ ‣ ,VCFSOFUFTͷόʔδϣϯΞοϓʹै͢ΔͨΊϲ݄ʹճ ΞοϓσʔτΛ࣮ࢪ ‣ ετϨʔδͷ$4*%SJWFSؔ࿈ΞϓϦͳͲͷΞοϓσʔτඞཁ ‣ Ҏ্ͷ,VCFSOFUFTΫϥελͷΞοϓσʔτਓखͰແཧ 19
"EEPONBOBHFSΛͬͨࣗಈԽ ‣ "EEPONBOBHFSΛ͍4UPSBHF$MBTTϕϯμఏڙͷ$4*%SJWFSؔ࿈ εςʔτϑϧαʔϏεͰඞཁͳͷΛࣗಈσϓϩΠ ‣ ,VCFSOFUFTͷόʔδϣϯΞοϓʹ࿈ಈࣗ͠ಈΞοϓσʔτ 20 "EEPONBOBHFS %FQMPZ $4*%SJWFSؔ࿈
4UPSBHF$MBTT μογϡϘʔυΞϥʔτϧʔϧ
ࢪࡦࣗಈԽ ‣ $BB4ͰΞοϓσʔτোൃੜʹ/PEF 7. Λ࠶࡞ ‣ /'4J4$4*ͰετϨʔδଆͷ"$-ߋ৽͕ඞཁ ‣ ετϨʔδଆͷ"$-ߋ৽,VCFSOFUFTͰ࣮ࢪ͞Εͳ͍ 21
/PEF /PEF $SFBUF OFX/PEF "EE OFX/PEF %FMFUF PME/PEF .PWF 1PE /PEF /PEF /PEF /PEF "$-ͷ ߋ৽ͳ͠ 4UPSBHF
"$-ͷࣗಈߋ৽ ‣ /PEFΛ8BUDI͠"$-Λࣗಈߋ৽͢Δ$VTUPN$POUSPMMFSΛ։ൃ ॳظ ‣ (JU)VCެ։ͷϕϯμʔͷ$4*1MVHJOϦΫΤετ ਖ਼ࣜαϙʔτ։࢝
22 /PEF FYQPSUQPMJDZNHS "EE OFX/PEF %FMFUF PME/PEF /PEFͷՃΠϕϯτΛݕ /FX/PEFͷ*1*2/Λऔಘ 4UPSBHFͷ"$-ొ /PEFͷআΠϕϯτΛݕ 0ME/PEFͷ*1*2/Λऔಘ 4UPSBHFͷ"$-͔Βআ 4UPSBHF
લͷ·ͱΊ ‣ $BB4͚ʹεςʔτϑϧαʔϏεΛఏڙ ‣ ηΩϡϦςΟΛߟྀͨ͠Ϛϧνςφϯτ ‣ ,VCFSOFUFTͷΞοϓσʔτʹਵͰ͖ΔࣗಈΞοϓσʔτ ‣ /PEFͷ࡞Γ͠ʹରԠͰ͖Δ"$-ͷࣗಈΞοϓσʔτ 23
24 ޙ