Slide 1

Slide 1 text

iPhoneΞϓϦͷόοΫΤϯυͱͯ͠ Serverless FrameworkΛ࢖ͬͯΈͨ JAWS-UG ౦ւಓ in ඿দ 2016 Ճ౻ ڡ๜@ΤΞʔζ

Slide 2

Slide 2 text

ࣗݾ঺հ • @mackato • ඿দग़਎ɺ౦ژࡏॅɻ౎ຽྺ2೥ • WEB։ൃྺ16೥ • Railsྺ11೥ • ཮ϚΠϥʔྺ4೥ • શ೔ຊιϜϦΤ࿈ໍೝఆϫΠϯφϏήʔλʔ

Slide 3

Slide 3 text

ຊ೔ͷͰ͖͝ͱ • ே5࣌ʹ͓͖ͯ2͔͚࣌ؒͯ࢓্͛ͨϓϨθϯࢿྉΛΰϛശʹ ۭͯͯ͢ʹ͠·ͨ͠ • JAWS-UGʹ޲͔͏৽װઢʢͻ͔Γ469߸ʣͷ࠲੮ͷ෺ೖΕʹ ΧόϯΛ๨Ε·ͨ͠

Slide 4

Slide 4 text

ΤΞʔζגࣜձࣾ • RailsͱiOSͷडୗ։ൃ • ࣗࣾΞϓϦ • ඿দຊࣾ • ౦ژΦϑΟεʢங஍ʣ • ϦϞʔτϫʔΫ

Slide 5

Slide 5 text

ϚΠϧखா • ϚΠϧ΍ϙΠϯτͷ࢒ߴ֬ೝ΍ަ׵ ܭࢉ͕Ͱ͖ΔΞϓϦ • ཮ϚΠϥʔ΍ۭϚΠϥʔ • ΫϨδοτΧʔυͷϔϏʔϢʔβʔ ʢAWSͷࢧ෷͍ͱ͔ʣ • ։ൃऀ2໊ʢPythonɺSwiftɺRubyʣ • 2016.08.08 1.0.0ϦϦʔε • 2016.08.27 1.0.4ʢ1.0.5ਃ੥தʣ

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

Why Serverless Architecture? • ओͳॲཧ͸ΞϓϦଆɺόοΫΤϯυ͸ิॿతʹ࢖༻ • ߴ͍ηΩϡϦςΟ͕୲อͰ͖ͦ͏ • ػີ৘ใ͸LambdaͷϝϞϦ಺ͷΈͰऔΓѻ͏ • CloudTrailɺCloudWatchΛར༻ͨ͠؂ࠪɾ؂ࢹ • εϞʔϧελʔτͰ͖ͯεέʔϧͦ͠͏ • αʔόʔߏஙෆཁͰϦϦʔεָ͕ͦ͏

Slide 8

Slide 8 text

What is Serverless Framework? Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more! • Manages the lifecycle of your serverless architecture (build, deploy, update, delete). • Safely deploy functions, events and their required resources. • Functions can be grouped ("serverless services") for easy management of code, resources & processes.

Slide 9

Slide 9 text

AWSαʔϏεͷར༻ঢ়گ • API Gateway Endpoint: 5 • Lambda Function: 8 • DynamoDB Table: 2 • CloudWatch Event: 3 • 2016೥8݄ͷ༧૝՝ֹۚ: $1ఔ౓

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

σϓϩΠ࣌ʹඞཁͳ͜ͱ • 8ݸ͋Δ͢΂ͯͷFunctionͰґଘϥΠϒϥϦΛಉࠝ • Serverless FrameworkͰॻ͍ͨϦιʔεͱAWS্ͷϦϦʔε ͷ੔߹ੑ֬ೝ • Gitͷtag΍branchͱσϓϩΠઌͷεςʔδ͕Ұக͍ͯ͠Δ͔ ֬ೝ • Serverless FrameworkͷCLIͰͷૢ࡞ʢϝϯυΫαΠʣ ख͕͔͔ؒΔؒ͠ҧ͑ͦ͏

Slide 17

Slide 17 text

ղܾࡦ ϦϦʔε༻ͷεΫϦϓτΛॻ͍ͨ by @kengos $ ./release.py --help usage: release.py [-h] -s STAGE [-r REGION] [-t TAG] [-b BRANCH] [--tmpdir TMPDIR] [--skip-deploy] [--debug]

Slide 18

Slide 18 text

ϦϦʔεखॱ $ git flow release start v1.0.1 $ git flow relaese publish v1.0.1 $ ./release.py -s beta -b v1.0.1 ~~ BetaϏϧυΛTestFlightͰ഑෍ͯ͠ಈ࡞֬ೝ ~~ $ git flow release finish v1.0.1 $ ./release.py -s prod -t v1.0.1 # ΞϓϦ1.0.0΋ࢀর ~~ v1.0.1ͷReleaseϏϧυΛAppStoreʹొ࿥ ~~

Slide 19

Slide 19 text

Θ͔ͬͨ͜ͱ • Serverlessʹ͢ΔͱϚΠΫϩαʔϏεʹͳΔͷ͔ͱࢥͬͨ ͕ɺRails೴ͩͱϞϊϦγοΫʹͳͬͨ • খ͞ͳαʔϏεͰ͋Ε͹΄΅ແྉ࿮಺Ͱར༻Ͱ͖ɺݱঢ়ίε τతͳ৺഑͸ͳͦ͞͏ • ෼ੳπʔϧ͸Mobile Analytics + RedshiftΑΓFirebase + Bigqueryͷํ͕࢖͍΍͔ͬͨ͢

Slide 20

Slide 20 text

ྑ͔ͬͨ͜ͱ • ٻΊ͍ͯͨηΩϡϦςΟ͕୲อͰ͖ͨ • αʔόʔߏஙෆཁͰϦϦʔε࡞ۀͷෛ୲͕ͳ͔ͬͨ • ؂ࢹΞϥʔτ͕ඈΜͰདྷͳ͍ͷͰྑ͘຾ΕͯΔ

Slide 21

Slide 21 text

൓ল఺ • DynamoDBʹ׳Εͯͳͯ͘ઃܭʹࢼߦࡨޡͨ͠ • API GatewayͷλΠϜΞ΢τ੍ݶͰϋϚͬͨ • CloudWatch Event͚ͩͰ͸ٻΊ͍ͯͨεέδϡʔϦϯά͕Ͱ ͖ͳ͔ͬͨ

Slide 22

Slide 22 text

ࠓޙࢼ͍ͨ͜͠ͱ • VPC಺ͷRailsΞϓϦͱͷ࿈ܞ • ΞϓϦͷόʔδϣϯΞοϓΛ੍໿͠ͳ͍Α͏ͳόοΫΤϯυ ͷϦϦʔεख๏

Slide 23

Slide 23 text

Thank you ౦ژΤϦΞ։ൃऀืूத ServerlessҊ݅ͷ͝૬ஊ΋͓଴͍ͪͯ͠·͢