Slide 1

Slide 1 text

©Fusic Co., Ltd. 1 ࣄྫ͔ΒΈΔαʔ バ ʔϨεͷޮՌ 2024.05.25 @seike460 Serverless Meetup Osaka #01:begin

Slide 2

Slide 2 text

©Fusic Co., Ltd. 2 ਗ਼Ո ࢙࿠ @seike460 AWS Community Builder Serverless Serverless Meetup Fukuoka ίϛϡχςΟ Fukuoka.php Fukuoka.go JAWS-UG Fukuoka Cloudflare Meetup Fukuoka JP_Stripes Fukuoka ࣗݾ঺հ ͸͡Ίʹ גࣜձࣾFusic ϓϦϯγύϧΤϯδχΞ/ΤόϯδΣϦετ

Slide 3

Slide 3 text

©Fusic Co., Ltd. 3 CONTENTS ໨࣍ 1. αʔόʔϨεΒ͠͞ΛৼΓฦΔ 2. ࣄྫ1ɿΞΫηεͷ෼அ 3. ࣄྫ2ɿ໾ׂΛ෼͚ͨαΠτ 4. ࣄྫ3ɿSaaSͱͷ࿈ܞ 5. ࣄྫ͔ΒৼΓฦΔαʔόʔϨε 6. ·ͱΊ

Slide 4

Slide 4 text

©Fusic Co., Ltd. 4 αʔόʔϨεΒ͠͞ΛৼΓฦΔ 1

Slide 5

Slide 5 text

©Fusic Co., Ltd. 5 αʔόʔϨεͱ͸ͳΜͳͷ͔ 言 Cloud Native Computing Foundation CNCF Serverless Whitepaper v 1 . 0 行 https://github.com/cncf/wg-serverless/tree/master/whitepapers/serverless-overview

Slide 6

Slide 6 text

©Fusic Co., Ltd. 6 αʔόʔϨεͷ֓೦ΛऔΓೖΕΔϝϦοτ͸ଟ਺ 入 入 入 大 小 用 行

Slide 7

Slide 7 text

©Fusic Co., Ltd. 7 αʔόϨεΒ͠͞ αʔόʔϨεͱ͸֓೦Ͱ͋Γʮ͜ͷαʔϏε͸׬શʹαʔόʔϨεͰ͋Δʯͱ அݴͰ͖ΔαʔϏε͸࣮͸೉͍͠ͷͰ͸ͳ͍͔ͱߟ͍͑ͯ·͢ αʔόʔϨεͰ͋ΔɺαʔόʔϨεͰ͸ͳ͍ͱ͍͏ٞ࿦ࣗମɺ ࣮͸ߦ͏ඞཁ͕ͳ͍ͷ͔΋͠Εͳ͍ େࣄͳͷ͸αʔόʔϨεͱ͍͏֓೦ͷཧղ౓ΛਂΊ ʮαʔόʔϨεΒ͠͞ͷਖ਼ମΛ௫Ή͜ͱʯ

Slide 8

Slide 8 text

©Fusic Co., Ltd. 8 αʔόʔϨεΒ͠͞ͷਖ਼ମʁ αʔόʔϨεΩϟογϡͰ༗໊ͳmomentoʹΑΔදݱ 1. ϓϩϏδϣϯෆཁɺ؅ཧෆཁ 2. ࠷௿ྉۚͷͳ͍࢖ͬͨ෼͚ͩͷࢧ෷͍ 3. 1 ͭͷ API ݺͼग़͠Ͱར༻Մೳ 4. ܭըఀࢭ͕ͳ͍ 5. Πϯελϯε͕ແ͍ αʔόʔϨεͷಛ௃ଊ͓͑ͯΓڌΓॴʹͯ͠΋ྑ͍ͱࢥ͏͕ ݸਓతͳҙࣝͱͯ͠͸ʮ౴͑ͩͱߟ͑Δඞཁ͸ͳ͍ʯ αʔόʔϨεΒ͍͠αʔϏε΋Ξοϓσʔτ͞Ε͍ͯ͘͠ɺ ৽͍֓͠೦ͷ௥ՃʹΑΓαʔόϨεΒ͠͞͸มΘ͍ͬͯ͘

Slide 9

Slide 9 text

©Fusic Co., Ltd. 9 αʔόʔϨεΒ͋͘͠Ζ͏ͱ͢Δ ͢΂͕ͯαʔόʔϨεͰͳͯ͘΋ྑ͍ αʔόʔϨεͷ֓೦ΛऔΓೖΕΔ͜ͱͰ՝୊ղܾ͕ग़དྷͨɺ ՝୊Λղܾ͍ͯͨ͠ࣄྫʹ͍͓ͭͯ࿩͠Α͏ͱࢥ͍·͢

Slide 10

Slide 10 text

©Fusic Co., Ltd. 10 ࣄྫ1ɿΞΫηεͷ෼அ 2

Slide 11

Slide 11 text

©Fusic Co., Ltd. 11 ඇৗʹγϯϓϧͳWebγεςϜ 一見 Web 用 一方 日 CPU EC 2 + RDS 行

Slide 12

Slide 12 text

©Fusic Co., Ltd. 12 ࿈ܞઌ͔Β৘ใΛड৴ͯ͠දࣔ 示 行 行 日 自 API 口 EC 2

Slide 13

Slide 13 text

©Fusic Co., Ltd. 13 αʔόʔϨεͳAPIΛ௥Ճ AWS API Gateway -> AWS Lambda -> S 3 言 JSON EC 2 S 3 用 行

Slide 14

Slide 14 text

©Fusic Co., Ltd. 14 ࿈ܞݩͷϦϓϨʔε 言 用 (200 )

Slide 15

Slide 15 text

©Fusic Co., Ltd. 15 ࣄྫ2ɿ໾ׂΛ෼͚ͨαΠτ 3

Slide 16

Slide 16 text

©Fusic Co., Ltd. 16 ղੳج൫ͱͯ͠ͷαʔόʔϨεαΠτ CPU

Slide 17

Slide 17 text

©Fusic Co., Ltd. 17 αʔόʔϨεαΠτͱͯ͠ͷ໾ׂ AWS Amplify 用 GraphQL 用 大 Amazon S 3 AWS Elemental MediaConvert 用 Web 行

Slide 18

Slide 18 text

©Fusic Co., Ltd. 18 ղੳج൫ͱͯ͠ͷ໾ׂ AWS Batch 行 大 工 行 Amazon ECR AWS Batch AWS Step Functions

Slide 19

Slide 19 text

©Fusic Co., Ltd. 19 αʔόʔϨεͳϫʔΫϑϩʔ AWS Lambda AWS Step Functions AWS Batch 用 Web 用 示 JSON 用 一 AWS Step Functions

Slide 20

Slide 20 text

©Fusic Co., Ltd. 20 ඞཁͳ࣌ʹඞཁͳ෼͚ͩϦιʔεར༻ CPU Web CPU 用 用 大

Slide 21

Slide 21 text

©Fusic Co., Ltd. 21 ࣄྫ3ɿSaaSͱͷ࿈ܞ 4

Slide 22

Slide 22 text

©Fusic Co., Ltd. 22 SaaSͱ૊Έ߹ΘͤͨαʔόʔϨεαΠτ 入力 行 金 入 Stripe 行

Slide 23

Slide 23 text

©Fusic Co., Ltd. 23 αʔόʔϨεαΠτͱͯ͠ͷ໾ׂ 入力 行 JSON Amazon S 3

Slide 24

Slide 24 text

©Fusic Co., Ltd. 24 ղੳج൫ͱͯ͠ͷ໾ׂ 行 行 JSON 行 入力

Slide 25

Slide 25 text

©Fusic Co., Ltd. 25 ՝ۚج൫ͱͯ͠ͷ໾ׂ URL Stripe Checkout 用 金 金 Web Hook 築 行 金 築 URL

Slide 26

Slide 26 text

©Fusic Co., Ltd. 26 SaaSΛ଍͢͜ͱͰػೳ௥ՃΛߦ͏ 金 行 Stripe 課 ⾒ SaaS 行 築 自 入

Slide 27

Slide 27 text

©Fusic Co., Ltd. 27 ࣄྫ͔ΒৼΓฦΔαʔόʔϨε 5

Slide 28

Slide 28 text

©Fusic Co., Ltd. 28 αʔόϨεΒ͠͞Λࣗ෼ʹऔΓೖΕΔ ʮαʔόʔϨεͰ͋Δ͔Β͍͢͝ʯͰ͸ͳͯ͘౰ͨΓલʹαʔόʔϨεΛѻ͖ͬͯͨ݁Ռ αʔόʔϨεͱ͍͏֓೦Λࣗ෼ࣗ਎ͷதʹਁಁ͍͖ͯ͠ɺ ͦͷ݁Ռ͍ͭ͘΋ͷ໨తɺ՝୊ղܾΛୡ੒ग़དྷͨͱࢥ͍ͬͯ·͢ େࣄͳͷ͸αʔόʔϨεͱ͍͏֓೦ͷཧղ౓ΛਂΊ ʮαʔόʔϨεΒ͠͞ͷਖ਼ମΛ௫ΈɺͦΕΛ໨తʹ߹Θͤͯࣗવʹར༻͢Δࣄʯ

Slide 29

Slide 29 text

©Fusic Co., Ltd. 29 Serverless Land ΋͠ࠓ೔ͷ಺༰Ͱ౰ͨΓલʹαʔόʔϨεΛѻ͍ͬͯ͘ࣄʹڵຯ͕ग़͖ͯͨͷͳΒ ·ͣ͸ͲΜͳύλʔϯ͕͋Δͷ͔ʮServerless LandʯΛݟͯΈΔ͜ͱ΋ΦεεϝͰ͢ https://serverlessland.com/ AWSͷαʔόʔϨεʹݶͬͨ࿩ʹͳͬͯ͠·͍·͕͢ɺ༷ʑͳύλʔϯΛ֬ೝͰ͖·͢

Slide 30

Slide 30 text

©Fusic Co., Ltd. 30 νʔϜʹద༻͢Δॏཁੑ ͦͷޙ΋αʔόʔϨεΒ͠͞Λҙࣝͯ͠ ༷ʑͳҊ݅ʹऔΓ૊ΜͰ͍·͢ ࠓճ͸ল͖·͕͢ɺBrefͱ͍͏OSSΛར༻ͯ͠ PHP ͷ Laravel ͱ͍͏Web FrameworkΛऔΓೖΕ PHPνʔϜʹαʔόʔϨεΛద༻͢Δ׆ಈ΋͍ͯ͠·͢ αʔόʔϨεͷ੍໿ͱ޲͖߹͍ͳ͕Βɺ ͋ΔҙຯҰ෦ϞϊϦεԽͨ͠LambdaΛऔΓೖΕΔ ΞʔΩςΫνϟ΋࣮ફ ͍͖ͳΓαʔόʔϨεͰϚΠΫϩαʔϏεͰͳͯ͘΋ྑ͍

Slide 31

Slide 31 text

©Fusic Co., Ltd. 31 Monolith First Serverless Development ࢀߟURL : https://speakerdeck.com/_kensh/monolith-first-serverless-development?slide=55 @_kensh ʮMonolith First Serverless Developmentʯ

Slide 32

Slide 32 text

©Fusic Co., Ltd. 32 αʔυύʔςΟΛར༻͢Δ͜ͱͰSQL΋ࣗવʹར༻Մೳ - Supabase - Supabase͸ΦʔϓϯιʔεͷFirebase୅ସͱͯ͠ઃܭ͞Εͨ BaaSϓϥοτϑΥʔϜ PostgreSQLΛج൫ͱͨ͠ߴੑೳͳϦϨʔγϣφϧσʔλϕʔεΛఏڙ - TiDB Serverless - TiDB Serverless͸PingCAPʹΑͬͯ։ൃ͞Εͨ Φʔϓϯιʔεͷ෼ࢄܕSQLσʔλϕʔεͰ͋ΔTiDBͷServerlessόʔδϣϯ MySQLͱޓ׵ੑͷ͋ΔϦϨʔγϣφϧσʔλϕʔεΛఏڙ

Slide 33

Slide 33 text

©Fusic Co., Ltd. 33 Ϋϥ΢υωΠςΟϒͳࠓɺαʔόʔϨε͸౰ͨΓલʹͦ͜ʹ • ໾ׂͷ෼୲ΛΧδϡΞϧʹߦ͏͜ͱ͕ग़དྷΔ • ໾ׂΛ෼୲ͤ͞Δࣄ͕ग़དྷΔͷͰʮ໨తʹண໨͕ग़དྷΔʯ • ໨తʹ߹Θͤͨద੾ͳߏ੒ΛఏڙՄೳͳ࣌୅ʹ αʔόʔϨεͰ͋Δ͜ͱ͕ॏཁͰ͸ͳͯ͘ ໨తʹॊೈʹɺద੾ʹϦιʔεΛ഑ஔग़དྷΔ͜ͱ͕αʔόʔϨεͷྑ͞

Slide 34

Slide 34 text

©Fusic Co., Ltd. 34 ·ͱΊ 5

Slide 35

Slide 35 text

©Fusic Co., Ltd. 35 ·ͱΊ αʔόʔϨε͸αʔό؅ཧΛඞཁͱ͠ͳ͍ΞϓϦέʔγϣϯͷߏஙͱ࣮ߦͷʮ֓೦ʯ Point 01 ໾ׂΛ෼அͤ͞Δࣄ͕ग़དྷΔͨΊɺඞཁͳڧ౓Λεέʔϥϒϧʹఏڙ͢Δ͜ͱ΋ग़དྷΔ Point 02 ໾ׂΛ෼அͤ͞Δࣄ͕ग़དྷΔͨΊɺʮ໨తʹ·͙ͬ͢ʯΞʔΩςΫνϟΛ૊Ή͜ͱ͕ग़དྷΔ Point 03 αʔόʔϨεʹ͢Δࣄ͕໨తͰ͸ͳ͍ɺ໨తʹண໨͢ΔͨΊʹʮαʔόʔϨεΒ͠͞ʯͷಋೖΛ Point 04

Slide 36

Slide 36 text

©Fusic Co., Ltd. 36 Thank You We are Hiring! https://recruit.fusic.co.jp/ ͝ਗ਼ௌ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·ͨ͠