Slide 1

Slide 1 text

"QFYͰෳ਺؀ڥͷ -BNCEBؔ਺ΛσϓϩΠ͢Δ࿩ +"846(ΞʔΩςΫνϟઐ໳ࢧ෦Ϋϥ΢υωΠςΟϒ෼Պձ$%1ٞ࿦ձ CBUJ UXJUUFS!CBUJ@

Slide 2

Slide 2 text

• -BNCEBͷσϓϩΠͲ͏΍Ζ͏ʁ • ࣗಈԽ͍ͨ͠

Slide 3

Slide 3 text

http://apex.run/ ͜ͷࢿྉͰ͸ v0.10.2 Λର৅ͱ͠·͢

Slide 4

Slide 4 text

"QFY • [JQ Ξοϓϩʔυ όʔδϣϯൃߦ ΤΠϦΞεͷߋ ৽Λ΍ͬͯ͘ΕΔ • ෳ਺ͷ-BNCEBؔ਺Λѻ͑Δ • (P੡ • (PͰॻ͍ͨ-BNCEBؔ਺ʹ΋ରԠͯ͠Δ • ͳͲͳͲଞʹ΋৭ʑ

Slide 5

Slide 5 text

"QFY • ϓϩδΣΫτͱ͍͏୯ҐͰෳ਺ͷ-BNCEBؔ਺Λ؅ཧ my-pj ├── functions/ │ ├── func1/ │ │ ├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js └── project.json

Slide 6

Slide 6 text

"QFY • ϓϩδΣΫτͱ͍͏୯ҐͰෳ਺ͷ-BNCEBؔ਺Λ؅ཧ my-pj ├── functions/ │ ├── func1/ │ │ ├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js └── project.json { "name": "my-lambda-pj", "description": "", "runtime": "nodejs4.3", "memory": 128, "timeout": 5, "role": "arn:aws:iam::" } QSPKFDUKTPOʹ-BNCEBͷઃఆΛهड़͢Δ

Slide 7

Slide 7 text

"QFY • ϓϩδΣΫτͱ͍͏୯ҐͰෳ਺ͷ-BNCEBؔ਺Λ؅ཧ my-pj ├── functions/ │ ├── func1/ │ │ ├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js └── project.json ͰσϓϩΠ $ apex deploy

Slide 8

Slide 8 text

"QFY • "QFYΛબΜͩཧ༝ • ؆୯ʹ࢖͑ͨɻΠϯετʔϧ΋؆୯ͩͬͨ • ϓϩδΣΫτ୯ҐͰ؅ཧͰ͖Δ • "1*(BUFXBZ͸࢖Θͳ͍ • 3VOUJNFͱͯ͠/PEFKTΛ࢖͑Δ

Slide 9

Slide 9 text

ຊ൪؀ڥͱ։ൃ؀ڥͰ ผͷόʔδϣϯΛ࢖͍͍ͨ

Slide 10

Slide 10 text

.VMUJQMF&OWJSPONFOUT • "QFY͸ෳ਺؀ڥΛαϙʔτͯ͠Δ my-pj ├── functions/ │ ├── func1/ │ │ ├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js ├── project_dev.json └── project_prod.json 環境毎の設定ファイルを用意 • project_dev.json • project_prod.json

Slide 11

Slide 11 text

.VMUJQMF&OWJSPONFOUT • "QFY͸ෳ਺؀ڥΛαϙʔτͯ͠Δ my-pj ├── functions/ │ ├── func1/ │ │ ├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js ├── project_dev.json └── project_prod.json $ apex deploy --env prod ͰσϓϩΠ

Slide 12

Slide 12 text

͔͠͠

Slide 13

Slide 13 text

"QFYͰ͸ͭͷ ΤΠϦΞε͔͠࡞ΒΕͳ͍

Slide 14

Slide 14 text

"QFYͷΤΠϦΞε • $633&/5ͱ͍͏ΤΠϦΞε͕όʔδϣϯΛࢦ͢ version1 CURRENT

Slide 15

Slide 15 text

"QFYͷΤΠϦΞε • $633&/5ͱ͍͏ΤΠϦΞε͕όʔδϣϯΛࢦ͢ version2 version1 CURRENT σϓϩΠޙ

Slide 16

Slide 16 text

؀ڥ͝ͱͷΤΠϦΞε ࡞Γ͍ͨͷ͚ͩͲ

Slide 17

Slide 17 text

http://apex.run/#how-do-you-manage-multiple-environments “It’s highly recommended to create separate AWS accounts for staging and production environments.” • "QFYͰ͸ɺ؀ڥ͝ͱʹ"84ΞΧ΢ϯτΛ෼͚Δ ͜ͱΛਪ঑ͯ͠Δ

Slide 18

Slide 18 text

Θ͔Δ͚Ͳ

Slide 19

Slide 19 text

ͦ͏΋͍͔ͳ͍͜ͱ΋͋Δ

Slide 20

Slide 20 text

-BNCEBؔ਺Λ؀ڥ͝ͱʹ
 ࡞ͬͯ͠·͓͏

Slide 21

Slide 21 text

• ઃఆϑΝΠϧͷOBNF@UFNQMBUFϓϩύςΟ my-pj ├── functions/ │ ├── func1/ │ │ ├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js ├── project_dev.json └── project_prod.json { ・・・, "nameTemplate": "・・・" }

Slide 22

Slide 22 text

• ઃఆϑΝΠϧͷOBNF@UFNQMBUFϓϩύςΟ • σϑΥϧτ͸ \\1SPKFDU/BNF^^@\\'VODUJPO/BNF^^ • ؀ڥຖͷઃఆϑΝΠϧͰαϑΟοΫεΛ͚ͭΔ \\1SPKFDU/BNF^^@\\'VODUJPO/BNF^^@EFW \\1SPKFDU/BNF^^@\\'VODUJPO/BNF^^@QSPE

Slide 23

Slide 23 text

• NZQK@GVOD@EFWͱ͍͏໊લͷ-BNCEBؔ਺ • NZQK@GVOD@QSPEͱ͍͏໊લͷ-BNCEBؔ਺ $ apex deploy --env prod $ apex deploy --env dev

Slide 24

Slide 24 text

version2 version1 CURRENT version2 version1 CURRENT my-pj_func1_dev my-pj_func1_prod • -BNCEBؔ਺ࣗମ͕ผʹͳΔͷͰɺΤΠϦΞε͕ ͔ͭ͠ͳͯ͘΋؀ڥຖʹ࢖͍෼͚͕Մೳ

Slide 25

Slide 25 text

·ͱΊ

Slide 26

Slide 26 text

• -BNCEBؔ਺ͷσϓϩΠΛࣗಈԽ͍ͨ͠ • "QFY͸࢖͍΍͍͢ • OBNF@UFNQMBUFΛ࢖ͬͯ؀ڥຖͷ-BNCEBؔ਺ Λ༻ҙ͢Ε͹ɺͭͷ"84ΞΧ΢ϯτͰ΋ෳ਺ ؀ڥʹରԠͰ͖Δ • OBNF@UFNQMBUF͍Βͳ͘ͳ͍ʁͱ͍͏JTTVF͕ ্͕ͬͯΔͷͰࠓޙ͸ผͷํ๏ʹͳΔ͔΋ • IUUQTHJUIVCDPNBQFYBQFYJTTVFT

Slide 27

Slide 27 text

• -BNCEBؔ਺ͷσϓϩΠΛࣗಈԽ͍ͨ͠ • "QFY͸࢖͍΍͍͢ • OBNF@UFNQMBUFΛ࢖ͬͯ؀ڥຖͷ-BNCEBؔ਺ Λ༻ҙ͢Ε͹ɺͭͷ"84ΞΧ΢ϯτͰ΋ෳ਺ ؀ڥʹରԠͰ͖Δ • OBNF@UFNQMBUF͍Βͳ͘ͳ͍ʁͱ͍͏JTTVF͕ ্͕ͬͯΔͷͰࠓޙ͸ผͷํ๏ʹͳΔ͔΋ • IUUQTHJUIVCDPNBQFYBQFYJTTVFT ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ