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
11k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
一休.com における改善事例のご紹介 /ikyu-storage-improvement
一休 ✕ bitFlyer コラボイベントでのLT資料です
kentana20
January 16, 2017
More Decks by kentana20
See All by kentana20
一休.comでの開発組織改善の取り組みとこれから /improve-ikyu-devlove-x
kensuketanaka
24
37k
株式会社一休 会社紹介資料 / introduce-ikyu
kensuketanaka
15
150k
一休での開発における改善の取組み /devops-at-ikyu
kensuketanaka
13
10k
開発合宿@京都 /hack-camp-kyoto
kensuketanaka
0
4.2k
一休.comにおけるデプロイフローと自動化 /ikyu-deploy-flow
kensuketanaka
9
9.1k
ikyu-frontend
kensuketanaka
21
7.4k
sushi_route_2015
kensuketanaka
0
280
qiita meetup#12
kensuketanaka
4
72k
cross_2015_trave_ec
kensuketanaka
1
3.5k
Other Decks in Technology
See All in Technology
AIに持続⼒を与える 判断の⻑期記憶設計
eiei114
1
710
GopherCon @シアトル に行ってきました
logica0419
0
250
内製AIチャットボット開発で学んだ Datadog Agent Observability活用術
mkdev10
0
140
Digitization部 紹介資料
sansan33
PRO
2
7.7k
Windows の互換機能 - 古いプログラムはなぜ動作できるのか
murachiakira
PRO
0
100
暗号化?某ファイルストレージはどうなるの!? 3rd Partyとうまく付き合う秘密度ラベル設計
kasada
0
200
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
410
わたしが知り合いゼロの勉強会に 行けるようになるまで
r5ni4
2
790
フィジカルAIの知識ゼロの僕でも AIを使えばここまでできた
tatsuya1970
0
180
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
国家プロジェクトを支える「さくらONE」 大規模LLM開発におけるGPU障害を乗り越えるクラスター運用戦略
gpuunite_official
0
280
ClaudeCodeでセキュリティ監視業務を半自動化_1年の運用でわかったAIに任せる設計の5つのポイント
kintotechdev
3
320
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Agile that works and the tools we love
rasmusluckow
331
22k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
280
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
290
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
810
Mind Mapping
helmedeiros
PRO
1
330
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Believing is Seeing
oripsolob
1
200
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
280
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
710
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..
ؾʹͳΔํ͜ͷޙͷ ύωϧσΟεΧογϣϯ͔࠙ձͰ ͓͠·͠ΐ͏ʂ
·ͱΊ
·ͱΊɾॴײ • ࡢࠓͰͨΓલͷ • σʔλը૾ετϨʔδαʔϏε • ϨϙδτϦγεςϜʹؔΘΔมߋͷΈ • ݱߦͷઃܭɾΞʔΩςΫνϟʹҾͬுΒΕͳ͍ •
͋Δ͖͔࢟ΒվળࡦΛߟ͑Δ • αʔϏεΛଓ͚Δͱ՝ग़Δ • ܧଓͨ͠վળΛ͜Ε͔Β࣮ࢪ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠