Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
カラーミーショップのクラウドネイティブに向けた取り組み
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
takapi86
December 24, 2020
Technology
2.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
カラーミーショップのクラウドネイティブに向けた取り組み
Pepabo Tech Conference #13
https://pepabo.connpass.com/event/197089/
takapi86
December 24, 2020
More Decks by takapi86
See All by takapi86
SIerから転職してきて 良かったこと・大変だったこと
takapi86
1
1.1k
pepabo-ec-tech-conference-web-application-firewall
takapi86
3
1.4k
Other Decks in Technology
See All in Technology
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
150
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
140
SDDの運用にめげずに向き合った話
sansantech
PRO
1
140
ログラスのマルチプロダクトを 支える認証基盤 〜テナントごとに異なる統制とどう向き合うか〜
dada4386
3
410
全社共通データ基盤をつくる。ソニーのDatabricks活用とデータガバナンス設計の裏側
sony
0
430
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
2
430
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
550
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
540
3つのアプローチで目指す チームを強くするAI駆動開発
thkt
0
130
オンラインゲームのシステム全体像 - コロプラ 2026年度 新卒研修
colopl
0
900
全PRの83%が AIレビューだけでマージできるようになった開発組織は その後どうなったか @2026/10
athug
0
120
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
160
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Mind Mapping
helmedeiros
1
390
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
440
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
RailsConf 2023
tenderlove
30
1.6k
Designing Powerful Visuals for Engaging Learning
tmiket
1
600
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
300
New Earth Scene 8
popppiees
4
2.7k
Faster Mobile Websites
deanohume
310
32k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Transcript
1 Χϥʔϛʔγϣοϓͷ ΫϥυωΠςΟϒʹ͚ͨ औΓΈ ECࣄۀ෦ Χϥʔϛʔγϣοϓ αʔϏεج൫νʔϜɹ∁ڮ༤ل
2 2 ࣗݾհ • ໊લ: ∁ڮ༤ل • Twitter: @takapi86 •
ॴଐ: GMOϖύϘ ECࣄۀ෦ Χϥʔϛʔγϣοϓάϧʔϓ αʔϏεج൫νʔϜ • WebΞϓϦέʔγϣϯΤϯδχΞ • ۀͰ͍ͬͯΔ͜ͱ ◦ ϨΨγʔڥͷվળ ◦ ηΩϡϦςΟڧԽ
3 3 ࠓ͓͢Δ͜ͱ ΧϥʔϛʔγϣοϓͷΫϥυωΠςΟϒʹ͚ͨऔΓΈ • લύʔτ ◦ Մ༻ੑΛ্ͤ͞ΔͨΊͷऔΓΈɺShopSetΞʔΩς Ϋνϟʹ͍ͭͯ •
ޙύʔτ ◦ Kubernetesಋೖࣄྫ ϝʔϧϚΨδϯ৴Φϓγϣϯ
4 4 Χϥʔϛʔγϣοϓͷհ ຊؾͰωοτϏδωεΛ࢝Ί͍ͨํ͚ͷ ωοτγϣοϓ࡞αʔϏε
5 Մ༻ੑΛ্ͤ͞ΔͨΊͷऔΓΈɺShopSetΞʔΩς Ϋνϟʹ͍ͭͯ 5
6 6 boost2020 ϓϩδΣΫτ͕ൃʂʂ • ৽ܕίϩφՒʹ͓͍ͯɺωοτγϣοϐϯάͷར༻ऀ͕ٸ૿ ◦ ECͷαʔϏεʹର͢Δظײߴ·͍ͬͯΔ⬆⬆ • ຊதͷ͍Λ͢Δࣄۀऀ͕ͳΊΒ͔ʹΧϥʔϛʔγϣοϓ
Λ׆༻ͨ͠ΦϯϥΠϯࣄۀܗଶ(EC)ʹDX͢Δ͜ͱΛՃͤ͞ ΔͨΊͷऔΓΈ ◦ ϓϩϞʔγϣϯϨϕϧͷ্ ◦ γεςϜϨϕϧͷ্ ࣛࣇౡݶఆͰTVCM์ө͞Ε·ͨ͠ʂ
7 7 γεςϜϦΞʔΩςΫνϟ • boost2020ͷऔΓΈͷҰͭ • ओʹՄ༻ੑ্ͷνϟϨϯδ • νʔϜମ੍ ◦
ΠϯϑϥΤϯδχΞ2໊ ◦ ΞϓϦέʔγϣϯΤϯδχΞ1໊
8 8 ͳͥՄ༻ੑ্͍͔ͤͨ͞ʁ ৽ܕίϩφՒʹ͓͍ͯɺΧϥʔϛʔγϣοϓͷళฮͰങ͍Λ ͢ΔϢʔβ͕ٸ૿ ◦ τϥϑΟοΫ૿େ ◦ ηʔϧͳͲͷΞΫηεूத =>
ΞΫηεԆɺγϣοϓӾཡෆՄͳͲͷӨڹ͕ൃੜ
9 ୈ1ஈରԠʢݱࡏͷߏʣ NyahʢϓϥΠϕʔτOpenStackڥʣ্ͷΠϯελϯεʹɺ ֤ϩʔϧͷΞϓϦέʔγϣϯ͕σϓϩΠ͞Ε͍ͯΔ ؋A ؋B γϣοϓϖʔδ Χʔτϖʔδ API ϩʔυόϥϯα
ϩʔυόϥϯα ؋A ؋B γϣοϓϖʔδ Χʔτϖʔδ API ϩʔυόϥϯα ϩʔυόϥϯα ຊ൪ڥ ຊ൪ڥ ʢख࡞ۀͰߏஙʣ 9
10 ShopSet Χʔτϖʔδ γϣοϓϖʔδ API Ϧόʔε ϓϩΩγ LB https://hoge.shop-pro.jp 10
ShopSetΞʔΩςΫνϟ k8s Cluster k8s Cluster ShopSet ShopSet ShopSet ShopSet
11 11 ShopSetΞʔΩςΫνϟ ଞʹɾɾɾ • Ϧιʔε੍ݶ • ΫϥελؒεέδϡʔϦϯά • σϓϩΠ
• ΧφϦΞϦϦʔε ͳͲͷΈʹ͍ͭͯઃܭΛਐΊ͍ͯ·͢ɻ
12 ShopSetҎ֎ͷϩʔϧͷKubernetesҠߦ ShopSetҎ֎ͷϩʔϧঃʑʹKubernetesҠߦΛਐΊ͍ͯ· ͢ɻ ޙͪ͜Βͷಋೖࣄྫʹ͍͓ͭͯ͠·͢ɻ 12
13 Kubernetesͷಋೖࣄྫ ϝʔϧϚΨδϯ৴Φϓγϣϯʹ͍ͭͯ 13
14 ϝʔϧϚΨδϯ৴ΦϓγϣϯͷKubernetesಋೖ • ߏங४උ ◦ 20209݄ʙ11݄ʢଞPJฒߦͰߦ͍ͭͭ࡞ۀʣ • ϦϦʔε ◦ ஈ֊తͳϦϦʔε12/14શʹҠߦ͕ྃʂʂ
14
15 ͳͥKubernetesʹҠઃͨ͠ͷ͔ ͖͔͚ͬ • CentOS6ͷηΩϡϦςΟαϙʔτ͕202011݄ʹऴྃ • ϝʔϧϚΨδϯ৴ΦϓγϣϯΛઃఆ͢ΔͨΊͷཧϖʔ δαʔόOS͕ɺCentOS6ͰՔಇ͍ͯͨͨ͠Ίόʔδϣϯ Ξοϓ͕ඞཁͩͬͨ 15
16 ͳʹҠઃͨ͠ͷ͔ ͦͷଞͷཧ༝ • ٕज़తʹνϟϨϯδ͍͢͠ڥͩͬͨ ◦ ػೳ͕ϝʔϧςϯϓϨʔτͷ࡞ɺΞυϨεாͷ࡞ɺ৴༧ ͱগͳ͍ ◦ ΞΫηεՄೳͳϢʔβଞͷϩʔϧʹൺݶΒΕ͍ͯΔ
• PuppetϚχϑΣετ͕ϝϯςφϯε͞Εͳ͘ͳͬͯ͠·͍ɺखಈͰ ϥΠϒϥϦͷΞοϓσʔτͳͲΛߦ͍ͬͯͨ ◦ ʢଞͷϩʔϧͪΌΜͱϝϯςφϯε͞Εͯ·͢ʣ • ։ൃڥ͢ͰʹDockerͰಈ͘Α͏ʹͳ͍ͬͯͨ 16
17 ͜ΕKubernetesνϟϯεͰʁ ϊϋΛੵ͢Δʹྑ͍ػձʂ Ϣʔβ͕৮ΔϩʔϧͷKubernetesԽୈ1ஈͱͯ͠νϟϨϯδ͠·ͨ͠ʂ ʢ˞Ұ෦ͷAPIಋೖࡁΈͰͨ͠ʣ ϦΞʔΩςΫνϟνʔϜ • ΠϯϑϥΤϯδχΞ 2໊ •
ΞϓϦέʔγϣϯΤϯδχΞ 1໊ ↑ ͜͜ʹࠞͥͯΒͬͨ 17
18 ߏ • OS: CentOS6 ◦ => CentOS7 • ݴޠ:
PHP ◦ => มߋͳ͠ • Webαʔό: ApacheʢPHPϞδϡʔϧʣ ◦ => Nginx + PHP-FPM • NyahʢࣾͷϓϥΠϕʔτΫϥυʣͷΠϯελϯε ◦ =>ɹShopSetΫϥελ(Kubernetes) 18
19 ͍Ζ͍Ζ՝͕ग़͖ͯͨ • ϩάͲ͏͢Δʁ • ΤϥʔͷτϥοΩϯάʁ • ίϯςφͷࢹʁ • ηΩϡϦςΟେৎʁʁ
• ύϑΥʔϚϯεେৎʁʁ • ͳ͔ͥPodΓସ͑࣌ʹμϯλΠϜ͕ൃੜ͢Δʂ • σϓϩΠʁ ɾɾɾͳͲͳͲ 19
20 Կ͔՝ؾ͍ͮͨ͜ͱ͕ग़ͨΒ͙͢ϦΞʔΩςΫνϟνʔϜʹ૬ஊ • ຖ༦ํࡶஊ෦ʢGoogle Meetʣʹू·Δ࣌ؒΛऔ͍ͬͯ ΔͷͰɺͦ͜Ͱࠔ͍ͬͯΔ͜ͱΛ૬ஊ ◦ ૬ஊ->શһͰҰؾʹղܾͱ͍͏ྑ͍αΠΫϧ͕ճͤͨ ◦ ShopSetͷߏஙʹྑ͍ӨڹΛ༩͑ΒΕͨ
20
21 ൃੜͨ͠՝Λڠྗͯ͠ย͚͍ͯͬͨ 21 • ϩά ◦ => Fluentdܦ༝ͰBigQueryʹอଘʢStdOutͷ༰Cloud Loggingʣ •
ΤϥʔτϥοΩϯά ◦ => Sentryͷಋೖ • ίϯςφࢹ ◦ => Mackerel Agentͷಋೖ • ίϯςφηΩϡϦςΟ ◦ => ΞϓϦέʔγϣϯίϯςφηΩϡϦςΟΨΠυʢNIST࡞ɺ༁मIPAʣΛνΣοΫ • PodΓସ͑࣌ͷμϯλΠϜ ◦ => ReadinessProbeɺpreStopͷௐ • ύϑΥʔϚϯε ◦ => ଟΊʹϦιʔεΛऔͬͯϦϦʔεޙௐ
22 σϓϩΠʢShopSetผͷํࣜʣ 22 ։ൃऀ ϝϧϚΨ AppϦϙδτϦ K8sϚχϑΣετ ϦϙδτϦ ࣾ Docker
Resisty K8s Argo CDʹͯϚχϑΣετΛద༻ CI/CDʹͯɺϚʔδɾΠϝʔδͷϓογϡ ΞϓϦέʔγϣϯ Nginx, PHP-FPM K8sΫϥελ Merge Push Pull ߋ৽ͨ͠ΠϝʔδΛ͏Α͏ʹɺ ϚχϑΣετͷΠϝʔδλάΛߋ৽
23 ͦͯ͠ϦϦʔε 23 ͜ͷΑ͏ͳऔΓΈΛߦ͏͜ͱͰɺ1݅োΛൃੜͤͣ͞ແ ࣄϦϦʔε͢Δ͜ͱ͕Ͱ͖·ͨ͠
24 ·ͱΊ • ΧϥʔϛʔγϣοϓͰɺՄ༻ੑ্ͷͨΊͷࢪࡦͱ͠ ͯɺShopSetΞʔΩςΫνϟͷಋೖΛਐΊ͍ͯ·͢ɻ • KubernetesಋೖͷࡍɺεϞʔϧελʔτͯ͠ಋೖࣄྫΛ ࡞͍ͬͯ͘ͱɺϦεΫΛ࠷খݶʹ͑ϊϋΛཷΊΒΕ Δ •
͜͏͍ͬͨऔΓΈΛҰॹʹਐΊͯߦ͚ΔؒΛืूͯ͠ ͍·͢ʂ 24