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
20年ものの巨大プロダクトをKubernetesに移行している話/Garoon on Kube...
Search
Yuichi Sugiyama
PRO
September 25, 2022
Technology
0
460
20年ものの巨大プロダクトをKubernetesに移行している話/Garoon on Kubernetes
Yuichi Sugiyama
PRO
September 25, 2022
Tweet
Share
More Decks by Yuichi Sugiyama
See All by Yuichi Sugiyama
サイボウズ と Garoon と The PHP Foundation と 私 / Cybozu and Garoon and The PHP Foundation and me
oogfranz
PRO
1
540
可能な限り確実にmkdirを成功させるには / Make mkdir
oogfranz
PRO
0
590
サイボウズ #Garoon 開発チームの 「 完成度低いの歓迎LT大会 」 PHPerKaigi出張版 / Low quality LT in PHPerKaigi 2023
oogfranz
PRO
0
590
20年ものの巨大プロダクトをKubernetesに移行している話 後日談/Garoon on Kubernetes after talk
oogfranz
PRO
0
580
PHPアプリケーションだってモニタリングしたい / Monitoring PHP application
oogfranz
PRO
1
640
効果的な静的解析の CI導入パターンを求めて / Great static analysis with CI
oogfranz
PRO
3
3.8k
Dev-meets-Ops
oogfranz
PRO
1
1k
GitHub力の低い僕でも、 OSSコントリビュートできたワケ / GitHub Power
oogfranz
PRO
1
620
静的解析の育て方 / How to make your static analysis strong
oogfranz
PRO
3
3k
Other Decks in Technology
See All in Technology
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
4
440
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
Simplifying Cloud Native app testing across environments with Dapr and Microcks
salaboy
0
110
生成AIで「お客様の声」を ストーリーに変える 新潮流「Generative ETL」
ishikawa_satoru
1
360
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
3
5.5k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9.1k
How to achieve interoperable digital identity across Asian countries
fujie
0
140
LLM時代にデータエンジニアの役割はどう変わるか?
ikkimiyazaki
6
1.1k
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
230
Azure Well-Architected Framework入門
tomokusaba
1
350
SoccerNet GSRの紹介と技術応用:選手視点映像を提供するサッカー作戦盤ツール
mixi_engineers
PRO
1
190
SREとソフトウェア開発者の合同チームはどのようにS3のコストを削減したか?
muziyoshiz
1
110
Featured
See All Featured
Producing Creativity
orderedlist
PRO
347
40k
The World Runs on Bad Software
bkeepers
PRO
71
11k
Optimizing for Happiness
mojombo
379
70k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Statistics for Hackers
jakevdp
799
220k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Designing Experiences People Love
moore
142
24k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Writing Fast Ruby
sferik
629
62k
Transcript
20ͷͷڊେϓϩμΫτΛ KubernetesʹҠߦ͍ͯ͠Δ αΠϘζגࣜձࣾ Garoon։ൃ ਿࢁ ༞Ұ PHP Conference 2022 εϙϯαʔLT
#phpcon #phpcon2022
5͡Όݴ͍͍ͨ͜ͱݴ͍Εͳ͍ʂ
PHP ConferenceޙஊͰৄ͘͠͠·͢ʂ https://cybozu.connpass.com/event/259333/
PHP ConferenceޙஊͰৄ͘͠͠·͢ʂ https://cybozu.connpass.com/event/259333/ 1)1ରԠͱLTҠߦ ྆ํσΟʔϓʹ͓͠͠·͢ʂ
͔͜͜Βຊฤ
Whoami • ਿࢁ ༞Ұ @oogFranz • େاۀ͚άϧʔϓΣΞGaroon(Ψϧʔϯ) ࡞ͬͯΔ • ෳۀδϟζϛϡʔδγϟϯ
• MASHݭָஂɺFried Banana CabinɺϒϧʔάϥεˑϙϦε
αΠϘζ Garoon • େاۀ͚ͷάϧʔϓΣΞ • ࡢʢ9/24ʣ͕ϦϦʔε20पʂ • PHPͱMySQLͰಈ͘ • ύοέʔδ൛ͱΫϥυ൛͕͋Δ
αΠϘζ Garoon • େاۀ͚ͷάϧʔϓΣΞ • ࡢʢ9/24ʣ͕ϦϦʔε20पʂ • PHPͱMySQLͰಈ͘ • ύοέʔδ൛ͱΫϥυ൛͕͋Δ
ΫϥυΠϯϑϥج൫৽ϓϩδΣΫτ Neco • εέʔϥϏϦςΟϝϯςφϏϦςΟͷ͔Βελʔτ • VMϕʔεͷߏ͔Βίϯςφϕʔεͷߏʹ৽ • Kubernetes(K8s)ΛίΞٕज़ʹਾ͍͑ͯΔ • ج൫ଆͷ։ൃ2018։࢝ɻ2021ʹҰ୴ྃʂ
• https://blog.cybozu.io/entry/ever-lasting-neco
ΫϥυΠϯϑϥج൫৽ϓϩδΣΫτ Neco • εέʔϥϏϦςΟϝϯςφϏϦςΟͷ͔Βελʔτ • VMϕʔεͷߏ͔Βίϯςφϕʔεͷߏʹ৽ • Kubernetes(K8s)ΛίΞٕज़ʹਾ͍͑ͯΔ • ج൫ଆͷ։ൃ2018։࢝ɻ2021ʹҰ୴ྃʂ
• https://blog.cybozu.io/entry/ever-lasting-neco (BSPPOͷҠߦ͕ࠓ͔Βελʔτʂ
ΫϥυΠϯϑϥج൫৽ϓϩδΣΫτ Neco • εέʔϥϏϦςΟϝϯςφϏϦςΟͷ͔Βελʔτ • VMϕʔεͷߏ͔Βίϯςφϕʔεͷߏʹ৽ • Kubernetes(K8s)ΛίΞٕज़ʹਾ͍͑ͯΔ • ج൫ଆͷ։ൃ2018։࢝ɻ2021ʹҰ୴ྃʂ
• https://blog.cybozu.io/entry/ever-lasting-neco (BSPPOͷҠߦ͕ࠓ͔Βελʔτʂ ྃඪʂ
͕͜͜େม৽Ϋϥυج൫ʢNecoʣҠߦ • ίϯςφ͙͢ࢮ͵ʂVMϕʔε͔ΒͷϚΠϯυγϑτ • ΦϨΦϨϑϨʔϜϫʔΫ͍ͭͯདྷΕΔ͔ʁ͜ͷมߋͷεϐʔυʹ • ։ൃͱӡ༻ͷڥքઢେҠಈ • ݱ࣮ VS
ཧɻ ༷ܾΊͷ͠͞ɻ • Πϯϑϥࣝ0͔ΒͷNecoҠߦνʔϜ࡞Γ
͕͜͜େม৽Ϋϥυج൫ʢNecoʣҠߦ • ίϯςφ͙͢ࢮ͵ʂVMϕʔε͔ΒͷϚΠϯυγϑτ • ΦϨΦϨϑϨʔϜϫʔΫ͍ͭͯདྷΕΔ͔ʁ͜ͷมߋͷεϐʔυʹ • ։ൃͱӡ༻ͷڥքઢେҠಈ • ݱ࣮ VS
ཧɻ ༷ܾΊͷ͠͞ɻ • Πϯϑϥࣝ0͔ΒͷNecoҠߦνʔϜ࡞Γ ࠓ͜Ε͚ͩ͢Α
Garoon Pods ίϯςφ͙͢ࢮ͵ʂ Garoon αʔϏε "1 $POUBJOFS /HJOY $POUBJOFS
/HJOY $POUBJOFS "1 $POUBJOFS /HJOY $POUBJOFS "1 $POUBJOFS ΞΫηεࢄ
Garoon Pods ίϯςφ͙͢ࢮ͵ʂ Garoon αʔϏε "1 $POUBJOFS /HJOY $POUBJOFS
/HJOY $POUBJOFS "1 $POUBJOFS /HJOY $POUBJOFS "1 $POUBJOFS ❌ ❌ ͍ͣΕ͔ͷίϯςφ 1PEʹ͕͋ͬͨΒ
Garoon Pods ίϯςφ͙͢ࢮ͵ʂ Garoon αʔϏε "1 $POUBJOFS /HJOY $POUBJOFS
/HJOY $POUBJOFS "1 $POUBJOFS /HJOY $POUBJOFS "1 $POUBJOFS ❌ ❌ ͍ͣΕ͔ͷίϯςφ 1PEʹ͕͋ͬͨΒ /HJOY $POUBJOFS "1 $POUBJOFS /HJOY $POUBJOFS "1 $POUBJOFS ͷ1PEΛऔΓআ͖ ৽͘͠1PEΛ࡞͢Δ
ίϯςφ͙͢ࢮ͵ʂ • VMجຊམͱͤͳ͍ɻམͪͨΒ͙͢ʹͰ෮چͤ͞Δɻ • ίϯςφͰ͕ى͖ͨΒ͙͢ʹམͱͯ͠ɺ৽͍͠ͷΛ࡞Δɻ • ͜ΕʹΑΓߴՄ༻ੑͱεέʔϧΞτ͕࣮ݱՄೳ • ࣮ࡍʹίϯςφ͕੬͙ͯ͘͢ࢮ͵ɺͱ͍͏ΑΓ
ίϯςφ͕͍ͭࢮΜͰྑ͍લఏͰઃܭ͠Α͏ɺ ͱݴ͏͓ɻ
ίϯςφ͙͢ࢮ͵ʂ • VMجຊམͱͤͳ͍ɻམͪͨΒ͙͢ʹͰ෮چͤ͞Δɻ • ίϯςφͰ͕ى͖ͨΒ͙͢ʹམͱͯ͠ɺ৽͍͠ͷΛ࡞Δɻ • ͜ΕʹΑΓߴՄ༻ੑͱεέʔϧΞτ͕࣮ݱՄೳ • ࣮ࡍʹίϯςφ͕੬͙ͯ͘͢ࢮ͵ɺͱ͍͏ΑΓ
ίϯςφ͕͍ͭࢮΜͰྑ͍લఏͰઃܭ͠Α͏ɺ ͱݴ͏͓ɻ ύοέʔδͰ࢝·ͬͨ(BSPPOʹͦͷલఏ͕ͳ͍
Garoon Pods ୯ʹίϯςφԽ͢Δͱɺίϯςφ͕ঢ়ଶΛ࣋ͭ Garoon αʔϏε "1 $POUBJOFS /HJOY $POUBJOFS
/HJOY $POUBJOFS "1 $POUBJOFS /HJOY $POUBJOFS "1 $POUBJOFS ϑΝΠϧΞοϓϩʔυ ϩάϑΝΠϧ Ωϟογϡ
Garoon Pods ୯ʹίϯςφԽ͢Δͱɺίϯςφ͕ঢ়ଶΛ࣋ͭ Garoon αʔϏε "1 $POUBJOFS /HJOY $POUBJOFS
/HJOY $POUBJOFS "1 $POUBJOFS /HJOY $POUBJOFS "1 $POUBJOFS ϑΝΠϧΞοϓϩʔυ ϩάϑΝΠϧ Ωϟογϡ ❌ ❌ 1PE͕ෆ༻ҙʹམͪΔͱɺಓ࿈ΕͰ͍Ζ͍Ζফ͑ͯ͠·͏ ❌ ❌
͕͜͜େม৽Ϋϥυج൫ʢNecoʣҠߦ • ίϯςφ͙͢ࢮ͵ʂVMϕʔε͔ΒͷϚΠϯυγϑτ • ΦϨΦϨϑϨʔϜϫʔΫ͍ͭͯདྷΕΔ͔ʁ͜ͷมߋͷεϐʔυʹ • ։ൃͱӡ༻ͷڥքઢେҠಈ • ݱ࣮ VS
ཧɻ ༷ܾΊͷ͠͞ɻ • Πϯϑϥࣝ0͔ΒͷNecoҠߦνʔϜ࡞Γ
͕͜͜େม৽Ϋϥυج൫ʢNecoʣҠߦ • ίϯςφ͙͢ࢮ͵ʂVMϕʔε͔ΒͷϚΠϯυγϑτ • ΦϨΦϨϑϨʔϜϫʔΫ͍ͭͯདྷΕΔ͔ʁ͜ͷมߋͷεϐʔυʹ • ։ൃͱӡ༻ͷڥքઢେҠಈ • ݱ࣮ VS
ཧɻ ༷ܾΊͷ͠͞ɻ • Πϯϑϥࣝ0͔ΒͷNecoҠߦνʔϜ࡞Γ ΓޙஊͰ͠·͢ʂ
ޙஊͰ͠ΌΓ͍ͨ͜ͱ • ͕͜͜େม৽Ϋϥυج൫ʢNecoʣҠߦ • ͜ͷͰऔΓΜͰ͖ͨɺվળ͕͍͍ײ͡ʹޮ ͍ͯΔͧʂ • ։ൃͱӡ༻ɺΈͳ͞ΜͲ͏·Θͯ͠·͔͢ʁ
ޙஊͰ͠ΌΓ͍ͨ͜ͱ • ͕͜͜େม৽Ϋϥυج൫ʢNecoʣҠߦ