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
5.2k
ヤフー/ゼットラボのステートフルアプリケーションへの挑戦(前半)
2020/06/13開催のKubeFest Tokyo 2020での発表資料です。
Yukinori Sakashita
June 13, 2020
Tweet
Share
More Decks by Yukinori Sakashita
See All by Yukinori Sakashita
ゼットラボにおける一歩進んだ Kubernetes向けストレージ管理方法
ysakashita
0
170
Kubernetes Persistent Volume向け ゾーン障害への備え
ysakashita
0
1.4k
はじめよう Kubernetes PersistentVolume のバックアップ
ysakashita
2
950
2022年コンテナ/Kubernetes向けストレージ技術の最新動向
ysakashita
9
5k
Cloud Nativeに向けた考えるべきポイント
ysakashita
1
230
ステートフルアプリ on Kubernetesの現在と今後の展望
ysakashita
2
700
VM時代からコンテナ時代へストレージ管理の移り変わり
ysakashita
9
7.3k
Kubernetes時代のストレージ
ysakashita
1
590
Persistent Volumeのはじめの一歩
ysakashita
2
900
Other Decks in Technology
See All in Technology
SORACOMで実現するIoTのマルチクラウド対応 - IoTでのクリーンアーキテクチャの実現 -
kenichirokimura
0
380
20240912 JJUGナイトセミナー
mii1004
0
140
エンジニア向け会社紹介資料
caddi_eng
15
250k
スタッフエンジニアの道: The Staff Engineer’s Path
snoozer05
PRO
43
14k
テスト”ケース”駆動開発 で手戻りをなくそう
ryohma0510
0
120
Mocking in Rust Applications
taiki45
1
400
Swift Testingのconfirmationを コードリーディング/Dive into Swift Testing confirmation
laprasdrum
1
240
音声AIエージェントの世界とRetell AI入門 / Introduction to the World of Voice AI Agents and Retell AI
rkaga
5
930
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
0
13k
サーバレスでモバイルアプリ開発! NTTコム「ビジネスdアプリ」のアーキテクチャ / The architecture of business d app
nttcom
12
230
DuckDB雑紹介(1.1対応版)@DuckDB座談会
ktz
6
1.3k
AWS SAW を広めたい @四国クラウドお遍路
kazzpapa3
0
230
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
135
6.5k
Testing 201, or: Great Expectations
jmmastey
36
7k
Optimising Largest Contentful Paint
csswizardry
30
2.8k
From Idea to $5000 a Month in 5 Months
shpigford
379
46k
A Tale of Four Properties
chriscoyier
155
22k
Embracing the Ebb and Flow
colly
83
4.4k
Why You Should Never Use an ORM
jnunemaker
PRO
53
8.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
322
23k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.8k
Code Review Best Practice
trishagee
62
16k
Why Our Code Smells
bkeepers
PRO
334
56k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
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 ޙ