Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Progressive Release by using Fastly

E654ce93d23159c059fa5cf1b1347bfa?s=47 Kono Junya
August 23, 2021

Progressive Release by using Fastly

TENTIAL x tricot D2Cエンジニアが語るECのフルスクラッチ事情の登壇資料です

https://tricot.connpass.com/event/221261/

E654ce93d23159c059fa5cf1b1347bfa?s=128

Kono Junya

August 23, 2021
Tweet

More Decks by Kono Junya

Other Decks in Technology

Transcript

  1. 1SPHSFTTJWF3FMFBTFCZVTJOH

  2. ++ -FBE8FC&OHJOFFS 5XJUUFS!LPOPKVOZB (JU)VC!LPOPKVOZB [FOOEFW!KK ࣗݾ঺հ

  3. #VTJOFTTʷ'6+*.*

  4. '6+*.*͸໿໰ͷ8&#ඒ༰෼ੳ͔Β ύʔιφϥΠζ͢ΔϏϡʔςΟʔϒϥϯυͰ͢ɻ '6+*.*ͷࣄۀ঺հ ถࠃISNFαϓϦϝϯτΞυόΠβʔࢿ֨Λ࣋ͪɺ ػೳੑදࣔ৯඼ݕఆڠձͷཧࣄΛ຿ΊΔαϓϦϝϯτͷઐ໳ՈΛ ΞυόΠβʔͱܴͯ͑͠ɺFUJIMIಠࣗͷඒ༰෼ੳΛ։ൃɺ࣮ݱɻ 2019೥3݄ͷαϓϦϝϯτϦϦʔεޙɺ໿40ສਓͷ෼ੳ৘ใΛ΋ͱʹ 2020೥3݄ʹඒ༰෼ੳΛΞοϓσʔτɻ

  5. '6+*.*͸໿໰ͷ8&#ඒ༰෼ੳ͔Β ύʔιφϥΠζ͢ΔϏϡʔςΟʔϒϥϯυͰ͢ɻ '6+*.*ͷࣄۀ঺հ

  6. '6+*.*ύʔιφϥΠζϓϩςΠϯͷొ৔ ϓϩςΠϯ͕৽঎඼ͱͯ͠ ϦϦʔεʢ2021/04/16ʣ͞Ε·ͨ͠ɻ

  7. 5FDIOPMPHZʷ'6+*.*

  8. 3JPU"QQMJDBUJPOPO("& ͜Ε·Ͱͷ'6+*.* #SPXTFS TVQQMFNFOU GBDFNBTL FUDʜ

  9. ϓϩςΠϯΛͲͷΑ͏ʹϦϦʔε͢Δ΂͖͔🤔 ͜Ε·Ͱͷ'6+*.* 3JPUKTͰࠓޙ΋։ൃΛଓ͚͍ͯ͘ʜʁ $.ʹ଱͑ΕΔʜʁ šƄƂšƄƂʜ

  10. 57$. ͜Ε·Ͱͷ'6+*.* ެ։Ͱ৽$.Λ஍্೾Ͱ์өɻ

  11. ٕज़ߏ੒ͷ࡮৽ ͜Ε·Ͱͷ'6+*.*  4FSWFS4JEF3FOEFSJOHGPS'$1  5ZQF4DSJQU  ϧʔςΟϯάΛΑΓ؆୯ʹ  ϑϨʔϜϫʔΫʹ৐͔ͬͬͯεϐʔυײΛ͍࣋ͪͨ

  12. ٕज़ߏ੒ͷ࡮৽ ͜Ε·Ͱͷ'6+*.* /FYUKTXJUI5ZQF4DSJQU ʷ

  13. ٕज़ߏ੒ͷ࡮৽ ͜Ε·Ͱͷ'6+*.* GVKJNJNFTVQQMFNFOU GVKJNJNFQSPUFJO 3JPUKT /FYUKT  4FSWFS4JEF3FOEFSJOH  -B[ZMPBEJOH

     *NBHF0QUJNJ[F FUDʜ
  14. 'BTUMZʷ'6+*.*

  15. 'BTUMZʷ'6+*.* #SPXTFS

  16. 'BTUMZʷ'6+*.* 7BSOJTI$POGJHVSBUJPO-BOHVBHF

  17. 'BTUMZʷ'6+*.* if(req.url.path ~ “^/protein”) { set req.backend = Origin2; }

    QSPUFJO ʹର͢ΔϦΫΤετʹରͯ͠$MPVE3VOΛPSJHJOͱ͢Δ
  18. શମతͳٕज़࡮৽ϓϩδΣΫτ🎉 'BTUMZʷ'6+*.*

  19. 'BTUMZʷ'6+*.* #SPXTFS $VTUPN7$- ஈ֊తʹҠߦ

  20. 'BTUMZʷ'6+*.* ஈ֊తʹҠߦ͢ΔͨΊʹ7$-Λੜ੒͢Δ ʷ

  21. 'BTUMZʷ'6+*.* ௚ۙϲ݄ͷ$BDIF)JU3BUJP "WFSBHF

  22. 'BTUMZʷ'6+*.* ݄ͷ਺஋ "WHLSFRVFTUEBZ .BYLSFRVFTUIPVS ݄ͷ਺஋ "WHLSFRVFTUEBZ .BYLSFRVFTUIPVS ೥݄೔͔Β݄೔ͷάϥϑ ໿ഒ

  23. 'BTUMZʷ'6+*.* IUUQTEFWFMPQFSGBTUMZDPNMFBSOJOHWDMCFTUQSBDUJDFT IUUQTEFWFMPQFSGBTUMZDPNTPMVUJPOTFYBNQMFT ͦͷଞɺ'BTUMZͰߦ͍ͬͯΔ͜ͱ  2VFSZ1BSBNTͷTPSU  (PPHMF"OBMZUJDTͷΩϟϯϖʔϯύϥϝʔλͷ࡟আ  GPSDF5-4

  24. 'BTUMZʷ'6+*.* *NBHF0QUJNJ[FS τοϓϖʔδͰݕূ -B[ZMPBE༗Γͷϖʔδ'7ಡΈࠐΈ࣌఺ͰɺL#ͷ࡟ݮ -BSHFTU$POUFOUGVM1BJOU͸TͷύϑΥʔϚϯε޲্ if(req.url.ext ~ “(?i)^(gif|png|jpe?g)$”) { set

    req.url = req.url.path “?auto=webp”; set req.http.Cache-Control = “public, max-age=…”; set req.http.Surrogate-Key = “image”; }
  25. 'BTUMZʷ'6+*.* *NBHF0QUJNJ[FS if(req.url.ext ~ “(?i)^(gif|png|jpe?g)$”) { if(req.http.Save-Data) { set req.url

    = req.url.path “?quality=440”; } } 'BTUMZ*NBHF0QUJNJ[FSΛ࢖͏ར఺  ($1ͳͲʹରͯ͠BTTFUTΛEFQMPZͤͣʹ͢Ή  ্هͷΑ͏ʹIUUQGJFMEͰ෼ذΛ͢Δ͜ͱ͕Ͱ͖Δ  4VSSPHBUF,FZʹΑΔDBDIFͷΠϯελϯτύʔδ͕ߦ͑Δ
  26. ·ͱΊ w 3JPUKTͰࠓޙ΋։ൃΛଓ͚͍ͯ͘ʜʁ w /FYUKTXJUI5ZQF4DSJQUͰΞϓϦέʔγϣϯ͸ॻ͍͍ͯ͘ w ஈ֊తҠߦΛ'BTUMZ$VTUPN7$-Λ࢖ͬͯߦ͍ͬͯ͘ w $.ʹ଱͑ΕΔʜʁ w

    'BTUMZ༷🙏 w ը૾࠷దԽ w 'BTUMZ*NBHF0QUJNJ[FS༷🙏 w ࠓޙ͋Γͦ͏ʜʁ🤔 w 4JHOBM4DJFODFʜ🛡 w $PNQVUF!&EHFʜ🙄
  27. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠