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

さよなら、レガシー画像変換システム

Daichi Toma
November 22, 2018

 さよなら、レガシー画像変換システム

Diverse.tech #1 〜レガシーシステムを語らう夜〜

Daichi Toma

November 22, 2018
Tweet

More Decks by Daichi Toma

Other Decks in Programming

Transcript

  1. ͞ΑͳΒɺϨΨγʔը૾ม׵γεςϜ
    Diverse.tech #1 ʙϨΨγʔγεςϜΛޠΒ͏໷ʙ
    November 22, 2018
    Daichi TOMA

    View Slide

  2. About Me
    ᙛᚸ େઍ @Amothic
    גࣜձࣾ Diverse
    Poiboy ͷαʔόαΠυ΍ΠϯϑϥΛݟͨΓ
    ૊৫पΓͷվળΛߦͬͯ·͢

    View Slide

  3. ϨΨγʔγεςϜͰ௚໘ͯ͠ࠔΔ͜ͱ
    • ো֐͕ى͖ͯ΋௚͠ํ͕෼͔Βͳ͍ɺ

    ΋͘͠͸म෮खॱ͕ෳࡶ
    • εέʔϧΞ΢τɺεέʔϧΠϯ͕೉͍͠
    ○ εέʔϥϏϦςΟ͕ߟྀ͞Ε͓ͯΒͣɺ

    Մ༻ੑ΋௿͍

    View Slide

  4. ϨΨγʔγεςϜ͸

    Մ༻ੑ΍৴པੑ͕௿͍

    View Slide

  5. ϨΨγʔγεςϜΛ

    ͲͷΑ͏ʹվળ͢Δ͔

    View Slide

  6. Մ༻ੑ΍৴པੑΛ

    ࣗલͰ௥ٻ͍ͯ͘͠ͷ͸

    ίετ͕ߴ͍

    View Slide

  7. ͳΔ΂͘ϚωʔδυαʔϏε
    Λ࢖ͬͯίετΛԼ͍͛ͯ͘

    View Slide

  8. Poiboy ͷطଘͷը૾ม׵γεςϜ
    nginx
    ϩʔυόϥϯγϯά
    squid
    Ωϟογϡ
    ngx_small_light
    ը૾ม׵
    Request
    S3

    View Slide

  9. طଘγεςϜͷ໰୊఺
    • nginx ΁ͷઃఆ͕खॻ͖ɺނো࣌ʹखಈͰ config Λ

    ॻ͖௚ͯ͠੾Γସ͑ͳ͚Ε͹ͳΒͳ͍
    ○ ϔϧενΣοΫ͸ར༻͍ͯ͠ͳ͔ͬͨ
    • ߏஙͷखॱ͕൥ࡶɺखಈͰαʔόͷηοτΞοϓΛ
    ߦ͏ඞཁ͕͋Δ
    • ߏஙͷखॱ͕ෳࡶͷͨΊɺεέʔϧΞ΢τ΍

    εέʔϧΠϯ͕େม

    View Slide

  10. ͭΒ͍

    View Slide

  11. ϨΨγʔγεςϜΛ

    Ұͭͣͭஔ͖׵͍͑ͯ͘

    View Slide

  12. CloudFront ͷར༻
    • ͓खܰ CDN
    • nginx ͱ squid Λ CloudFront ʹஔ͖׵͑Δ
    • ैྔ՝ۚͷΦʔτεέʔϧͰɺ

    େྔͷΞΫηε͕དྷΔ͜ͱʹͳͬͯ΋҆৺
    • ແྉͰ SSL ূ໌ॻ΋࢖͑Δ

    View Slide

  13. Docker ͷ׆༻
    • ngx_small_light ͷηοτΞοϓͷίετΛ

    Լ͛ΔͨΊ Docker Խ͢Δ
    • https://github.com/diverse-inc/docker-ngx-small-
    light
    • υΩϡϝϯτΛݟͳ͕ΒߏஙΛؤுΒͳͯ͘΋ྑ͍
    • Docker Hub Λ׆༻ͯ͠ɺϏϧυ΋ࣗಈԽ͢Δ

    View Slide

  14. ECS ͷར༻
    • Docker ίϯςφΛ؆୯ʹ࣮ߦɺεέʔϧ

    Ͱ͖Δ
    • ࠓ·ͰखಈͰεέʔϧΛߦ͏ඞཁ͕͕͋ͬͨɺ
    ෛՙʹԠͯ͡਺ඵͰࣗಈతʹεέʔϧ
    • ϩʔυόϥϯγϯά΋ͯ͘͠ΕΔ

    View Slide

  15. Poiboy ͷ৽͍͠ը૾ม׵γεςϜ
    CloudFront
    Ωϟογϡ
    ECS
    ίϯςφΦʔέετϨʔγϣϯ
    ngx_small_light
    ը૾ม׵
    Request
    S3

    View Slide

  16. Poiboy ͷ৽͍͠ը૾ม׵γεςϜ
    • ෛՙʹԠͯ͡উखʹεέʔϧ
    • ো֐࣌΋ϚωʔδυαʔϏε͕ྑ͠ͳʹͯ͠
    ͘ΕΔ
    • खಈͰ΍Δ࡞ۀ͕ഉআ͞Ε͍ͯΔ

    View Slide

  17. ࠷ߴ

    View Slide

  18. ·ͱΊ
    • ϨΨγʔγεςϜ͸Մ༻ੑ΍৴པੑ͕௿͍
    • ϚωʔδυαʔϏεΛ࢖͍ɺίετΛ

    Լ͛ͭͭஔ͖׵͑Δ
    • ߏ੒؅ཧ΋ίʔυԽࣗ͠ಈԽ͢Δ

    View Slide

  19. ༨ஊ
    • ͦΖͦΖը૾ม׵ͯ͘͠ΕΔ

    ϚωʔδυαʔϏε͕ AWS ʹཉ͍͠
    • AWS ͡Όͳ͚Ε͹ Cloudinary ͱ͔
    ImageFlux ͱ͔͋Γ·͢

    View Slide