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
minne の開発環境の変革と今後
Search
shiro16
October 24, 2019
Technology
0
1k
minne の開発環境の変革と今後
Kubernetes Meetup Tokyo #24
shiro16
October 24, 2019
Tweet
Share
More Decks by shiro16
See All by shiro16
minne のアーキテクチャの進化とこれから
shiro16
1
3.2k
Rails6 upgrade タイムアタック
shiro16
2
2.5k
telepresence で始める k8s 時代のローカル開発
shiro16
10
5.7k
minne での検索改善の歴史
shiro16
1
2.3k
minne でのハイブリッドクラウド運用
shiro16
1
1.7k
マイクロサービス事始め@技術編
shiro16
0
1.1k
Other Decks in Technology
See All in Technology
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
3
150
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
120
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
760
The Rise of LLMOps
asei
9
1.7k
Platform Engineering for Software Developers and Architects
syntasso
1
520
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
110
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
670
Storybook との上手な向き合い方を考える
re_taro
2
300
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
910
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
320
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Scaling GitHub
holman
458
140k
Optimizing for Happiness
mojombo
376
70k
Designing for humans not robots
tammielis
250
25k
Fireside Chat
paigeccino
34
3k
Gamification - CAS2011
davidbonilla
80
5k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Done Done
chrislema
181
16k
Transcript
ޙ౻རത(.01FQBCP *OD LVCFSOFUFTNFFUVQUPLZP NJOOFͷ։ൃڥͷมֵͱࠓޙ
νʔϑςΫχΧϧϦʔυ 5PTIJIJSP(PUP!@TIJSP NJOOFࣄۀ෦ δϣʔδΞͷXFC$.ʹग़ͯΔਓ
None
ࠓճ͢Δ wNJOOFͷߏͷ w,VCFSOFUFTಋೖҎલͷ։ൃڥͷ w,VCFSOFUFTಋೖҎޙͷ։ൃڥͷ wࠓޙͷ։ൃڥͷ
ࠓճ͠ͳ͍ wͳͥ,VCFSOFUFTͷҠߦΛߦͳ͔ͬͨʁ w࣮ࡍͷ,VCFSOFUFTҠߦͷ͓
NJOOFͷͬ͘͟Γͱͨ͠ߏͷ
None
None
LTಋೖҎલͷ։ൃڥ
ϩʔΧϧͷ։ൃڥ wEPDLFSͰ֤ίϯςφΛ্ཱ͍ͪ͛ͯΔ w֤ϛυϧΣΞNZTRM&MBTUJDTFBSDISFEJTNFNDBDIFEFUDʜ wϚΠΫϩαʔϏεԽ͞Ε֤ͨαʔϏε w։ൃ͢ΔαʔϏεࣗମΛ্ཱͪ͛ΔࡍϩʔΧϧͰ্ཱͪ͛ΔPSϩʔ ΧϧͷEPDLFS্Ͱ্ཱͪ͛Δ wਓʹΑͬͯҧ͏
چϩʔΧϧ։ൃڥͰͷ՝ wͳΜ͔յΕͨ wEPDLFS্Ͱίϯςφ্ཱ͕͕͍ͪͬͯͳ͍͚ͩ wίϯςφىಈ·ͱΊͯίϚϯυͰ͖ΔΑ͏ʹͳ͍ͬͯΔ͕ʜ wϝϞϦͷͱ͔Ͱࢮ͵ίϯςφ͕͍ͨΓ w֤छUPLFO͕ݹ͍ w࠷৽ͷNBTUFSΛ͓ͬͯΒ֤ͣछUPLFO͕ݹͯ͘ىಈ࣌ʹࢮ͵ wͦͷʹਓʑ͕Կ͕յΕͨͷ͔ௐࠪ͢Δඞཁ͕͋Δ
ϦϞʔτͷ։ൃڥ w&$૬ͷTFSWFSΛෳ༻ҙ wԿނ͔ಈͷ໊લͰڥΛ༻ҙ͍ͯͨ͠ wϝΠϯͱͳΔαʔϏεҎ֎ڞ௨ͷͷ w֤ϛυϧΣΞڞ௨ͷͷ wσʔλຊ൪ͷσʔλΛϚεΫͨ͠ͷ
None
։ൃͷྲྀΕ ϩʔΧϧͰ։ൃ ͜ͷࡍͷಈ࡞֬ೝMPDBMIPTUͱ͔Ͱߦ͏ Πϯλʔωοτӽ͠ʹಈ࡞֬ೝ লུՄೳ
ϦϞʔτͷ։ൃڥʹEFQMPZΛߦ͏ ϦϞʔτͷυϝΠϯΛࢦఆͯ͠ΞΫηε͠ಈ࡞֬ೝΛߦ͏
ਓʑ͕૿͑ͨ͜ͱͰ͕ʜ
چϦϞʔτ։ൃڥͰͷ՝ wਓʑ͕૿͑ͨ͜ͱͰϦϞʔτ։ൃڥͷ͕Γͳ͘ͳͬͯདྷͨ wCPUʹ୭͕ͬͯΔ͔Ѳͯ͠Β͏Α͏ʹͳͬͨ wۭ͍ͯͳ͚Ε୭͔ʹৡͬͯΒ͏ wશ෦͍ͬͯͨΒͪ wͱΓ͋͑ͣΛ૿ͤղܾ͢Δ wਓʑ͕૿͑Δͱ·ͨಉ͘͡૿͢ඞཁ͕ʜ w ৗʹ͏Α͏ͳڥ͡Όͳ͍ͷͰ ίετʜ
None
ͲͷΑ͏ʹ՝Λղܾ͔ͨ͠ʁ
LTҠߦ࣌ʹରԠ
None
LTҠߦޙͷ։ൃڥ
ϩʔΧϧͷ։ൃڥ wҎલͱಉ͡ਓ͍Δ w৽ڥͷਓ։ൃ͢ΔαʔϏεͷΈEPDLFS্ʹίϯςφΛىಈ wਖ਼֬ʹUFMFQSFTFODFܦ༝Ͱىಈͯ͠Β͏ wΠϯλʔωοτӽ͠ͷΞΫηεΛϩʔΧϧͷEPDLFSʹྲྀ͢͜ͱ͕ Մೳ w֤ϛυϧΣΞϦϞʔτڥͷͷʹଓ͕Մೳ
ղܾ͞ΕͨϩʔΧϧͷ։ൃڥͷ wͳΜ͔յΕͨ wEPDLFS্Ͱίϯςφ্ཱ͕͕͍ͪͬͯͳ͍͚ͩ wίϯςφىಈ·ͱΊͯίϚϯυͰ͖ΔΑ͏ʹͳ͍ͬͯΔ͕ʜ wϝϞϦͷͱ͔Ͱࢮ͵ίϯςφ͕͍ͨΓ w֤छUPLFO͕ݹ͍ w࠷৽ͷNBTUFSΛ͓ͬͯΒ֤ͣछUPLFO͕ݹͯ͘ىಈ࣌ʹࢮ͵ wͦͷʹਓʑ͕Կ͕յΕͨͷ͔ௐࠪ͢Δඞཁ͕͋Δ
ݸਓͷڥͷґଘ͕Լ
ϦϞʔτͷ։ൃڥ wݸਓͰQPEΛॴ༗Ͱ͖Δ ਖ਼֬ʹXFCBQJ͕͋ΔͷͰQPE wOHJOYJOHSFTTDPOUSPMMFSΛ༻ͯ͠υϝΠϯຖʹΞΫηεΛྲྀ͢ TWDΛࢦఆ w֤ϛυϧΣΞڞ௨ wUFMFQSFTFODFΛ͏ࡍ͜ͷQPEΛ͏
ղܾ͞ΕͨϦϞʔτ։ൃڥͰͷ՝ wਓʑ͕૿͑ͨ͜ͱͰϦϞʔτ։ൃڥͷ͕Γͳ͘ͳͬͯདྷͨ wCPUʹ୭͕ͬͯΔ͔Ѳͯ͠Β͏Α͏ʹͳͬͨ wۭ͍ͯͳ͚Ε୭͔ʹৡͬͯΒ͏ wશ෦͍ͬͯͨΒͪ wͱΓ͋͑ͣΛ૿ͤղܾ͢ΔOPEF૿͔͢ wਓʑ͕૿͑Δͱ·ͨಉ͘͡૿͢ඞཁ͕ʜ w ৗʹ͏Α͏ͳڥ͡Όͳ͍ͷͰ ίετʜ
ۭ͖ͷ֬ೝ͕ͪͳ͘ͳΓੜ࢈ੑ61 ίετ%08/
None
ϦϞʔτ։ൃڥͷߏ wOHJOYJOHSFTTDPOUSPMMFSΛ༻ͯ͠υϝΠϯຖʹΞΫηεΛྲྀ͢ TWDΛࢦఆ wొ͞ΕͨJOHSFTTFYUFSOBMEOTΛ༻ͯ͠3PVUFʹొ ͠ ͔͕ͨͬͨʜ wTLB⒎PME LBOJLP LVTUPNJ[FΛ༻ͯ͠ϦϞʔτͰͷJNBHF
CVJMEෳڥʹରԠ wEFQMPZTMBDLͷ*OUFSBDUJWF.FTTBHFTΛ༻ͨ͠CPU͕ߦ͏
TLB⒎PME wJNBHFͷ࡞EFQMPZΛࣗಈԽ wZBNMͰཧͰ͖Δ wLTͷNBOJGFTUT %PDLFSpMFΛ͏ wEFWϞʔυͩͱίʔυʹมߋ͕͋ͬͨࡍʹࣗಈͰEFQMPZ wޙड़͢ΔLVTUPNJ[FLBOJLPͱΈ߹ΘͤΔ͜ͱ͕Մೳ
LVTUPNJ[F wෳڥʹରԠͨ͠NBOJGFTUΛੜͰ͖Δ wPWFSMBZΛ͏ wQSPEVDUJPOTUBHJOHFUDʜ wLVTUPNJ[BUJPOZBNMΛ͏ wKTPOQBUDIΛ͑ॊೈʹมߋՄೳ
LBOJLP wίϯςφͰJNBHFCVJMEΛͯ͘͠ΕΔ wEPDLFSDPNNBOE͕ෆཁ w%PDLFSpMFΛݩʹJNBHFΛCVJME wCVJMEͨ͠JNBHFಛఆͷ3FHJTUSZʹQVTIͯ͘͠ΕΔ
FYUFSOBMEOT w*OHSFTTTFSWJDFͷઃఆΛݩʹ"843PVUF(PPHMF $MPVE%/4ͷ%/4Ϩίʔυͷߋ৽Λߦ͏ w3PVUFͰ͏߹*".ϙϦγʔͷՃ͕ඞཁ w*OHSFTTTFSWJDFΛফͨ͠ࡍͷڍಈ੍ޚՄೳ w%/4Ϩίʔυআ͢ΔPS͢ w͔͠͠NJOOFͰ3PVUFͱDMVTUFSͷؒʹSPMFTFSWFS͕ڬ· ΔͷͰ༻͍ͯ͠ͳ͍
EFQMPZCPU wฐࣾͷPHJEPX͕TMBDLJOUFSBDUJWFNFTTBHFΛ͏CPUͷ GSBNFXPSLΛ༻ wIUUQTHJUIVCDPNPHJEPXHPCPU wJOUFSBDUJWFNFTTBHFͷύϥϝʔλΛݩʹίϚϯυΛ࣮ߦ͠࠷ऴతʹ TLB⒎PMESVOΛ࣮ߦ͢Δ wQPEͷೖΕସ͕͑ऴΘͬͨࡍʹTMBDLʹ௨
None
UFMFQSFTFODF wϦϞʔτͷLVCFSOFUFTDMVTUFSʹଓ͠ͳ͕ΒɺαʔϏεΛϩʔΧ ϧͰ࣮ߦ͢Δ͜ͱ͕Մೳ wϩʔΧϧͷ։ൃϚγϯΛLVCFSOFUFTDMVTUFSͷҰ෦ͷΑ͏ʹಈ࡞͞ ͤΔ͜ͱ͕Մೳ
ৄࡉͪ͜Β
ࠓޙͷ
৽ڥͰݟ͑ͯདྷͨ՝
৽ڥͰͷ՝ wϩʔΧϧͰͷ։ൃͰҎલͱͯ͠EPDLFSίϯςφΛ্ཱ͍ͭͪ͘ ͍͛ͯΔਓ͍Δ wUFMFQSFTFODF͏ࡍʹEPDLFSTZOD͏ͷͰϝϞϦ͕ݫ͍͠ ಛ ʹσβΠφʔ wJNBHFσΧ͗͢ wCVJMEʹ͔͔࣌ؒΔ wLTʹ׳Εͯͳ͍ނʹτϥϒϧγϡʔςΟϯάʹ͕͔͔࣌ؒΔ
ࠓޙऔΓΉඞཁ͕͋Γͦ͏ͳ՝
ࠓޙऔΓΉඞཁ͕͋Γͦ͏ͳ՝ wϚΠΫϩαʔϏεԽ͕ਐΜͩࡍʹͲ͜·ͰݸਓͷڥΛ͚Δ͔ w֤αʔϏεͷશQPEΛݸਓຖʹ༻ҙ͢Δ͔ʁ w্هͱ߹Θ֤ͤͨϛυϧΣΞΛݸਓຖʹ͚Δ͔
͜ΕΒͷ՝Λղܾ͠ͳ͕Β ͬͱ໘ന͍͜ͱ͕Ͱ͖ͳ͍͔ʁ Λߟ͍͑ͯΔ͕ʜ
·ͱΊ
·ͱΊ wLTҠߦʹͬͯچ։ൃڥͷ՝ΫϦΞͰ͖ͨ wUFMFQSFTFODFΛ͏͜ͱͰچϩʔΧϧͱچϦϞʔτΛϋΠϒϦου Խͨ͠Α͏ͳڥʹͳͬͨ w·ͩLTͷԸܙΛશʹड͚Ε͍ͯͳ͍ͷ͔͠Εͳ͍ w৽ͨͳ՝͋ΔͷͰཁվળ wϚΠΫϩαʔϏεԽ͕ਐΜͰ͍͘ͱ৽͍͠՝͕ൃੜͦ͠͏ w෭࣍తޮՌͱͯ͠"OESPJEJ04ΞϓϦΤϯδχΞͷؾܰʹյͤΔ ΠϯϑϥڥΛఏڙͰ͖ͨ
͋Γ͕ͱ͏͍͟͝·ͨ͠