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

Rails×Serverless

 Rails×Serverless

Rails x Serverless〜Rails x Firebase x Lambdaでサーバーサイドを構築している話〜

Yusuke Yasuo

November 06, 2018
Tweet

More Decks by Yusuke Yasuo

Other Decks in Technology

Transcript

  1. 3BJMTº4FSWFSMFTT 3BJMTº'JSFCBTFº-BNCEBͰαʔόʔαΠυΛ ߏங͍ͯ͠Δ࿩ ҆ඌ༑༎!SFEJTIגࣜձࣾ ʲγϡʔϚΠʳ5FDI-FBE&OHJOFFS͔Β࠷৽ٕज़Λֶ΂ʂ3VCZPO3BJMTฤ

  2. "HFOEB w ࣗݾ঺հ w SFEJTIͷόοΫΤϯυͷߏ੒ w 3BJMTɺ'JSFCBTFಋೖͷܦҢʙ࢖͍ํ w "84-BNCEBಋೖͷܦҢʙ࢖͍ํ w

    ·ͱΊ
  3. ࣗݾ঺հ w ҆ඌ༑༎ w ॴଐ w SFEJTIגࣜձࣾϦʔυΤϯδχΞ w ୲౰ w

    ϑϧελοΫ w ܦྺ w /55ίϛϡχέʔγϣϯˠίϩϓϥ
  4. ϢʔβʔΞϓϦ

  5. ϨετϥϯΞϓϦ

  6. ϨετϥϯγεςϜ

  7. 3BJMTɺ'JSFCBTFಋೖͷܦҢ w ೥݄ʹSFEJTIδϣΠϯ࣌ͷঢ়گ w Ϩετϥϯෳ਺ళฮͱͷܖ໿͚͕ͩ͋Γɺϓϩμ Ϋτ͸օແ w ϢʔβʔΞϓϦɺϨετϥϯΞϓϦͷͭͷ৽نΞ ϓϦΛϲ݄ͷ݄ʹϦϦʔε͢Δඞཁ͕͋ͬͨ

  8. ՝୊ w εέδϡʔϧ͕λΠτ w όοΫΤϯυͷεΩϧηοτ͕όϥόϥ w νϟοτͷܦݧ͸օແ

  9. ղܾํ๏ w "1*͸։ൃεϐʔυΛॏࢹͯ͠3BJMTΛ࠾༻ w ๛෋ͳυΩϡϝϯτͰΩϟονΞοϓ͠΍͍͢ w ݁߹ςετͷॻ͖΍͢͞ w ศརͳ(FN w

    νϟοτ͸ϦΞϧλΠϜੑ͕ٻΊΒΕΔͨΊ 'JSFCBTF w ஌ࣝෆཁ w 3BJMTଆͷطଘͷೝূͱͷ࿈ܞ΋؆୯
  10. 'JSFCBTFͱ͸ w ೥ʹϦϦʔε͞Εͨ.#BBT w ೥ʹ(PPHMF͕ങऩ w 3FBMUJNF%BUBCBTFʢ$MPVE'JSFTUPSFʣ͕࠷େͷಛ௃

  11. 3FBMUJNF%BUBCBTFͱ͸ w ೚ҙͷ+40/ΛπϦʔঢ়ʹอ࣋Ͱ͖Δॊೈͳ/P42- w σʔλ͸͢΂ͯͷΫϥΠΞϯτʹΘͨͬͯϦΞϧλΠϜͰಉظ w ϞόΠϧ୺຤΍΢Σϒϒϥ΢β͔Β௚઀ΞΫηεՄೳ

  12. σʔλͷॻ͖ࠐΈ w 'JSFCBTF4%,ΛΞϓϦʹ૊ΈࠐΜͰ w ॻ͖ࠐΈઌͷύεͱॻ͖ࠐΉ+40/Λࢦఆͯ͠ॻ͖ ࠐΉ͚ͩ

  13. σʔλͷಡΈࠐΈ w ಡΈࠐΈઌͷύεͱλΠϛϯάΛࢦఆ͢Δ

  14. 3BJMTͱͷϋΠϒϦου։ൃ w ΧελϜೝূ w 'JSFCBTF"VUIFOUJDBUJPOͷҰͭ w ଞʹ͸(PPHMFɺ'BDFCPPLɺ5XJUUFSɺి࿩൪ ߸ɺϝʔϧΞυϨεͳͲ͕͋Δ

  15. ೝূͷϑϩʔ ΧελϜτʔΫϯͷϦΫΤετ ඞཁ৘ใΛjwtม׵ͨ͠ΧελϜτʔΫϯΛฦ٫ ΧελϜτʔΫϯͰϩάΠϯ ϩάΠϯ੒ޭ ௚઀ϦΞϧλΠϜσʔλϕʔεʹΞΫηε

  16. શମΠϝʔδ API νϟοτ Push௨஌

  17. 'JSFCBTFͷϝϦοτ w Ձ֨ w 1SPEVDUJPOͰ࢖ͬͯ΋ԁ݄͍͔ͳ͍ʂ w (PPHMF$MPVE'VODUJPOTͱͷ࿈ܞ w ΠϕϯτΛτϦΨʔͱ͢Δ w

    ؔ਺ͷ࣮ߦ͸ඇಉظ
  18. 'JSFCBTFσϝϦοτ w σʔλͷϑΟϧλϦϯά w σʔλͷमਖ਼͕ࠔ೉

  19. -BNCEBͷಋೖͷܦҢ w ೚ҙͷλΠϛϯάͰϨετϥϯͷେྔͷϝϯόʔ ʹҰ੪ʹࢪࡦʢνϟοτɺϝʔϧɺ1VTI௨஌౳ʣ ΛૹΓ͍ͨ w ࠓޙͷ͜ͱ΋ߟྀ͠ɺ਺ສਓʙ਺ेສਓ΁Ұ੪ૹ ৴͢Δ͜ͱ΋ߟྀ͢Δඞཁ͕͋ͬͨ ... ...

    ...
  20. ՝୊ w 8FCαʔόʔͱؔ܎ͳ͘εέʔϧͰ͖ΔΑ͏ʹ͠ ͍ͨ w ෳ਺୆ͷ3BJMT؀ڥ΁ͷόονͷಋೖ͕໘౗ w 'JSFCBTF΍4FOE(SJEͳͲଞαʔϏεͱͷ࿈ܞՕ ॴ͸"1*ͱ͸ૄ݁߹ʹ͍ͨ͠

  21. ղܾํ๏ w "84-BNCEBΛ࠾༻ w $MPVE8BUDIɺ%ZOBNP%#ɺ424ɺ"1* (BUFXBZͳͲ༷ʑͳτϦΨʔͰ࣮ߦՄೳ w "1*ͱ͸ແؔ܎ʹεέʔϧΞ΢τ͕Մೳ w ༻్ຖʹ࠷খߏ੒Ͱ࣮૷Ͱ͖ΔͨΊɺૄ݁߹ͳ

    γεςϜʹͰ͖Δ
  22. "84-BNCEBͱ͸ w αʔόʔͷ؅ཧෆཁͰίʔυΛ࣮ߦͰ͖ΔαʔϏ ε w ࢖༻ͨ࣌ؒ͠ʹରͯ͠ͷࢧ෷͍ w /PEFKTɺ+BWBɺ$ɺ(P͓Αͼ1ZUIPOͰهड़ Մೳ

  23. -BNCEBߏ੒ ࢪࡦσʔλΛ อଘ ࣌ݶࣜͰ ൃՐ ഑৴͢ΔࢪࡦΛ Ωϡʔʹ ഑৴ ... ...

  24. -BNCEBͷϝϦοτ w ৭ʑͳݴޠ͕࢖ָ͍͑ͯ͠ w (Pɺ/PEFKTɺ+BWBɺ$ɺ1ZUIPO w σϓϩΠπʔϧͷॆ࣮ w "QFYɺ4FSWFSMFTT'SBNFXPSL w

    Ձ֨ w ࣮ߦ࣌ؒͰͷ՝ۚͷͨΊɺ&$ΛཱͯΔΑΓѹ౗తʹ ͍҆ w ࣮૷ɺվमɺσϓϩΠͷίετ͕௿͍
  25. -BNCEBͷσϝϦοτ w -BNCEB΍ؔ࿈αʔϏεʢ%ZOBNP%#౳ʣͷ੍໿ ৚݅ w ࢥΘ͵ϦτϥΠ͕ൃੜ͠ɺಉ͡ϝοηʔδ͕਺෼͓ ͖ʹ௨Ҏ্ૹ৴͞ΕΫϨʔϜʹͳͬͨ͜ͱ΋ʜ w ݁߹ςετͷ͠ਏ͞ w

    ૿͑Δͱ؅ཧ͕൥ࡶʹͳΓ͕ͪ
  26. ·ͱΊ w SFEJTIͷόοΫΤϯυͷߏ੒ w γεςϜͷத֩Λ୲͏"1*͸3BJMT w ϦΞϧλΠϜੑ͕ٻΊΒΕΔ෦෼͸'JSFCBTF w पลػೳ͸-BNCEB w

    શ෦3BJMTͰղܾͤͣɺదࡐదॴ͕େ੾
  27. ࠷ޙʹ w SFEJTIͰ͸෭ۀʢຊۀʣΤϯδχΞ΋ืू͍ͯ͠ ·͢ʂ w 3BJMTº4FSWFSMFTTͰ։ൃ͕ߦ͍ํ͸ੋඇ͓੠ֻ ͚͍ͩ͘͞ʂ