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
一休.com における改善事例のご紹介 /ikyu-storage-improvement
Search
kentana20
January 16, 2017
Technology
6
11k
一休.com における改善事例のご紹介 /ikyu-storage-improvement
一休 ✕ bitFlyer コラボイベントでのLT資料です
kentana20
January 16, 2017
Tweet
Share
More Decks by kentana20
See All by kentana20
一休.comでの開発組織改善の取り組みとこれから /improve-ikyu-devlove-x
kensuketanaka
24
37k
株式会社一休 会社紹介資料 / introduce-ikyu
kensuketanaka
15
110k
一休での開発における改善の取組み /devops-at-ikyu
kensuketanaka
13
10k
開発合宿@京都 /hack-camp-kyoto
kensuketanaka
0
3.8k
一休.comにおけるデプロイフローと自動化 /ikyu-deploy-flow
kensuketanaka
9
8.9k
ikyu-frontend
kensuketanaka
21
7.3k
sushi_route_2015
kensuketanaka
0
220
qiita meetup#12
kensuketanaka
4
71k
cross_2015_trave_ec
kensuketanaka
1
3.4k
Other Decks in Technology
See All in Technology
公開初日に Gemini CLI を試した話や FFmpeg と組み合わせてみた話など / Gemini CLI 初学者勉強会(#AI道場)
you
PRO
0
1.5k
AWS CDK 入門ガイド これだけは知っておきたいヒント集
anank
5
800
Data Engineering Study#30 LT資料
tetsuroito
1
380
Bliki (ja), and the Cathedral, and the Bazaar
koic
4
610
Transformerを用いたアイテム間の 相互影響を考慮したレコメンドリスト生成
recruitengineers
PRO
2
540
AIエージェントが書くのなら直接CloudFormationを書かせればいいじゃないですか何故AWS CDKを使う必要があるのさ
watany
20
7.7k
データ駆動経営の道しるべ:プロダクト開発指標の戦略的活用法
ham0215
2
180
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.7k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
18k
Delegating the chores of authenticating users to Keycloak
ahus1
0
190
20250708オープンエンドな探索と知識発見
sakana_ai
PRO
5
1.1k
ABEMAの本番環境負荷試験への挑戦
mk2taiga
5
1.4k
Featured
See All Featured
Balancing Empowerment & Direction
lara
1
470
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Navigating Team Friction
lara
187
15k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Optimizing for Happiness
mojombo
379
70k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Into the Great Unknown - MozCon
thekraken
40
1.9k
Rails Girls Zürich Keynote
gr2m
95
14k
Building an army of robots
kneath
306
45k
Thoughts on Productivity
jonyablonski
69
4.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Transcript
Ұٳ.com ʹ͓͚Δ ASP.NET։ൃ վળࣄྫͷ͝հ 2017.1.16 Kensuke Tanaka (@kentana20)
͓ͼ ॾࣄʹΑΓλΠτϧͱ༰Λ มߋ͓͍ͯͨ͠͠·͢
ΠϕϯτϖʔδΑΓ
ࠓͷ͓ ΫϥυҠߦ͚ͨ αʔϏεվળͷࣄྫ ʢϑΝΠϧετϨʔδฤʣ
About me • ాத ݈հ • @kentana20 • 20065݄͔ΒҰٳ
Agenda • αʔϏε๊͕͍͑ͯͨ՝ʢετϨʔδपΓʣ • վળ༰ͱޮՌ • ࠓޙʹ͚ͯ • ·ͱΊ
αʔϏεͷ՝ ʢετϨʔδฤʣ
എܠ • ҰٳͰɺ2017தʹݱࡏͷΦϯϓϨڥ͔Β Ϋϥυڥ(AWS)ͷҠߦΛ༧ఆ֤ٕͯ͠ज़՝ ʹର͢ΔվળΛਐΊ͍ͯΔ
લఏ • Ұٳ.com Ͱ༻͍ͯ͠Δը૾جຊతʹϗςϧɾ ཱྀ͔ؗΒఏڙΛड͚͍ͯΔ
None
None
1. ϗςϧɾཱྀ͚ؗͷཧը໘ ͔ΒΞοϓϩʔυ 2. ϝʔϧͰΒͬͯࣾͷσβΠφʔ ͕Ճͯ͠Ξοϓϩʔυ(ϦϦʔε) ը૾ͷఏڙύλʔϯ
γεςϜ๊͕͍͑ͯͨ ՝
՝ • ڞ༗ετϨʔδ • ϨϙδτϦσΧ͗͢
ڞ༗ετϨʔδ • ϗςϧɾཱྀ͕ؗΞοϓϩʔυ͢Δը૾ • ImageMagickͰϦαΠζॲཧ(ಉظॲཧͰ͍…) • Shared DiskํࣜͰڞ༗ετϨʔδʹஔ • ϗςϧɾཱྀؗ૿Ճʹ͍ɺڞ༗ετϨʔδͷ
σΟεΫ༰ྔΛѹഭ & ը૾৴༻αʔόͷϦΫΤε τ૿Ճ
ڞ༗ετϨʔδ
ϨϙδτϦσΧ͗͢ • σβΠϯࢿࡐͯ͢Gitཧ • σβΠφʔͱσϓϩΠϑϩʔΛἧ͑ΔͨΊʹ࣮ࢪ ͕ͨ͠ɺѱखͩͬͨ • ϨϙδτϦαΠζ͕1.5Ͱ4ഒʹ • clone
/ fetch / pull ͳͲͷGitૢ࡞͕ඇৗʹॏ͍
ϨϙδτϦσΧ͗͢
վળ༰ͱޮՌ
վળ༰
ڞ༗ετϨʔδΛΊΔ • Ξοϓϩʔυ͢Δը૾ʢσʔλը૾ʣͯ͢S3 ஔ͠Shared Nothingͳߏʹ • ϦαΠζॲཧLambdaͰ࣮ࢪ • CDNͷOriginΛS3ʹ͚ɺը૾৴αʔόʹର͢Δ ϦΫΤετΛݮ
มߋલͷߏ ը૾ ΞοϓϩʔυˍϦαΠζ ڞ༻ετϨʔδ ը૾ͷOrigin ը૾৴αʔό ը૾৴༻αʔό www.ikyu.com cdn.ikyu.com
มߋޙͷߏ ը૾ Ξοϓϩʔυ ϦαΠζॲཧ ڞ༻ετϨʔδ ༻͠ͳ͍ σʔλը૾ͷ OriginS3 Ξηοτը૾ͷ OriginҰٳαʔό
cdn.ikyu.com www.ikyu.com
σβΠϯࢿࡐͷGitཧΛΊΔ • σβΠφʔ͕Ճͨ͠ը૾S3ʹΞοϓϩʔυ͠ɺ GitཧΛΊΔ • ϨϙδτϦʹೖΕΔͷ࠷ݶͷΞηοτͷΈ • GitͷϩάγεςϜมߋͷΈʹ(ਐߦத)
มߋલͷӡ༻ ڞ༻ετϨʔδ ը૾৴༻αʔό Ճޙը૾Λ Commit&Push ϦϦʔε σβΠφʔ
มߋޙͷӡ༻ Ճޙը૾Λ Ξοϓϩʔυ σβΠφʔ Gitɺڞ༻ετϨʔδ༻͠ͳ͍
+αͰ࣮ࢪͨ͠ରԠ • Always on SSLʢAOSSLʣ ରԠΛݟਾ͑ͯS3ʹҠߦͨ͠ ը૾ͷύεΛͯ͢SSLԽʢMixed Contentsରࡦʣ
ϋϚͬͨ͜ͱ • S3ҠߦʹΑͬͯCase SensitiveʹͳΓɺը૾͕ݟ͑ͳ͍ • AkamaiଆͰΩϟογϡ͢ΔͱCase Insentiveʹͳͬͯ ༨ܭʹ͔ͬͨ͜͠(AkamaiଆΦϓγϣϯ) • ͱͱΞοϓϩʔυ͞Εͨը૾ͷେจࣈ/খจࣈ͕
όϥόϥͩͬͨͷͰɺΞοϓϩʔυ࣌ʹͯ͢Lower CaseΛ͔͚ͯରԠ
ޮՌ
ޮՌ • ڞ༻ετϨʔδෆཁʹ • ը૾ΞοϓϩʔυߴԽˍ҆ఆԽ • ը૾৴αʔόͷϦΫΤετܹݮ • σβΠφʔͷӡ༻γϯϓϧʹ
ޮՌ
ޮՌ • σβΠφʔΑΓ • ʮը૾ͷࠩ͠ସ͑ͳͲɺසߴ͘ߦ͏࡞ۀ͕ ɹεϐʔυΞοϓ͠·ͨ͠ʂʯ • ӦۀΞγελϯτΑΓ • ʮը૾ͷΞοϓϩʔυ͕ΊͬͪΌૣ͘ͳͬͨʂʯ
ࠓޙʹ͚ͯ
ࠓޙͷରԠʢਐߦதʣ • લड़ͷϨϙδτϦܰྔԽ • σβΠϯࢿࡐͱͦͷཤྺΛফ͢ • Ұ෦ͷσβΠϯ࡞ۀΛCMSԽ • ϦϦʔεͤͣʹίϯςϯπߋ৽ՄೳͳՕॴΛ૿͢
σβΠϯ࡞ۀCMSԽ • ߴසͰߋ৽͢Δࠂ/͓͢͢ΊͳͲͷཧ • TOPϖʔδͷϩʔςʔγϣϯͳͲΛ ผΞϓϦέʔγϣϯͰCMSԽ
ͦͷଞͷվળਐΜͰ͍·͢ • ϝʔϧ৴ج൫ͷSaaSҠߦ • όονॲཧج൫RundeckԽ • ΞʔΩςΫνϟ৽ɾΞϓϦέʔγϣϯׂ • ΫϥυҠߦ etc..
ͦͷଞͷվળਐΜͰ͍·͢ • ϝʔϧ৴ج൫ͷSaaSҠߦ • όονॲཧج൫RundeckԽ • ΞʔΩςΫνϟ৽ɾΞϓϦέʔγϣϯׂ • ΫϥυҠߦ etc..
ؾʹͳΔํ͜ͷޙͷ ύωϧσΟεΧογϣϯ͔࠙ձͰ ͓͠·͠ΐ͏ʂ
·ͱΊ
·ͱΊɾॴײ • ࡢࠓͰͨΓલͷ • σʔλը૾ετϨʔδαʔϏε • ϨϙδτϦγεςϜʹؔΘΔมߋͷΈ • ݱߦͷઃܭɾΞʔΩςΫνϟʹҾͬுΒΕͳ͍ •
͋Δ͖͔࢟ΒվળࡦΛߟ͑Δ • αʔϏεΛଓ͚Δͱ՝ग़Δ • ܧଓͨ͠վળΛ͜Ε͔Β࣮ࢪ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠