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
530
可能な限り確実にmkdirを成功させるには / Make mkdir
oogfranz
PRO
0
580
サイボウズ #Garoon 開発チームの 「 完成度低いの歓迎LT大会 」 PHPerKaigi出張版 / Low quality LT in PHPerKaigi 2023
oogfranz
PRO
0
570
20年ものの巨大プロダクトをKubernetesに移行している話 後日談/Garoon on Kubernetes after talk
oogfranz
PRO
0
580
PHPアプリケーションだってモニタリングしたい / Monitoring PHP application
oogfranz
PRO
1
630
効果的な静的解析の CI導入パターンを求めて / Great static analysis with CI
oogfranz
PRO
3
3.7k
Dev-meets-Ops
oogfranz
PRO
1
1k
GitHub力の低い僕でも、 OSSコントリビュートできたワケ / GitHub Power
oogfranz
PRO
1
610
静的解析の育て方 / How to make your static analysis strong
oogfranz
PRO
3
2.9k
Other Decks in Technology
See All in Technology
研究開発と製品開発、両利きのロボティクス
youtalk
1
510
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
150
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
340
ハードウェアとソフトウェアをつなぐ全てを内製している企業の E2E テストの作り方 / How to create E2E tests for a company that builds everything connecting hardware and software in-house
bitkey
PRO
1
120
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1k
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
280
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
370
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
540
Obsidian応用活用術
onikun94
1
460
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
400
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
5
350
サンドボックス技術でAI利活用を促進する
koh_naga
0
200
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
525
40k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
Site-Speed That Sticks
csswizardry
10
810
Music & Morning Musume
bryan
46
6.8k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Optimizing for Happiness
mojombo
379
70k
Being A Developer After 40
akosma
90
590k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
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ʣҠߦ