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

AWSサーバーレス活用による事業の高速化

Nyle Inc.
September 24, 2019

 AWSサーバーレス活用による事業の高速化

2019年9月24日(火)@TECH PLAY SHIBUYA
Serverless 技術勉強会#1〜フルマネージドサービス活用事例〜
ナイル株式会社
モビリティサービス事業部
CTO 梅本 雄二

ナイル株式会社モビリティサービス事業について
https://note.com/nyle_inc/n/n1cda127b3455

Nyle Inc.

September 24, 2019
Tweet

More Decks by Nyle Inc.

Other Decks in Programming

Transcript

  1. ച্ 880%Up! ͔ͩΒࣄۀ੒௕΋ ̍೥ؒͰʜ 0.30% 0.60% 0.90% 1.20% 5 10

    15 20 2018೥02݄ 2018೥05݄ 2018೥08݄ 2018೥11݄ 2019೥02݄ 2019೥05݄ 2019೥08݄ ਃࠐ཰ 210%Up!
  2. *OUSPEVDUJPO ࣗݾ঺հ "84αʔόʔϨε͸೥݄ͷ౦ژϦʔδϣϯͰ։࢝ͷཌ݄ʹສ%-εϚϗ ΞϓϦͷ"1*ͱͯ͠࠾༻͔Βͷ෇͖߹͍ͰɺҎ߱ʹܞΘͬͨεϚϗΞϓϦɺ8&#α ʔϏε͸શͯ"84αʔόʔϨεɻ ࣄۀձࣾͰ΋৽͍͠΋ͷΛੵۃతʹऔΓೖΕΔͨΊ௝͕͠ΒΕΔਓɻ ʙ ۀ຿γεςϜͷ4*FS ʙ εϚϗΞϓϦɾ8&#αʔϏεͷ4*FS

    ʙ ࣄۀձࣾ ໾ׂ ۀछ ݴޠ 1(ελʔτͰ1.·Ͱ ϓϦηʔϧεɾϓϨΠϯάϚωʔδϟ ։ൃ੹೚ऀ݉ϓϩμΫτΦʔφʔ $ɺ+BWBɺ7#OFUɺ1)1౳ /PEFKTɺ3VCZɺ1)1ɺ"OESPJE +BWB ɺ J04 0CKFDUJWF$ɺ4XJGU ౳ "OESPJEɺJ04ɺ$ 9BNBSJO ɺ 41" "OHVMBSKTɺ3JPUKTɺ7VFKT ɺ /PEFKTɺ1ZUIPO౳ ܦྺ ۀ຿ ೋ࣍ड͚Ͱਓ݄ఔ౓ͷ1-͕ ௕͘ɺઍਓ݄ن໛ͷΞʔΩͳͲ΋ ސ٬΁ͷاըఏҊͰड஫͔Β̑ʙ໊ن໛ ͷνʔϜΛʙݸͿΜճ͠ 1(͸೥ؒͰ̍ʙ̎ϲ݄͙Β͍ɻ αʔϏεاըɺ։ൃɺӡӦ·Ͱ؅ঠɻ
  3. *OUSPEVDUJPO φΠϧʹ͍ͭͯ ઃཱɿ೥݄೔ ظ໨  ैۀһ਺ɿ໊ σδλϧϚʔέςΟϯάΛڧΈͱͨ͠ ࣄۀ։ൃΧϯύχʔ ݄ؒ66ສਓͷεϚϗΞϓϦൃݟϝσΟΞ ʮ޷ΈͷϚϯΨʯ͕ແྉͰಡΊΔ

     ωοτͰ͓τΫɺ҆৺ϚΠΧʔϥΠϑ 4&0ΛڧΈͱͨ͠ू٬ࢧԉ☓ίϯςϯπࢧԉ ࠷৽ήʔϜΞϓϦͷϨϏϡʔɾ߈ུ৘ใ εϚϗΞϓϦ޿ࠂӡ༻ύοέʔδ
  4. ޻਺ΛݮΒͤΔ ੑೳઃܭෆཁ ؂ࢹઃܭෆཁɾߏங؆ུԽ ػೳઃܭ؆ུԽՄೳ ։ൃ޻਺ѹॖՄೳ ݁߹ࢼݧ؆ུԽՄೳ αʔόʔϨε͸ ֶशίετ͕௿͍ αʔόʔϨε͸ ো֐ൃੜ཰͕௿͍

    αʔόʔϨε͸ FQJTPEF ͳͥग़དྷͨͷ͔ ֤αʔϏεͷػೳ͸ݶఆత ։ൃݴޠ͸બ୒Մ ࣗ༝౓͕ແ͍෼ྫ֎΋ແ͍ ΞʔΩ͕ܾఆͳΒ໎Θͳ͍ ࣗવʹૄ݁߹ 1'ଗ͑Ε͹૬ੑ໰୊͕ͳ͍ Մ༻ੑ͕ߴ͍ Φʔτεέʔϧͷෛՙ଱ੑ ˞ޙड़ͷ৚݅ɾ੍ݶ༗Γ
  5. ࣄۀձࣾͰ։ൃख๏͕ϓϩτλΠϓܕͷ৔߹ɺ&$ϕʔεͱͷൺֱͰ ̎ʙׂ̏ॳظ։ൃ޻਺΋อक։ൃ޻਺΋ݮΓ·͢ɻ ཁ݅ఆٛ Πϯϑϥ ઃܭ ։ൃ ࢼݧ ޻਺ΛݮΒͤΔ ɹɹػೳཁ݅ɹɹɹɹݮ ɹɹඇػೳཁ݅ɹɹɹݮɹɹɹ඼࣭ɺηΩϡϦςΟ

    ɹɹΠϯϑϥઃܭɹɹݮɹɹɹੑೳઃܭɺ؂ࢹઃܭɺγεςϜߏ੒ ɹɹΠϯϑϥߏஙɹɹݮɹɹɹ04ɺϛυϧ΢ΣΤΞɺωοτϫʔΫ ɹɹΠϯϑϥࢼݧɹɹݮɹɹɹ؂ࢹɺΦʔτεέʔϧ ɹɹσʔλઃܭɹɹɹ૿ɹɹɹ˞ཧ༝͸ޙड़ ɹɹͦͷଞɹɹɹɹɹ૿ݮແ͠ɹɹ˞ݩʑ͕ΞδϟΠϧ΍ϓϩτλΠϓ ɹɹ࣮૷ɹɹɹɹɹɹݮɹɹɹ൥ࡶੑ͕আ֎͞ΕΔɺϦϑΝΫλϦϯάָ͕ ɹɹࢼݧ਺ɹɹɹɹɹ૿ɹɹɹ୯ମ͸෼ࢄ͢Δ͕૯਺มΘΒͣ݁߹͕૿ ɹɹࢼݧظؒɹɹɹɹݮɹɹɹࢼݧ಺༰͕؆қԽɺ·ͨࠔ೉ͳো֐͕େ෯ݮ
  6. αʔόʔϨεͷ޲͖ɾ ෆ޲͖Λཧղ͢Δ ͜Ε͔Β࡞Ζ͏ͱ͍ͯ͠ΔγεςϜ͸αʔόʔϨε͕ద੾ ͔࠷ॳʹ͔ͬ͠Γߟ͑Δɻෆ޲͖ͳྖҬΛແཧʹαʔόʔ ϨεͰ΍Ζ͏ͱ͢Δͱෆ޾ʹͳΔɻ  ΠϕϯτۦಈϚΠΫϩ αʔϏεΞʔΩςΫν ϟΛཧղ͢Δ Ұఆن໛Ҏ্ͰαʔόʔϨεΛબ୒͢ΔͱεςʔτϨεͳ

    ΠϕϯτۦಈϚΠΫϩαʔϏεΞʔΩςΫνϟ͕࠷దղʹ ͳΔɻ  σʔλͷྲྀΕͱϦεΫ Λཧղ͢Δ ΠϕϯτۦಈϚΠΫϩαʔϏεΞʔΩςΫνϟಛ༗ͷσʔ λͷྲྀΕͱϦεΫΛਖ਼͘͠ཧղ͢Δ͜ͱ͕ඞཁɻ  ։ൃελΠϧΛαʔό ʔϨεʹ࠷దԽ͢Δ αʔόʔϨεΛ׆༻͢ΔͨΊʹ͸։ൃελΠϧࣗମΛม͑ Δ͜ͱ΋ඞཁɻ  1PJOU "84αʔόʔϨεͷϙΠϯτ
  7. εςʔτϨε εςʔτϑϧɿ αʔόʔͰΫϥΠΞϯτͷηο γϣϯ৘ใΛอ࣋ εςʔτϨεɿ εςʔτϑϧͰ͸ແ͍͜ͱɻ ΍ΓͱΓ͕৑௕ʹͳΔ͕αʔό ʔ͕ҟͳͬͯ΋ϦΫΤετʹର ͯ͠ಉҰͷճ౴͕୲อɻ αʔόʔϨε㲈εςʔτϨε

    4UBUFMFTT .JDSP4FSWJDF ϚΠΫϩαʔϏε &WFOU%SJWFO"SDIJUFDUVSF ϞϊϦεɿ શػೳΛ୯ҰϚγϯ &$ͱ͔  ϚΠΫϩαʔϏεɿ ػೳ͝ͱʹෳ਺ϚγϯΛࣗ༝ʹ ഑ஔ͠ɺͦΕΛ૊Έ߹ΘͤΔɻ ඞવͱૄ݁߹Ͱอकੑʹ༏Εɺ ো֐ͷ఻೻͸๷͕ΕՄ༻ੑ͕ߴ ͘ɺ֦ுੑɺ࠶ར༻ੑ͕ߴ͍ɻ αʔόʔϨε㲈ϚΠΫϩαʔϏε 1PJOU ΠϕϯτۦಈϚΠΫϩαʔϏεΞʔΩςΫνϟ ΠϕϯτۦಈΞʔΩςΫνϟ ΠϕϯτۦಈΞʔΩςΫνϟɿ ϚΠΫϩαʔϏεؒͷ࿈ܞΛε ςʔτϨεͰΠϕϯτܕͷඇಉ ظʹ࿈ܞ͢Δ΋ͷ OɿNͷ̎૚ϨΠϠʔͷϚΠΫϩ αʔϏεͰ࿈ܞ͢Δ࣌ɺ̍ɿ̍ ͷ3FRVFTU3FTQPOTFΛԿݸ ΋΍ΔͷͰ͸ແ͘ɺ̽ଆͰΠϕ ϯτൃՐͷΈ࣮ࢪɺ̼ଆͰͦΕ Λ؂ࢹ
  8. 1PJOU ΠϕϯτۦಈϚΠΫϩαʔϏεΞʔΩςΫνϟ ݹయతͳϞϊϦεͰεςʔτϑϧ ػೳ" ػೳ% ػೳ# ػೳ& ػೳ$ ػೳ' ػೳ"͕ػೳ%ɺ&ɺ'Λ

    ҙࣝ͢Δີ݁߹ɻ ػೳ"࣮ߦ͔Βػೳ%͕ݺͼ ग़͞Εࣦͯഊ࣌ɺػೳ"ɺ &ɺ'ʹো֐͕఻೻͠΍͍͢ɻ ୯ҰϚγϯ
  9. 1PJOU ΠϕϯτۦಈϚΠΫϩαʔϏεΞʔΩςΫνϟ ϚΠΫϩαʔϏεͰಉظత ػೳ" ػೳ% ػೳ$ ػೳ' ػೳ# ػೳ& αʔϏε"

    αʔϏε# αʔϏε$ αʔϏε% αʔϏε& αʔϏε' αʔϏε"͕αʔϏε%ɺ&ɺ' ͷଘࡏΛҙࣝ͢Δऑ͍݁߹ɻ αʔϏε"಺ͷػೳ"Λ࣮ߦ࣌ ʹ3FRVFTU3FTQPODFܗࣜͰ αʔϏε%Λίʔϧɻ%ͷ໭Γ ஋͕ࣦഊͷ৔߹ʹɺ"ଆͰॲཧ ͕ൃੜɻ&ɺ'ʹ͸఻೻͠ͳ͍ɻ
  10. 1PJOU ΠϕϯτۦಈϚΠΫϩαʔϏεΞʔΩςΫνϟ ΠϕϯτۦಈϚΠΫϩαʔϏε ػೳ" ػೳ% ػೳ# ػೳ$ ػೳ' ػೳ& FWFOU

    FWFOU FWFOU αʔϏε" αʔϏε# αʔϏε$ αʔϏε% αʔϏε& αʔϏε' αʔϏε"͕αʔϏε%ɺ&ɺ'ͷ ଘࡏΛҙࣝ͠ͳ͍ૄ݁߹ɻ αʔϏε"಺ͷػೳ"Λ࣮ߦ࣌ʹ &WFOUͷΈൃՐɻαʔϏε%ଆ͕ Πϕϯτ؂ࢹͰॲཧɻ%ͷॲཧ಺ Ͱࣦഊͯ͠΋"ଆ͸ݕ஌͠ͳ͍ɻ ౰વ&ɺ'ʹ΋఻೻͠ͳ͍ɻ
  11. 1PJOU ΠϕϯτۦಈϚΠΫϩαʔϏεΞʔΩςΫνϟ ΠϕϯτۦಈϚΠΫϩαʔϏεͷ۩ମྫ ड஫ ੍࡞ ϝʔϧ FWFOU -BNCEB ड஫ -BNCEB

    ੍࡞։࢝ -BNCEB ϝʔϧґཔ %ZOBNP%# 4USFBNT %ZOBNP%# ड஫ 4&4 4JNQMF&NBJM4FSWJDF ֎෦αʔϏε #BDL-PH FWFOU 8FCIPPL "1*(BUFXBZ ϝʔϧ 4/4 4JNQMF/PUJGJDBUJPO4FSWJDF -BNCEB ϝʔϧ#PVODF ݕ஌ 4MBDL ॱ࣍ॲཧͰਐΈɺͲ͔͕͜ ίέͯ΋લํ޲ʹ͸ো֐఻೻͠ͳ͍ɻ ಠཱੑ͕ߴ͍ʹલ͸ޙΖؾʹͤͣվमՄೳ
  12. 4*FSͩͱऔΓͮΒ͍બ୒ࢶͰ͕͢֎෦αʔϏεؚΊͯ࠷దղͷఏࣔΛɻෆ޲͖ͳ͜ͱΛແཧʹ΍Βͳ͍ӳஅɻ *'555 Πϑτ ɺ;BQJFS βϐΤϧ ͷΑ͏ͳෳ਺ͷ8&#αʔϏεΛࣗಈԽ͢ΔαʔϏεͷ׆༻΋ɻ ֎෦αʔϏεΛੵۃ࠾༻ 1PJOU ։ൃελΠϧΛαʔόʔϨεʹ࠷దԽ͢Δ ྫ͑͹׬ᘳͳੑೳઃܭΛͯ͠΋ɺ࠷ޙʹόοϑΝͰ̎ഒɺ̏ഒʹ͢Δͷ͕αʔόʔ༗ΓͰͷߏஙɻ

    αʔόʔϨεͰ΍ΔͳΒͻͱ·ͣͬ͘͟ΓͰಈ͔ͯ͠ɺ͔ͦ͜Βੑೳνϡʔχϯάͨ͠΄͏͕ૣ͍ɻ ಉ༷ʹݸʑ͕͔ͬ͠Γಠཱͨ͠ϚΠΫϩαʔϏεʹͳ͍ͬͯΕ͹શମ͕ݻ·͍ͬͯͳͯ͘΋ɺ͋Δػೳ͚ͩ ઌߦ։ൃ͕Մೳɻ૝ఆ͕֎Εա͗Ε͹ख໭Γൃੜ͢Δ͕ͦͷϦεΫΑΓɺ୹ೲظʹग़དྷΔͷ͸େ͖ͳϝϦοτɻ ϦεΫΛڐ༰͠τϥΠˍΤϥʔ -BNCEBɺ%ZOBNP%#͚ͩͰແ͍༷ʑͳαʔόʔϨεͷιϦϡʔγϣϯ͕"84ʹ͸ଘࡏ͢Δɻ Կ͔Λ࣮ݱ͢Δ৔߹ɺࣗલ࣮૷ΑΓઌʹͦΕͬͯԿ͔ͷαʔϏε࢖͑͹࣮ݱग़དྷͳ͍͔Λߟ͑ΔΑ͏ʹɻ ຖ೥Ͳ৽͍͠ιϦϡʔγϣϯ͕υϯυϯ௥Ճ͞Ε͓ͯΓɺطଘιϦϡʔγϣϯͷػೳ֦ு΋ࢭ·Βͳ͍ɻ ޻਺ѹॖͷଞɺ૬ੑ໰୊͔Βͷো֐͕ى͖ʹ͍͘ͷ͸େ͖ͳϝϦοτɻ "84αʔόʔϨειϦϡʔγϣϯΛ࢖͍౗͢ 0,ύλʔϯ
  13. ϓϥοτϑΥʔϜͷ੍ ݶ΍࢓༷ʹҾ͔͔ͬΔ -BNCEBͩͱಉ࣮࣌ߦ਺ʢσϑΥ ϧτʣ΍λΠϜΞ΢τ෼ͷଞɺϦΫΤ ετɾϨεϙϯεͷ.#੍ݶͳͲɻ࢖͏ લʹ੍ݶνΣοΫ͸ඞਢɻ࢓༷໘ͩͱ -BNCEBͷϦτϥΠػߏʹଟ͘ͷਓ͕̍ ճ͸Ҿ͔͔ͬΔɻ  ݶքۙลͷྫ֎͕࠶ݱ

    ΍੍ޚͮ͠Β͍ ྫ͑͹514Ͱੑೳࢼݧ࣌ɺTຖ ͷτϥϯ͸໰୊ແͯ͘΋"7(514Ͱ 514ʙ514ͷΑ͏ͳ೾Λ࡞ͬͨ࣌ ͚ͩτϥϒϧ͕ى͖ͨΓ͢ΔɻݸʑͷϚ ΠΫϩαʔϏε͸"7(514Λॲཧग़ དྷͯ΋ɺͦΕ͕࿈ͳͬͨ࣌ɺ஗Ԇ͕஝ੵ ͞ΕΔͷ͕໽հɻΦʔτεέʔϧ͕བྷΜ ͰΧΦεɻ༨༟Λ࣋ͨͤͨӡ༻Λɻ  1JUGBMMT "84αʔόʔϨεͷ͸·Γॴ
  14. ӡ༻ίετ͕ࢥͬͨ΄ ͲԼ͕Βͳ͍ ن໛͕খ͍͞ͱඅ༻ѹॖ͸ߴ͍͕ɺҰఆ Ҏ্ن໛͸ͪΌΜͱνϡʔχϯά͠ͳ͍ ͱԼ͕Βͳ͍ɻόοϑΝΛ͔ͬ͠Γ࡟Β ͳ͍ͱ͔͑ͬͯѱԽ͢Δ͜ͱ΋ɻ  ۤखͳ͜ͱΛແཧʹ΍ Ζ͏ͱ͢Δ "84αʔόʔϨε͸ॊೈੑʹֻ͚ͨҰ఺

    ಛԽܕͷαʔϏεɻۤखͳ΋ͷʹखΛग़ ͢ͱ͔ͦ͜Β೿ੜͯ͠τϥϒϧ͕େ͖͘ ͳ͍ͬͯ͘ɻݫີͳτϥϯβΫγϣϯ΍ ഉଞ੍ޚɺۀ຿γεςϜɺେྔσʔλू ܭɺେن໛8&#αʔϏεͷϑϩϯτͳͲ ۤखͳ΋ͷ͸ۤखͱͯ͠खΛग़ͯ͠͸͍ ͚ͳ͍ɻ  1JUGBMMT "84αʔόʔϨεͷ͸·Γॴ