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
130k
一休での開発における改善の取組み /devops-at-ikyu
kensuketanaka
13
10k
開発合宿@京都 /hack-camp-kyoto
kensuketanaka
0
4k
一休.comにおけるデプロイフローと自動化 /ikyu-deploy-flow
kensuketanaka
9
9k
ikyu-frontend
kensuketanaka
21
7.3k
sushi_route_2015
kensuketanaka
0
240
qiita meetup#12
kensuketanaka
4
72k
cross_2015_trave_ec
kensuketanaka
1
3.5k
Other Decks in Technology
See All in Technology
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
450
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
180
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
260
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
190
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
200
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
670
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.4k
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.5k
OpenShiftでllm-dを動かそう!
jpishikawa
0
130
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
68k
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
120
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
1.9k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
120
Mobile First: as difficult as doing things right
swwweet
225
10k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
Making Projects Easy
brettharned
120
6.6k
How to build a perfect <img>
jonoalderson
1
4.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
54
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Everyday Curiosity
cassininazir
0
130
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
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..
ؾʹͳΔํ͜ͷޙͷ ύωϧσΟεΧογϣϯ͔࠙ձͰ ͓͠·͠ΐ͏ʂ
·ͱΊ
·ͱΊɾॴײ • ࡢࠓͰͨΓલͷ • σʔλը૾ετϨʔδαʔϏε • ϨϙδτϦγεςϜʹؔΘΔมߋͷΈ • ݱߦͷઃܭɾΞʔΩςΫνϟʹҾͬுΒΕͳ͍ •
͋Δ͖͔࢟ΒվળࡦΛߟ͑Δ • αʔϏεΛଓ͚Δͱ՝ग़Δ • ܧଓͨ͠վળΛ͜Ε͔Β࣮ࢪ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠