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

JAWS DAYS 2020 コロナ速報リリースの舞台裏 〜サーバレスなら5日で十分!〜

JAWS DAYS 2020 コロナ速報リリースの舞台裏 〜サーバレスなら5日で十分!〜

Hiroki Uemoto

March 28, 2020
Tweet

More Decks by Hiroki Uemoto

Other Decks in Programming

Transcript

  1. ίϩφ଎ใϦϦʔεͷ෣୆ཪ
    αʔόϨεͳΒ೔Ͱे෼

    View full-size slide

  2. ࣗݾ঺հ
    +9௨৴ࣾͷ২ຊͱਃ͠·͢
    ɾژ౎ͰϓϥΠϕʔτ4/4Λ։ൃ͢ΔελʔτΞοϓͰ$50
    ɾͦͷޙϑϦʔϥϯε
    ɾ೶ۀܥελʔτΞοϓͰ5FDI-FBE
    ɾ೥݄ʙݱࡏ+9௨৴ࣾͰ&OHJOFFSJOH.BOBHFS
    ɾϐʔϓϧϚωδϝϯτΛத৺ʹΤϯδχΞ૊৫ͷ੒௕ʹ੹೚Λ
    ͍࣋ͬͯ·͢ɻ

    View full-size slide

  3. Agenda
    +9௨৴ࣾͷ঺հ
    ৽ܕഏԌಛઃϖʔδΛ࡞Γ·ͨ͠ ೔Ͱ
    αʔόʔϨε࠾༻ͯ͠Α͔ͬͨΑ
    ։ൃͰ޻෉ͨ͠ͱ͜Ζ
    ϦϦʔεޙͷ൓ڹ
    1,
    2,
    3,
    4,
    5,
    ·ͱΊ
    6,

    View full-size slide

  4. w ࣄۀɾαʔϏε
    w ΤϯδχΞνʔϜͱจԽ
    +9௨৴ࣾͷ঺հ
    01

    View full-size slide

  5. JX௨৴ࣾͷϏδϣϯ
    ςΫϊϩδʔͰ
    ʰࠓى͖͍ͯΔ͜ͱʱΛ
    ໌Β͔ʹ͢Δใಓػؔ

    View full-size slide

  6. αʔϏεɾϓϩμΫτ

    View full-size slide

  7. ٕज़ελοΫ
    w 4FSWFSMFTT"SDIJUFDUVSFɹ˞ޙ΄Ͳ঺հ
    w 41"ʢ3FBDU 7VFKT 5ZQF4DSJQU FUDʜʣ
    w 1ZUIPOʢ%KBOHP 'BTU"1* FUDʜʣ
    w .BDIJOF-FBSOJOHʢ$// /-1
    FUDʜʣ
    w ΞδϟΠϧʢεΫϥϜ Ϟϒϓϩ FUDʜʣ
    w 98JSFʢ౷߹৘ใج൫ʣ
    w ֤छ"1*
    w σʔλج൫
    w FUDʜ

    View full-size slide

  8. ٕज़ελοΫʢཁ໿ʣ
    "84͸&$4 -BNCEB 3%4ͳͲΛΑ͘࢖͍ͬͯ·͢
    "84 ݴޠɾ'8ͳͲ

    View full-size slide

  9. ੍౓ͱจԽ
    w ϑϨοΫεɾϦϞʔτʢ੍ݶͳ͠ʣ
    w εΩϧΞοϓΛࢧ͑Δ੍౓
    w ۀ຿࣌ؒதͷษڧձࢀՃ0,
    w ษڧձɾΧϯϑΝϨϯεࢀՃඅิॿ
    w ॻ੶ɾ*%&ߪೖิॿ
    w ʮֶࣗࣗशʯʹۈ͠Έ ʮ࢓ࣄʹ׆͔͢ʯ
    ࣄ͕ࣗવʹͰ͖ΔจԽ

    View full-size slide

  10. ৽ܕഏԌಛઃϖʔδΛ
    ͭ͘Γ·ͨ͠
    ೔Ͱ
    02

    View full-size slide

  11. ৽ܕഏԌʹؔ͢ΔಛઃϖʔδΛͭ͘Γ·ͨ͠
    ʮ৽ܕഏԌʯಛઃϖʔδΛ
    ϦϦʔε

    View full-size slide

  12. ৽ܕഏԌʹؔ͢ΔಛઃϖʔδΛͭ͘Γ·ͨ͠
    4NBSU/FXT༷ͱ"1*࿈ܞ

    View full-size slide

  13. 2, ৽ܕഏԌʹؔ͢ΔಛઃϖʔδΛͭ͘Γ·ͨ͠
    ೔Ͱ࡞ͬͨ

    View full-size slide

  14. 2, ৽ܕഏԌʹؔ͢ΔಛઃϖʔδΛͭ͘Γ·ͨ͠
    ೔Ͱ࡞ͬͨΜͰ͢ʂ
    ɾඞཁͱ͞Ε͍ͯΔํʹ͙͢ಧ͚͍ͨࢥ͍͔Β
    ɾฐࣾͷWBMVFͰ͋Δ'0$V4 'VUVSFPSJFOUFE 0XOFSTIJQ $VTUPNFS
    pSTU 4QFFE

    ɾ'0$V4ͷ$VTUPNFSpSTU 4QFFEΛҙࣝ͠·ͨ͠
    ɾαʔόʔϨεΞʔΩςΫνϟ࠾༻͠·ͨ͠

    View full-size slide

  15. αʔόʔϨε࠾༻ͯ͠Α͔ͬͨΑ
    03

    View full-size slide

  16. 3, αʔόʔϨε࠾༻ͯ͠Α͔ͬͨΑ
    ɾجຊ͸"-#&$43%4ͷߏ଄
    ɾଞʹ΋ϚωʔδυαʔϏε͸৭ʑ࢖ͬͯΔ
    ɾ࣌ʑαʔόϨε
    #FGPSF

    View full-size slide

  17. 3, αʔόʔϨε࠾༻ͯ͠Α͔ͬͨΑ
    ɾ"1*(BUFXBZ-BNCEB%%#
    ɾ৘ใऩू෦෼͸ฐࣾͷఏڙ͢Δ98JSF"1*
    ɾՔಇதͷαʔϏεʹ͸มߋͳ͠
    ɾ৽͘͠ॻ͘ίʔυ΋࠷খݶʹ
    ɾࣺͯ΍͘͢
    ɾ$MPVE'PSNBUJPOͷTUBDL͝ͱ࡟আ
    ɾطଘͷ98JSF ౷߹৘ใج൫
    ͱ͸ૄ݁߹ʹ
    "GUFS

    View full-size slide

  18. 3, αʔόʔϨε࠾༻ͯ͠Α͔ͬͨΑ
    αʔόʔϨεԿ͕Α͔ͬͨͷ
    ɾ͍҆ʂ
    ɾ-BNCEB͸ैྔ՝ۚ
    ɾίϯϐϡʔςΟϯάϦιʔεΛৗʹىಈ͍ͯ͠Δඞཁ͕ͳ͍
    ɾ'SFFUJFS΋͋Δ
    ɾ%ZOBNP%#ͷPOEFNBOEDBQBDJUZͰैྔ՝ۚ
    ɾ্ཱͪ͛΍͍͢ɺࣺͯ΍͍͢

    View full-size slide

  19. 3, αʔόʔϨε࠾༻ͯ͠Α͔ͬͨΑ
    4FSWFSMFTT'SBNFXPSL࠾༻ͨ͠
    ɾαʔόʔϨεΞʔΩςΫνϟΛ؆୯ʹߏஙͰ͖Δ044ͷϑϨʔϜ
    ϫʔΫ
    ɾฐࣾBQFYϝΠϯͰ࢖ͬͯͨ ϝϯςऴΘͬͨʜ

    ɾσϓϩΠ͕؆୯
    ɾTMTEFQMPZ

    View full-size slide

  20. 3, αʔόʔϨε࠾༻ͯ͠Α͔ͬͨΑ
    4FSWFSMFTT'SBNFXPSLྑ͔ͬͨ
    ɾTFSWFSMFTTZNMͰશߏ੒͕؆୯ʹݟΕΔ
    ɾ$MPVE'PSNBUJPOͱͷ࿈ܞ΋༰қ
    ɾυϝΠϯͷઃఆߦͰऴΘͬͨ
    ɾ˞ޙͰৄ͘͠
    ɾطଘ71$ 4FDVSJUZ(SPVQΛద༻͢Δઃఆ΋਺ߦͰ
    ɾࠓͷॴBQFYˠTMT΁ͷҠߦΛ༧ఆ $%,ௐࠪத

    View full-size slide

  21. ര଎։ൃͷͨΊͷ޻෉
    04
    GSPOUFOE CBDLFOEͦΕͧΕ

    View full-size slide

  22. 4, ര଎։ൃͷͨΊͷ޻෉
    ര଎։ൃͷͨΊͷ޻෉ GSPOUFOE

    View full-size slide

  23. 4, ര଎։ൃͷͨΊͷ޻෉
    ര଎Ͱ։ൃ͢ΔͨΊʹ޻෉ͨ͜͠ͱ GSPOUFOE

    ɾDPNQPOFOUΛ׬શʹ੾Γ཭ͨ͠
    ɾࣺͯ΍͘͢Λҙࣝͯ͠ॻ͍ͨ
    ɾ5ZQF4DSJQU͋ͬͯΑ͔ͬͨ
    ɾܕ͸ਖ਼ٛ
    ɾ'"45"-&35͸qPXˠ5ZQF4DSJQUʹ೥຤ʹҠߦ
    ɾਓख͕଍Γͳ͍
    ɾGSPOUFOEॻ͖ͳΕͯͳ͍ਓؒ΋࡞ۀʹೖͬͨ
    ɾࡶʹৼΒΕͨλεΫ΋ิ׬͕ޮ͖·ͬͯ͘ॻ͚ͪΌͬͨ

    View full-size slide

  24. 4, ര଎։ൃͷͨΊͷ޻෉
    ര଎։ൃͷͨΊͷ޻෉ CBDLFOE

    View full-size slide

  25. 4, ര଎։ൃͷͨΊͷ޻෉
    ര଎Ͱ։ൃ͢ΔͨΊʹ޻෉ͨ͜͠ͱ CBDLFOE

    ɾօͷʮखʹೃછΜͩʯϑϨʔϜϫʔΫΛબ୒
    ɾ'MBTLͩͬͨ
    ɾΤϯυϙΠϯτΛ੹຿͝ͱʹ෼཭ͯ͠ઃܭ
    ɾ3FBE8SJUF͝ͱʹ΋෼ׂ
    ɾ֤ΤϯυϙΠϯτΛCMVFQSJOUͰϑΝΠϧ୯Ґʹ෼ׂ
    ɾ࠷ॳͷઃܭͱ੔͑ʹ೔ఔ౓͔͚ͨ
    ɾ୲౰ऀ͝ͱʹ࡞ۀ͕ਐΊΒΕɺDPOqJDU͠ͳ͍Α͏ʹ
    ɾεϜʔζʹ࡞ۀਐΊΒΕͨ

    View full-size slide

  26. 4, ര଎։ൃͷͨΊͷ޻෉
    ര଎Ͱ։ൃ͢ΔͨΊʹ޻෉ͨ͜͠ͱ CBDLFOE

    ɾMPDBMͰ͸୯७ͳ'MBTL"QQͱͯ͠։ൃͰ͖ΔΑ͏ʹ
    ɾEPDLFSDPNQPTFVQEͰશ্ཱ͕͕ͯͪΔΑ͏ʹ੔උ
    ɾσϓϩΠͷͨΊͷ4FSWFSMFTT'SBNFXPSL΋ؚΊͯ
    ɾσϓϩΠ͸(JU-BC$*ͰࣗಈԽ
    ɾΤϥʔτϥοΩϯά͸࠷௿ݶ4&/53:Ͱ

    View full-size slide

  27. 4, ര଎։ൃͷͨΊͷ޻෉
    ര଎Ͱ։ൃ͢ΔͨΊʹ޻෉ͨ͜͠ͱ CBDLFOE

    ɾ4FSWFSMFTT'SBNFXPSLͰ'MBTL"QQΛσϓϩΠ
    ɾ'MBTL"QQ͕-BNCEB্Ͱ͸TFSWFSMFTTXTHJͰಈ͘
    ɾ84(*ͳ"QQΛͦͷ··-BNCEBͰ࣮ߦͰ͖Δ
    ɾTFSWFSMFTTQZUIPOSFRVJSFNFOUTͰґଘϥΠϒϥϦͷղܾ
    ɾTFSWFSMFTTEPNBJONBOBHFSͰ3PVUFͷϨίʔυɺ"1*(BUFXBZ
    ͷΧελϜυϝΠϯ·ΘΓΛઃఆ
    ɾߦͰઃఆͰ͖ͨ

    View full-size slide

  28. 4, ര଎։ൃͷͨΊͷ޻෉
    ര଎։ൃͷͨΊͷ޻෉ ֎෦޲͚"1*

    View full-size slide

  29. 4, ര଎։ൃͷͨΊͷ޻෉
    ര଎Ͱ։ൃ͢ΔͨΊʹ޻෉ͨ͜͠ͱ ֎෦޲͚"1*

    ɾ҆શʹɺര଎Ͱ֎෦޲͚"1*Λ࡞Δඞཁ͕͋ͬͨ
    ɾࣗࣾαʔϏε޲͚"1*ͱ͸ผʹ"1*(BUFXBZΛཱͯͨ
    ɾΠϯϑϥίετ্ཱ͍҆ͪ͛΍͍͔͢Β
    ɾ"1*,FZͰͷೝূΛ͔͚Δඞཁ͕͋ͬͨ
    ɾ"1*(BUFXBZͷఏڙ͢Δ"1*,FZΛ࢖ͬͨ
    ɾΫΥʔλ εϩοτϦϯάΛ؆୯ͳઃఆ͚ͩͰ࣮ݱͰ͖Δ
    ɾര଎Ͱ࣮ݱͰ͖ͨ

    View full-size slide

  30. ϦϦʔεޙͷ൓ڹ
    05

    View full-size slide

  31. 5, ϦϦʔεޙͷ൓ڹ
    ൓ڹ͍͖ͨͩ·ͨ͠
    ɾૣ଎ചΕ·ͨ͠
    ɾΤϯδχΞͷ౒ྗ͕͙͢ʹച্ʹͭͳ͕
    Δεϐʔυײྑ͔ͬͨ

    View full-size slide

  32. 5, ϦϦʔεޙͷ൓ڹ
    ɾ༧ఆ௨ΓϦϦʔεͰ͖ͨ
    ɾେ͖ͳো֐΋ࠓͷॴແ͍
    ɾطଘαʔϏεʹӨڹग़ͳ͔ͬͨ
    ͍͍ײ͡ʹϦϦʔεͰ͖ͨ

    View full-size slide

  33. 6, ·ͱΊ
    ɾαʔόʔϨεṶ͔Δ খฒײ

    ɾ࠷ॳʹπʔϧ·ΘΓ੔͑Α͏
    ɾ࣌ؒͳ͍ͱ͖ͦ͜ઃܭ
    ɾ͍͟ͱ͍͏࣌ʹര଎ͰԠ͑ΒΕΔΑ͏ʹ
    ֶΜͰ͓͜͏

    View full-size slide

  34. 6, ·ͱΊ
    ɾҰॹʹര଎։ൃ͠·ͤΜ͔ʁ
    ɾػցֶश͓ΑͼαʔόʔαΠυืूத
    IUUQTKYQSFTTOFUSFDSVJU
    ɾ΋ͬͱ஌Γ͍ͨํ͸ٕज़ϒϩά΋
    IUUQTUFDIKYQSFTTOFU
    8&"3&)*3*/(

    View full-size slide