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
6
5.4k
ヤフー/ゼットラボのステートフルアプリケーションへの挑戦(前半)
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
320
Kubernetes Persistent Volume向け ゾーン障害への備え
ysakashita
0
1.9k
はじめよう Kubernetes PersistentVolume のバックアップ
ysakashita
3
1.3k
2022年コンテナ/Kubernetes向けストレージ技術の最新動向
ysakashita
9
5.4k
Cloud Nativeに向けた考えるべきポイント
ysakashita
1
300
ステートフルアプリ on Kubernetesの現在と今後の展望
ysakashita
2
790
VM時代からコンテナ時代へストレージ管理の移り変わり
ysakashita
9
7.8k
Kubernetes時代のストレージ
ysakashita
1
660
Persistent Volumeのはじめの一歩
ysakashita
2
1k
Other Decks in Technology
See All in Technology
Raycast AI APIを使ってちょっと便利なAI拡張機能を作ってみた
kawamataryo
0
150
個人でデジタル庁の デザインシステムをVue.jsで 作っている話
nishiharatsubasa
3
5.2k
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
330
AIエージェントによる業務効率化への飽くなき挑戦-AWS上の実開発事例から学んだ効果、現実そしてギャップ-
nasuvitz
5
1.4k
「タコピーの原罪」から学ぶ間違った”支援” / the bad support of Takopii
piyonakajima
0
150
組織全員で向き合うAI Readyなデータ利活用
gappy50
5
1.7k
AWSが好きすぎて、41歳でエンジニアになり、AAIを経由してAWSパートナー企業に入った話
yama3133
2
190
AIとの協業で実現!レガシーコードをKotlinらしく生まれ変わらせる実践ガイド
zozotech
PRO
1
110
RemoteFunctionを使ったコロケーション
mkazutaka
1
150
AI駆動で進める依存ライブラリ更新 ─ Vue プロジェクトの品質向上と開発スピード改善の実践録
sayn0
1
340
進化する大規模言語モデル評価: Swallowプロジェクトにおける実践と知見
chokkan
PRO
1
200
DMMの検索システムをSolrからElasticCloudに移行した話
hmaa_ryo
0
270
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
How to Think Like a Performance Engineer
csswizardry
27
2.2k
Building Applications with DynamoDB
mza
96
6.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Code Review Best Practice
trishagee
72
19k
Scaling GitHub
holman
463
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
130k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
How GitHub (no longer) Works
holman
315
140k
The Language of Interfaces
destraynor
162
25k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
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 ޙ