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
87k
一休での開発における改善の取組み /devops-at-ikyu
kensuketanaka
13
9.9k
開発合宿@京都 /hack-camp-kyoto
kensuketanaka
0
3.6k
一休.comにおけるデプロイフローと自動化 /ikyu-deploy-flow
kensuketanaka
9
8.6k
ikyu-frontend
kensuketanaka
21
7.1k
sushi_route_2015
kensuketanaka
0
190
qiita meetup#12
kensuketanaka
4
71k
cross_2015_trave_ec
kensuketanaka
1
3.4k
Other Decks in Technology
See All in Technology
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
650
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
0
150
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
170
Terraform Stacks入門 #HashiTalks
msato
0
360
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
400
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.1k
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
310
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
180
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
550
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
320
いざ、BSC討伐の旅
nikinusu
2
780
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
It's Worth the Effort
3n
183
27k
The Invisible Side of Design
smashingmag
298
50k
BBQ
matthewcrist
85
9.3k
Being A Developer After 40
akosma
87
590k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
890
Large-scale JavaScript Application Architecture
addyosmani
510
110k
The Cost Of JavaScript in 2023
addyosmani
45
6.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
The Cult of Friendly URLs
andyhume
78
6k
Producing Creativity
orderedlist
PRO
341
39k
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..
ؾʹͳΔํ͜ͷޙͷ ύωϧσΟεΧογϣϯ͔࠙ձͰ ͓͠·͠ΐ͏ʂ
·ͱΊ
·ͱΊɾॴײ • ࡢࠓͰͨΓલͷ • σʔλը૾ετϨʔδαʔϏε • ϨϙδτϦγεςϜʹؔΘΔมߋͷΈ • ݱߦͷઃܭɾΞʔΩςΫνϟʹҾͬுΒΕͳ͍ •
͋Δ͖͔࢟ΒվળࡦΛߟ͑Δ • αʔϏεΛଓ͚Δͱ՝ग़Δ • ܧଓͨ͠վળΛ͜Ε͔Β࣮ࢪ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠