Slide 1

Slide 1 text

4FSWFSMFTT'SBNFXPSL 0QFO'BB4ͱ͸ 4 F S W F S M F T T . F F U V Q 0 T B L B

Slide 2

Slide 2 text

ࣗ ݾ ঺ հ ෱ ࢁ ݈ Fukuyama Ken !LFOGEFW ˔ ϑϩϯτΤϯυɺόοΫΤϯυɺΠϯϑϥ ˔ "84ιϦϡʔγϣϯΞʔΩςΫτΞιγΤΠτ ˔ 6EFNZߨࢣ ˔ ʲੈքͰສਓ͕डߨʳ࣮ફʂ"OHVMBS+4ߨ࠲ ˔ 0QFO'BB4ίϯτϦϏϡʔλʔ ˔ 3BODIFS.FFUVQ0TBLBӡӦ 3BODIFS+1

Slide 3

Slide 3 text

ձ ࣾ ঺ հ ˔ ೥ઃཱͷιϑτ΢ΣΞ։ൃձࣾ ˔ ڌ఺ɿେࡕ ຊࣾ ɺ౦ژɺ޿ౡɺ෱Ԭ ˔ ૊ΈࠐΈ͔ΒεϚϗΞϓϦɺ"*·Ͱ৭ʑ΍͍ͬͯ·͢ ϚωʔδυΫϥ΢υαʔϏεɿ$BQTVMF$MPVE I U U Q T D B Q T V M F D M P V E J P ג ࣜ ձ ࣾ ε ʔ ύ ʔ ι ϑ τ ΢ Τ Ξ 4 V Q F S 4 P G U X B S F $ P - U E ΦϦδφϧΞχϝɿϖʔύʔͷதʹ͋ΔΧϛΛ৯΂Δ I U U Q T Z P V U V C F % 4 + [ N 1 J W : εϚϗΞϓϦ ɿອըΧϝϥ

Slide 4

Slide 4 text

ࠓ ճ ͷ ͓ ࿩ ͸ ʜ

Slide 5

Slide 5 text

ͷ ঺ հ Λ ͠ · ͢ 4 F S W F S M F T T ' S B N F X P S L

Slide 6

Slide 6 text

0 Q F O ' B B 4 ͱ ͸ %PDLFS্Ͱಈ͘4FSWFSMFTTͳ'SBNFXPSL ίϯςφʹೖ͍ͬͯΕ͹ԿͰ΋'VODUJPOʹͳΓಘΔ ʜ %PDLFS4XBSNͱ,VCFSOFUFTͰͷಈ࡞͕αϙʔτ͞Ε͍ͯΔ

Slide 7

Slide 7 text

0 Q F O ' B B 4 ͱ ͸ ਓؾٸ্ঢதʂ

Slide 8

Slide 8 text

0 Q F O ' B B 4 ͱ ͸

Slide 9

Slide 9 text

ྫ ͑ ͹ ʜ

Slide 10

Slide 10 text

4FSWFSMFTTͳ࣮ྫʢ"84ʣ "MFYB )PX`T
 UIFXFBUIFS - B N C E B 
 ' V O D U J P O T \lJOUFOUz l'JOE8FBUIFSz^ \lTQFFDIz l*U`TEFHSFFTz^

Slide 11

Slide 11 text

0 Q F O ' B B 4 ࢖ ͏ ͱ ʁ

Slide 12

Slide 12 text

4FSWFSMFTTͳ࣮ྫʢ0QFO'BB4ʣ "MFYB )PX`T
 UIFXFBUIFS \lJOUFOUz l'JOE8FBUIFSz^ \lTQFFDIz l*U`TEFHSFFTz^

Slide 13

Slide 13 text

4 F S W F S M F T T ʁ ʁ

Slide 14

Slide 14 text

ͬ ͯ ͳ Μ ͩ Ζ ͏ ʁ

Slide 15

Slide 15 text

4 F S W F S M F T T ͱ ͸

Slide 16

Slide 16 text

4 F S W F S M F T T ͱ ͸ “there are still servers required to run a serverless platform. The provider will need to manage servers (or virtual machines or containers), and will have some cost for running the platform, even when idle. A self-hosted system can still be considered serverless: typically one team acts as the provider and another developer team.” Š$/$'8(4FSWFSMFTT1BQFSΑΓ IUUQTHPPHMVE%'Y

Slide 17

Slide 17 text

େ ࣄ ͳ ͷ ͸ Ξ ʔ Ω ς Ϋ ν ϟ architecture ͖ͬͱ

Slide 18

Slide 18 text

0 Q F O ' B B 4 ͷ ࢓ ૊ Έ gateway L V C F S O F U F T 4 X B S N / /F U D 'O" Deploy Deploy Orchestrator API 'VODUJPO4UBDL 'O# Invoke Metrics/Scale جຊߏ੒

Slide 19

Slide 19 text

0 Q F O ' B B 4 ͷ ࢓ ૊ Έ gateway L V C F S O F U F T 4 X B S N / /F U D 'O" Deploy Deploy Orchestrator API 'VODUJPO4UBDL 'O# Invoke Metrics/Scale 'O" 'O" Scale ΍͹͘ͳͬͨΒࣗಈతʹεέʔϧʂ

Slide 20

Slide 20 text

' V O D U J P O ͷ ࢓ ૊ Έ ͸ ʁ watchdog

Slide 21

Slide 21 text

' V O D U J P O 8 B U D I E P H HTTP )FBEFST #PEZ )FBEFST #PEZ /usr/bin/node handler.js SFRVFTU ඪ४ೖྗ TUEJO TUEPVU ඪ४ग़ྗ SFTQPOTF

Slide 22

Slide 22 text

' V O D U J P O ͷ ࡞ ੒ ϑ ϩ ʔ QBDLBHFKTPO IBOEMFSKT faas-cli new Template Docker Image faas-cli build $POUBJOFS3FHJTUSZ faas-cli push جຊతʹ࣮૷͢Δͷ͸͚ͩ͜͜ʂ

Slide 23

Slide 23 text

' V O D U J P O ͷ σ ϓ ϩ Π $POUBJOFS3FHJTUSZ faas-cli deploy gateway L V C F S O F U F T 4 X B S N / /F U D 'VODUJPO 'VODUJPO 'VODUJPO Pull Pull Deploy Deploy Orchestrator API

Slide 24

Slide 24 text

ಉ ظ ɾ ඇ ಉ ظ sync async

Slide 25

Slide 25 text

ಉ ظ ݺ ͼ ग़ ͠ Gateway Func: resizer marshal request HTTP 200 ը૾ॖখ ґཔ

Slide 26

Slide 26 text

ඇ ಉ ظ ݺ ͼ ग़ ͠ Gateway Func: resizer X-Callback-Url Queue http://x.y.z X-Callback-Url: http://x.y.z NATS ը૾ॖখ ґཔ

Slide 27

Slide 27 text

࿈ ܞ integration

Slide 28

Slide 28 text

faas-netes L V C F S O F U F T 'VODUJPO 'VODUJPO 'VODUJPO Deploy Deploy Orchestrator API L T ࿈ ܞ gateway Invoke 3FWFSTF 1SPYZ https://github.com/openfaas/faas-netes

Slide 29

Slide 29 text

faas- Orchestrator X 'VODUJPO 'VODUJPO 'VODUJPO Deploy Deploy Orchestrator API ଞ 1 S P W J E F S ࿈ ܞ gateway Invoke 3FWFSTF 1SPYZ

Slide 30

Slide 30 text

faas-rancher 'VODUJPO 'VODUJPO 'VODUJPO Deploy Deploy Orchestrator API 3 B O D I F S ࿈ ܞ gateway Invoke 3FWFSTF 1SPYZ https://github.com/kenfdev/faas-rancher

Slide 31

Slide 31 text

ͦ ͷ ଞ ॾ ʑ and more

Slide 32

Slide 32 text

H P U F N Q M B U F https://blog.alexellis.io/serverless-golang-with-openfaas/ (PݴޠͷUFNQMBUF΋༻ҙ͞Ε͍ͯ·͢ʂ faas-cli new --lang go

Slide 33

Slide 33 text

% F C V H H J O H ʂ ίϯςφʹΞλον͢Ε͹σόοά΋Մೳ

Slide 34

Slide 34 text

$ * $ % 1 J Q F M J O F https://github.com/kenfdev/faas-echo

Slide 35

Slide 35 text

1SPWJEFST *OUFHSBUJPOTBOE6TFST

Slide 36

Slide 36 text

)BDLUPCFSGFTUͰ͢Αʂ

Slide 37

Slide 37 text

ࢀߟ ˔ IUUQTHJUIVCDPNPQFOGBBTGBBT ˔ 0QFO'BB4ͷίΞϓϩδΣΫτ ˔ IUUQTHJUIVCDPNPQFOGBBTGBBTDMJ ˔ 0QFO'BB4Λศརʹ࢖͏ͨΊͷ$-* ˔ IUUQTHJUIVCDPNPQFOGBBTGBBTOFUFT ˔ LVCFSOFUFT্Ͱ0QFO'BB4Λಈ͔ͨ͢Ίͷ֦ுػೳ ˔ IUUQTHJUIVCDPNGBBTBOEGVSJPVT ˔ 0QFO'BB4ͷ044ͳ'VODUJPO͕ू·͍ͬͯΔ৔ॴ

Slide 38

Slide 38 text

ϔ ϧ ϓ ʂ

Slide 39

Slide 39 text

೔ຊޠ৘ใ͕΄ͱΜͲ͋Γ·ͤΜɻɻɻ 2JJUBͰ΋·ͩ̎݅ʂ ϔ ϧ ϓ ʂ ͥͻ࢖ͬͯΈͯϑΟʔυόοΫΛΞ΢τϓοτ͍ͯͩ͘͠͞ʂ

Slide 40

Slide 40 text

͝ ਗ਼ ௌ ͋ Γ ͕ ͱ ͏ ͝ ͟ ͍ · ͠ ͨ ʂ @ k e n f d e v