Slide 1

Slide 1 text

$9ࣄۀຊ෦ࠤ౻ஐथ αʔόʔϨεγεςϜͷνʔϜ։ൃ

Slide 2

Slide 2 text

͜ͷηογϣϯͰ෼͔Δ͜ͱ ର৅ऀ w αʔόʔϨεͬͯฉ͍ͨ͜ͱ͸͋Δ͚ͲԿ͕ྑ͍ͷ͔ؾʹͳΔํ w "84-BNCEBͱ͔࢖ͬͨ͜ͱ͸͋Δ͚Ͳ࣮ࡍۀ຿Ͱ͸ ͲͷΑ͏ʹνʔϜͰ։ൃ͍ͯ͠Δͷ͔ؾʹͳΔํ ηογϣϯͷΰʔϧ w αʔόʔϨεʹ͍ͭͯ͋Δఔ౓ཧղͰ͖Δ w αʔόʔϨεͳγεςϜͷ։ൃମ੍ͱ։ൃํ๏ΛཧղͰ͖Δ

Slide 3

Slide 3 text

ࣗݾ঺հ ໊લɿࠤ౻ஐथ ෦ॺɿ$9ࣄۀຊ෦ ໾ׂɿαʔόαΠυΤϯδχΞ લ৬ɿ4*FSͷ4&Λ೥ऑ ݱࡏɿ*P5νʔϜ ɹɹɹ8FC"1**P5όοΫΤϯυͷ։ൃ ޷͖ͳ"84αʔϏεɿ-BNCEBɺ$%,

Slide 4

Slide 4 text

͸͡Ίʹ αʔόʔϨεͳγεςϜͱ͸Կͳͷ͔

Slide 5

Slide 5 text

ैདྷͱͷൺֱ ΦϯϓϨ WEBαʔό • ͱͯ΋γϯϓϧWebαʔϏεͷྫ

Slide 6

Slide 6 text

• ͱͯ΋γϯϓϧWebαʔϏεͷྫ ैདྷͱͷൺֱ ΦϯϓϨ WEBαʔό w Ωϟογϡαʔό͸ʁ w $%/͸ʁ w υϝΠϯ͸ʁ w %#αʔό͸ w ϩʔυόϥϯαʔ͸ʁ ຊ֨తͳӡ༻Λߟ͑ΔͳΒʜ

Slide 7

Slide 7 text

ɹɹ AWS Cloud ैདྷͷγεςϜߏ੒ ैདྷͱͷൺֱ "84 Amazon CloudFront Elastic Load Balancing Amazon EC2 Amazon RDS Amazon Simple Storage Service Amazon Route 53

Slide 8

Slide 8 text

ैདྷͱͷൺֱ "84 ैདྷͷγεςϜ Amazon CloudFront Elastic Load Balancing Amazon EC2 Amazon RDS Amazon Simple Storage Service Amazon Route 53 ɹɹ AWS Cloud w αʔόʔͷ؅ཧ͕ඞཁ ੬ऑੑରԠ 04ͷߋ৽ w ଴ػ࣌ؒͷඅ༻͕͔͔Δ

Slide 9

Slide 9 text

αʔόʔϨεͳઃܭ αʔόʔϨεγεςϜ 4JOHMF1BHF"QQMJDBUJPO Amazon CloudFront Amazon Simple Storage Service Amazon Route 53 Amazon API Gateway AWS Lambda Amazon DynamoDB ɹɹ AWS Cloud

Slide 10

Slide 10 text

αʔόʔϨεͳઃܭ αʔόʔϨεγεςϜ 4JOHMF1BHF"QQMJDBUJPO Amazon CloudFront Amazon Simple Storage Service Amazon Route 53 Amazon API Gateway AWS Lambda Amazon DynamoDB w αʔόʔͷ؅ཧ͕ෆཁ 04؅ཧෆཁ αʔόʔͷ ੬ऑੑରԠෆཁ w ࢖༻ͨ͠෼͚ͩ՝ۚ ɹɹ AWS Cloud

Slide 11

Slide 11 text

αʔόʔϨεͱ͸Կ͔ $/$'4FSWFSMFTT8IJUFQBQFSW ʮ8IBUJTTFSWFSMFTTDPNQVUJOH ʯΑΓ ௒ҙ༁ wαʔόʔϨείϯϐϡʔςΟϯάͱ͸ɺαʔόʔ؅ཧΛඞཁͱ͠ͳ͍ΞϓϦ έʔγϣϯΛߏங࣮ͯ͠ߦ͢Δͱ͍͏֓೦ɻΠϕϯτʹԠ࣮ͯ͡ߦɺεέʔϦϯ άɺ՝͕ۚߦΘΕΔɻ wαʔό͕ແ͘ͳΔΘ͚Ͱ΋ӡ༻ΤϯδχΞ͕͍Βͳ͍Θ͚Ͱ΋ͳ͍ɻαʔόʔ ͷ؅ཧʹ͔͔Δ࣌ؒͱϦιʔεΛϓϥοτϑΥʔϜଆʹ࣋ͨͤΔͱ͍͏ߟ͑ํɻ w։ൃऀ͸ΑΓϏδωεϩδοΫʹूதͰ͖Δ wӡ༻ΤϯδχΞ͸ΑΓॏཁͳλεΫʹूதͰ͖Δ IUUQTHJUIVCDPNDODGXHTFSWFSMFTTUSFFNBTUFSXIJUFQBQFSTTFSWFSMFTTPWFSWJFX

Slide 12

Slide 12 text

αʔόʔϨεͱ͸Կ͔ $/$'4FSWFSMFTT8IJUFQBQFSW ʮ8IBUJTTFSWFSMFTTDPNQVUJOH ʯΑΓ ௒ҙ༁ wαʔόʔϨείϯϐϡʔςΟϯάͱ͸ɺαʔόʔ؅ཧΛඞཁͱ͠ͳ͍ΞϓϦ έʔγϣϯΛߏங࣮ͯ͠ߦ͢Δͱ͍͏֓೦ɻΠϕϯτʹԠ࣮ͯ͡ߦɺεέʔϦϯ άɺ՝͕ۚߦΘΕΔɻ wαʔό͕ແ͘ͳΔΘ͚Ͱ΋ӡ༻ΤϯδχΞ͕͍Βͳ͍Θ͚Ͱ΋ͳ͍ɻαʔόʔ ͷ؅ཧʹ͔͔Δ࣌ؒͱϦιʔεΛϓϥοτϑΥʔϜଆʹ࣋ͨͤΔͱ͍͏ߟ͑ํɻ w։ൃऀ͸ΑΓϏδωεϩδοΫʹूதͰ͖Δ wӡ༻ΤϯδχΞ͸ΑΓॏཁͳλεΫʹूதͰ͖Δ IUUQTHJUIVCDPNDODGXHTFSWFSMFTTUSFFNBTUFSXIJUFQBQFSTTFSWFSMFTTPWFSWJFX

Slide 13

Slide 13 text

ݸਓతʹࢥ͏αʔόʔϨεͷར఺ w ΠϕϯτۦಈͳγεςϜઃܭ Amazon S3 AWS Lambda Amazon DynamoDB AWS Lambda Amazon S3 ը૾ΞοϓϩʔυΛ ى఺ʹॲཧΛ࣮ߦ DBͷσʔλ௥ՃΛ ى఺ʹॲཧΛ࣮ߦ

Slide 14

Slide 14 text

ݸਓతʹࢥ͏αʔόʔϨεͷར఺ w ΠϕϯτۦಈͳγεςϜઃܭ ΠϕϯτۦಈͰૄ݁߹ʹγεςϜΛ࡞ΕΔ վम͠΍͍͢γεςϜ͕࡞ΕΔ

Slide 15

Slide 15 text

։ൃྖҬ ࣗ෼ͷ୲౰͢Δ։ൃྖҬ (IoTνʔϜͷ1PJͷྫ)

Slide 16

Slide 16 text

୲౰ྖҬͷΠϝʔδ *P5 όοΫΤϯυ ϑϩϯτΤϯυ ୲౰Օॴ

Slide 17

Slide 17 text

࣮ࡍʹ୲౰͍ͯ͠Δۀ຿ w όοΫΤϯυ։ൃ ϏδωεϩδοΫΛ5ZQF4DSJQUͰ։ൃ AWS Lambda 41"༻ͷ"1*ͱ͔ όονॲཧͱ͔ AWS Lambda Amazon API Gateway Amazon DynamoDB Amazon CloudWatch Amazon DynamoDB

Slide 18

Slide 18 text

࣮ࡍʹ୲౰͍ͯ͠Δۀ຿ w ΞʔΩςΫνϟઃܭ "84$%,ͰΠϯϑϥͷઃܭ΋5ZQF4DSJQUͰߏங AWS Lambda 41"༻ͷ"1*ͱ͔ όονॲཧͱ͔ AWS Lambda Amazon API Gateway Amazon DynamoDB Amazon CloudWatch Amazon DynamoDB

Slide 19

Slide 19 text

ීஈͷۀ຿ ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ w Πϯϑϥɾۀ຿ઃܭ "84ͷΠϯϑϥߏ੒ͷઃܭͱ %#ɾ"1*ͳͲͷۀ຿ઃܭΛ·ͱΊ࣮ͯࢪ w ࣮૷ ઃܭͨ͠಺༰ʹԊͬͯϓϩάϥϜͷ࣮૷ Ϣχοτςετɺ&&ςετΛ࣮૷

Slide 20

Slide 20 text

։ൃͷྲྀΕ ઃܭ ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ "TDJJ%PDͱ1MBOU6.-Ͱγʔέϯεਤ࡞੒ https://dev.classmethod.jp/articles/atom-plantuml-sequence/

Slide 21

Slide 21 text

։ൃͷྲྀΕ ઃܭ "TDJJ%PDͱ1MBOU6.-Ͱγʔέϯεਤ࡞੒ https://dev.classmethod.jp/articles/atom-plantuml-sequence/ ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ

Slide 22

Slide 22 text

։ൃͷྲྀΕ(ઃܭ) 4XBHHFS6*Ͱ"1*ઃఆΛఆٛ https://github.com/swagger-api/swagger-ui ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ

Slide 23

Slide 23 text

։ൃͷྲྀΕ(ઃܭ) %SBXJPͰ"84ͷϦιʔεߏ੒Λઃܭ ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ

Slide 24

Slide 24 text

։ൃͷྲྀΕ(ઃܭϨϏϡʔ) ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ (JU)VCͰ1VMM3FRVFTUͰ૬ޓʹϨϏϡʔ ΞαΠϯ͢Δͱ4MBDL௨஌͕ඈΜͰศར

Slide 25

Slide 25 text

։ൃ؀ڥߏங ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ 5ZQF4DSJQUͰ։ൃ w ZBSOͰύοέʔδ؅ཧ w XFCQBDLͰτϥϯεύΠϧόϯυϧ؅ཧ https://dev.classmethod.jp/articles/deploying-lambda-with-webpack-typescript-cdk/

Slide 26

Slide 26 text

։ൃ؀ڥ४උ w֤छϓϥάΠϯͰίʔυࣗಈ੔ܗ΍ ։ൃޮ཰ͷ޲্ ✦ &4-JOU ✦ 1SFUUJFS ✦ (JU)JTUPSZ ✦ (JU-FOT ✦ -JWF4IBSF 5ZQF4DSJQU74$PEFͰ։ൃ ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ

Slide 27

Slide 27 text

ΫϦʔϯΞʔΩςΫνϟͰ࣮૷ https://dev.classmethod.jp/articles/serverless-testing-using-typescript-and-jest/ ։ൃͷྲྀΕ(࣮૷) ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ

Slide 28

Slide 28 text

։ൃͷྲྀΕ(࣮૷) AWS Lambda Amazon API Gateway Amazon DynamoDB -BNCEB )BOEMFSɿΠϕϯτ+40/ͷύʔε %PNBJOɿυϝΠϯͷ࣮૷ *OGSBɿ%#΁ͷΞΫηε ྫ͑͹ɺσʔλऔಘ͢Δ"1*ͷ৔߹ ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ

Slide 29

Slide 29 text

։ൃͷྲྀΕ(࣮૷) 5ZQF4DSJQUͰ։ൃ ΠϕϯτΛܕఆٛ ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ

Slide 30

Slide 30 text

5ZQF4DSJQUͰ։ൃ ΠϕϯτͷॲཧΛ࣮૷ ։ൃͷྲྀΕ(࣮૷) ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ

Slide 31

Slide 31 text

։ൃͷྲྀΕ(࣮૷) wϢχοτςετ w&&ςετ AWS Lambda Amazon API Gateway Amazon DynamoDB AWS Lambda Amazon API Gateway Amazon DynamoDB ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ

Slide 32

Slide 32 text

։ൃͷྲྀΕ(࣮૷) w&&ςετ &&ςετ͸ϞοΫͰͳ͘؀ڥ͝ͱͷ "84ΞΧ΢ϯτͰ"84αʔϏεؚΊͯߏஙɾ࣮ߦ ɹɹ AWS Cloud ɹɹ AWS Cloud ɹɹ AWS Cloud ։ൃ༻؀ڥ εςʔδϯά ؀ڥ ຊ൪؀ڥ ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ

Slide 33

Slide 33 text

։ൃͷྲྀΕ(࣮૷) ɹɹ AWS Cloud ɹɹ AWS Cloud ɹɹ AWS Cloud ։ൃ༻؀ڥ εςʔδϯά ؀ڥ ຊ൪؀ڥ AWS CDK ಉҰઃఆͰσϓϩΠ ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ

Slide 34

Slide 34 text

ઃܭɾ࣮૷ͷྲྀΕ ઃܭ ઃܭϨϏϡʔ ࣮૷ ࣮૷ϨϏϡʔ (JU)VCͰ1VMM3FRVFTUͰ૬ޓʹϨϏϡʔ ։ൃͷྲྀΕ(࣮૷ϨϏϡʔ)

Slide 35

Slide 35 text

·ͱΊ

Slide 36

Slide 36 text

·ͱΊ w αʔόʔϨεͳγεςϜͱ͸Կͳͷ͔ʁ 'BB4 ɹ։ൃऀ͕։ൃ͚ͩʹूதͰ͖ΔͨΊͷํ๏ ɹΠϕϯτۦಈͰαʔϏεΛૄ݁߹ʹ࡞ΕΔ

Slide 37

Slide 37 text

·ͱΊ w αʔόʔϨεͰͷ։ൃͷྲྀΕ ɹΫϦʔϯΞʔΩςΫνϟͰઃܭɾ࣮૷ɾςετ ɹϚϧνΞΧ΢ϯτͰͷ&&ςετ࣮ߦ

Slide 38

Slide 38 text

͝ࢹௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ νϟϯωϧొ࿥͓ئ͍͠·͢ɻ Ϋϥεϝιουגࣜձࣾ ެࣜYoutubeνϟϯωϧ