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

Shifter HeadlessとSaaSを組み合わせた サーバーレスECサイトの構築/shifter-serverless-ec

Shifter HeadlessとSaaSを組み合わせた サーバーレスECサイトの構築/shifter-serverless-ec

Serverless Operations

September 09, 2020
Tweet

More Decks by Serverless Operations

Other Decks in Programming

Transcript

  1. 4FSWFSMFTT0QFSBUJPOTງՈོ޺
    Shifter HeadlessͱSaaSΛ૊Έ߹Θͤͨ
    αʔόʔϨεECαΠτͷߏங

    View full-size slide

  2. ࣗݾ঺հ
    גࣜձࣾServerless Operations CEO
    ΦʔϓϯιʔεLover
    αʔόʔϨεϛʔτΞοϓOrganizer

    View full-size slide

  3. αʔόʔϨεͰ
    Ϋϥ΢υͷՁ஋Λ࠷େݶʹ
    Serverless Operations ͸͜Ε·ͰάϩʔόϧͷୈҰઢͰ
    ഓ͖ͬͯͨΫϥ΢υٕज़ʢ"84ʵΞϚκϯ΢ΣϒαʔϏεʣͷ
    ๛෋ͳ࣮੷ͱ஌ݟΛ׆͔͠ɺ͓٬͞·ͷαʔόʔϨε
    ʹؔ͢Δ͞·͟·ͳ՝୊Λղܾ͠·͢ɻ
    ձࣾ঺հ
    serverless.co.jp

    View full-size slide

  4. 0VS0QFO4PVSDF1SPEVDUT

    View full-size slide

  5. αʔόʔϨεͬͯͳʹʁ

    View full-size slide

  6. αʔόʔϨεͱ͸
    ग़དྷΔݶΓΫϥ΢υ΍4BB4ͷαʔϏεΛ׆༻ͯ͠ϓϩμΫτΛ։ൃ͢Δ͜ͱ
    ʮαʔόʔʯΛग़དྷΔݶΓ࢖Θͳ͍ͱ͍͏จ຺͔ΒαʔόʔϨεͱݺ͹ΕΔ
    "84-BNCEBͱ͍͏ϓϩάϥϜͷϥϯλΠϜͷΈΛఏڙ͢ΔαʔϏε͕༗໊

    View full-size slide

  7. ͳͥαʔόʔϨεʁ

    View full-size slide

  8. ࣮૷ऀͷϦιʔεΛຊ࣭ʹϑΥʔΧε͢ΔͨΊ
    ྫ͑͹ήʔϜιϑτΛ։ൃ͢Δ࣌ʹϑΥʔΧε͍ͨ͠ͷ͸ήʔϜͷγφϦΦͷϓϩάϥ
    ϜɻͦΕҎ֎ͷ։ൃ΍ӡ༻͸Ͱ͖ΔݶΓΫϥ΢υʹΞ΢τιʔε
    ։ൃऀͷϦιʔεΛຊ࣭తͳ͜ͱʹूதͯ͠ɺͦΕҎ֎ͷίετ͸ग़དྷΔݶΓ࡟ݮ͢Δ
    ΠϯϑϥɺೝূೝՄɺܾࡁγεςϜɺϝʔϧ഑৴ͳͲͷߏங΍ӡ༻͸͠ͳ͍ɻ
    Ϋϥ΢υ΍4BB4ͷαʔϏεΛͰ͖Δ͚ͩར༻͢Δ͜ͱͰຊ࣭ʹूத͢Δ

    View full-size slide

  9. ֤ػೳͷ඼࣭͕ੈք࠷ߴϨϕϧ
    ೝূɺݕࡧɺ঎඼ൢചɺܾࡁͳͲͷ֤छػೳ͕͓ۚΛ෷͏͚ͩͰ
    ੈք࠷ߴਫ४ͷϨϕϧͷ΋ͷ͕࢖͑Δ
    ࣗલͰ

    View full-size slide

  10. ίετͷ࡟ݮ
    ΞΫηε͕গͳ͍͏ͪ͸ѹ౗తʹίετ͕͍҆
    ͭ·Γখ͘͞ॳΊͯେ͖͘εέʔϧ͠΍͍͢
    ࣮ߦ͞Εͨ࣌ؒʹରͯ͠՝ۚ͞ΕΔ࢓૊ΈʹΑΓɺ
    ࣮֬ʹίετ͸࠷దԽ͞ΕΔɻΠϯϑϥͷো֐͸Ϋϥ΢υͷதʹ͍Δ௒༏लͳ
    ਓୡʹ೚ͤΔ͜ͱͰΠϯγσϯτίετ΋ൃੜͤ͞ͳ͍
    ΞΫηε૿͑ͨͱ͖΋Ϋϥ΢υ΍4BB4ଆͰࣗಈͰεέʔϧͯ͘͠ΕΔͷͰɺ
    ΠϯϑϥΛ૿ڧ͢Δ౒ྗΛϢʔβଆͰߦ͏ඞཁ͕ͳ͍

    View full-size slide

  11. ͭ·Γ
    ΞʔΩςΫνϟϨϕϧͰ͸ߴ඼࣭͔ͭίετΛ࠷దԽͨ͠
    ঢ়ଶͰɺϓϩμΫτͷຊ࣭తͳ։ൃʹϦιʔεΛूத͢Δ
    ͨΊʹαʔόʔϨεͳαʔϏεΛ׆༻ͯ͠࡞Δબ୒Λ͢Δ

    View full-size slide

  12. ECαΠτΛαʔόʔϨεͳߏ੒Ͱ
    ࡞ͬͯΈΔ

    View full-size slide

  13. αʔόʔϨε&$Ͱ࢖͏αʔϏε
    &ίϚʔεʹ͸4IPQJGZΛ࢖͍͍ͨ
    ͓஌ΒͤͳͲͷࠂ஌ʹ͸4IJGUFS)FBEMFTT 8PSE1SFTT
    Λ࢖͍͍ͨ
    ͜ΕΒΛԣஅݕࡧ͢ΔͨΊʹ"MHPMJBΛ࢖͍͍ͨ
    ೝূʹ͸"VUIΛ࢖͍͍ͨ

    View full-size slide

  14. ͜ͷߏ੒ͷ՝୊
    ։ൃऀͷК͕গͳ͍͜ͱʹΑΔσϝϦοτ͸΍͸Γ͋Δ
    ӡ༻໘ɺҾ͖ܧ͗ɺੑೳΛ׆͔ͨ͢ΊͷεΩϧηοτΛͲ͏͚ͭΔ͔ͳͲ
    "MHPMJBͰͷݕࡧΠϯσοΫεʹ4IJGUFS্ͷ
    χϡʔεهࣄͷ৘ใͱ4IPQJGZ্ͷ঎඼৘ใΛ
    ৗʹಉظ͓ͤͯ͘͞ඞཁ͕͋Δ

    View full-size slide

  15. ͜ͷߏ੒ͷ՝୊
    ։ൃऀͷК͕গͳ͍͜ͱʹΑΔσϝϦοτ͸΍͸Γ͋Δ
    ӡ༻໘ɺҾ͖ܧ͗ɺੑೳΛ׆͔ͨ͢ΊͷεΩϧηοτΛͲ͏͚ͭΔ͔ͳͲ
    ೝূͷ࣮૷Λ֤αʔϏε͝ͱʹߦ͏ඞཁ͕͋Δ
    ΠϯςάϨʔγϣϯํ๏͕શ෦ҧ͏ͷͰେม

    View full-size slide

  16. ͜ͷߏ੒ͷ՝୊
    ։ൃऀͷК͕গͳ͍͜ͱʹΑΔσϝϦοτ͸΍͸Γ͋Δ
    ӡ༻໘ɺҾ͖ܧ͗ɺੑೳΛ׆͔ͨ͢ΊͷεΩϧηοτΛͲ͏͚ͭΔ͔ͳͲ
    ֤αʔϏε͝ͱͷ"1*ͷ࢓༷ʹ߹Θͤͯ
    ϑϩϯτΤϯυͱσʔλͷ΍ΓऔΓΛ
    ΍Βͳ͍ͱ͍͚ͳ͍൥ࡶ͞
    αʔϏε͝ͱͷ(SBQI2-ରԠՄ൱ͳͲ

    View full-size slide

  17. Algolia΁ͷݕࡧΠϯσοΫεͷಉظ

    View full-size slide

  18. 4IPQJGZ"MHPMJB
    TIPQJGZͷ8FCϑοΫΛ࢖ͬͯ঎඼ͷ௥Ճɾߋ৽ɾ࡟আͷλΠϛϯάͰ"MHPMJBଆͷର৅σʔ
    λ΋௥Ճɾߋ৽ɾ࡟আΛߦ͏
    ঎඼௥Ճ
    8FCIPPL
    ΠϯσοΫε
    ʹ঎඼௥Ճ
    "1* -BNCEB

    View full-size slide

  19. 4IJGUFS"MHPMJB
    4IJGUFS)FBEMFTTʹΠϯετʔϧ͞Ε͍ͯΔ814FBSDIXJUI"MHPMJBͷ
    "VUPDPNQMFUFػೳΛ༗ޮʹ͢ΔΛ࢖͏

    View full-size slide

  20. AWS AppSyncΛ࢖ͬͯ
    ΠϯςάϨʔγϣϯͷͮ͠Β͞Λղܾ͢Δ

    View full-size slide

  21. AppSync
    "QQ4ZOD
    (SBQI2-ͷόοΫΤϯυΛఏڙ͢ΔϑϧϚ
    ωʔδυαʔϏε
    ༷ʑͳ"1*΍%#ͱ઀ଓͯ͠ɺσʔλΛ
    (SBQI2-εΩʔϚͱϚοϐϯάͤ͞Δ
    ਺ඦສ୆ͷσόΠεͱͷؒͷϦΞϧλΠϜ
    αϒεΫϦϓγϣϯ΋ɺΞϓϦσʔλ΁ͷ
    ΦϑϥΠϯΞΫηε΋Մೳ

    View full-size slide

  22. "QQ4ZODΛ࢖ͬͨ৔߹ͷߏ੒ਤ

    View full-size slide

  23. ঎඼ҰཡΛऔಘ͢ΔεΩʔϚ
    ঎඼σʔλͷ
    εΩʔϚఆٛ
    MJTU1SPEVDUTʹͯ঎඼
    ҰཡΛऔಘ͢Δ

    View full-size slide

  24. MJTU1SPEVDUTͷσʔλιʔεʹ-BNCEBؔ਺Λࢦఆ
    ঎඼ҰཡΛ࣮ࡍʹऔಘͯ͘͠ΔॲཧΛ
    -BNCEBؔ਺Ͱߦ͏ͨΊͷઃఆ

    View full-size slide

  25. ঎඼ҰཡΛऔಘ͢Διʔείʔυ
    4IPQJGZͷ"1*ʹΞΫηεͯ͠
    ঎඼ͷҰཡΛऔಘ

    View full-size slide

  26. ঎඼ҰཡΛऔಘ(SBQI2-ΫΤϦͱͦͷ݁Ռ

    View full-size slide

  27. "MHPMJBͰͷݕࡧ
    ݕࡧ݁Ռͷ
    εΩʔϚఆٛ
    TFBSDIΫΤϦʹͯݕࡧ
    ݁ՌΛऔಘ͢Δ

    View full-size slide

  28. TFBSDIͷσʔλιʔεʹ-BNCEBؔ਺Λࢦఆ
    ݕࡧΫΤϦ͔Β"MJHPMJBͰͷݕࡧ݁ՌΛऔಘ
    ͢ΔॲཧΛ-BNCEBؔ਺Ͱߦ͏ͨΊͷઃఆ

    View full-size slide

  29. ݕࡧ݁ՌΛऔಘ͢Διʔείʔυ
    "MHPMJBͷ"1*ʹΞΫηεͯ͠
    ݕࡧ݁ՌΛऔಘ

    View full-size slide

  30. ݕࡧΛߦ͏(SBQI2-ΫΤϦͱͦͷ݁Ռ

    View full-size slide

  31. &$αΠτΛαʔόʔϨεͳߏ੒Ͱ࡞ΔϝϦοτ
    ঎඼఺਺΍ΞΫηε͕૿େͨ࣌͠ʹͪΌΜͱࡹ͚ΔʢεέʔϥϏϦςΟͷ୲อʣ
    ݸਓ৘ใ΍ΫϨδοτΧʔυ৘ใΛ؅ཧ͢Δ্Ͱͷ࠷௿ݶͷηΩϡϦςΟͷ֬อ
    ͕σϑΥϧτͷঢ়ଶͰ࣮ݱͰ͖Δ
    ϒϩά͸4IJGUFSɺ঎඼ചΔͷ͸4IPQJGZɺͦΕΒΛ"MHPMJBͰԣஅݕࡧͱ͍͏Α͏ʹ
    ಘҙͳྖҬΛͦΕͧΕʹ೚ͤΔ͜ͱ͕ग़དྷΔ
    ΤϯλʔϓϥΠζͳྖҬͰඞཁͳ͜ͱ͸ຬͨ͢͜ͱ͕ग़དྷΔ

    View full-size slide

  32. &$αΠτΛαʔόʔϨεͳߏ੒Ͱ࡞ΔσϝϦοτ
    ֶशίετ͕ߴ͍ɻ֤छαʔϏεͷಛੑ΍ػೳΛ೺Ѳͯ͠ΞʔΩςΫνϟΛઃܭ͢Δ
    ඞཁ͕͋Δ͕ɺ·ͩ·ͩੈͷதʹ͜ΕΒΛҰఆҎ্ͷεΩϧΛ࣋ͬͯग़དྷΔਓ΍ձࣾ
    ͕ѹ౗తʹগͳ͍
    ։ൃऀͷК͕গͳ͍͜ͱʹΑΔσϝϦοτ͸΍͸Γ͋Δ
    ӡ༻໘ɺҾ͖ܧ͗ɺੑೳΛ׆͔ͨ͢ΊͷεΩϧηοτΛͲ͏͚ͭΔ͔ͳͲ

    View full-size slide

  33. ·ͱΊ
    αΫοͱখن໛ͳ&$Λ্ཱ͍ͪ͛ͨͱݴ͏ΑΓ͸ɺ͋Δఔ౓ͷ঎඼఺਺΍ΞΫηε਺
    ͕ݟࠐ·ΕΔΤϯλʔϓϥΠζͳن໛޲͚ʹͳΔ
    ։ൃऀͷК͕গͳ͍͜ͱʹΑΔσϝϦοτ͸΍͸Γ͋Δ
    ӡ༻໘ɺҾ͖ܧ͗ɺੑೳΛ׆͔ͨ͢ΊͷεΩϧηοτΛͲ͏͚ͭΔ͔ͳͲ
    ࠷ॳʹ࡞Δʹ͸ઃܭͳͲͷ޻਺΍ֶशίετͳͲ͸͔͔ΔʹͤΑɻ
    ηΩϡϦςΟϨϕϧ΍ΞΫηε૿Ճʹର͢ΔεέʔϥϏϦςΟɺӡ༻ʹ͔͔Δίετ
    ͷ໘Ͱ͸͔ͳΓߴ඼࣭ʹͳΔ
    ࠷ॳ࡞Δͷ͸গ͠େม͚ͩͲɺޙ͔Βӡ༻΍
    εέʔϧͷ໘Ͱָ͕ग़དྷΔͷ͕αʔόʔϨε&$ͷັྗ

    View full-size slide

  34. serverless.co.jp

    View full-size slide