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.3k
ヤフー/ゼットラボのステートフルアプリケーションへの挑戦(前半)
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
230
Kubernetes Persistent Volume向け ゾーン障害への備え
ysakashita
0
1.7k
はじめよう Kubernetes PersistentVolume のバックアップ
ysakashita
3
1.1k
2022年コンテナ/Kubernetes向けストレージ技術の最新動向
ysakashita
9
5.2k
Cloud Nativeに向けた考えるべきポイント
ysakashita
1
260
ステートフルアプリ on Kubernetesの現在と今後の展望
ysakashita
2
740
VM時代からコンテナ時代へストレージ管理の移り変わり
ysakashita
9
7.5k
Kubernetes時代のストレージ
ysakashita
1
620
Persistent Volumeのはじめの一歩
ysakashita
2
960
Other Decks in Technology
See All in Technology
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
730
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
130
The Future of SEO: The Impact of AI on Search
badams
0
200
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
330
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
7.3k
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
Raycast AI APIを使ってちょっと便利な拡張機能を作ってみた / created-a-handy-extension-using-the-raycast-ai-api
kawamataryo
0
100
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
260
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
24
7.2k
全文検索+セマンティックランカー+LLMの自然文検索サ−ビスで得られた知見
segavvy
2
110
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
1.3k
OpenID BizDay#17 KYC WG活動報告(法人) / 20250219-BizDay17-KYC-legalidentity
oidfj
0
250
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Designing for Performance
lara
604
68k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Side Projects
sachag
452
42k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Scaling GitHub
holman
459
140k
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 ޙ