Slide 1

Slide 1 text

0QFO'BB4Y3BODIFS͕ ɹɹɹɹɹɹؾ͔ͮͤͯ͘Εͨ͜ͱ            3 B O D I F S  . F F U V Q  5 P L Z P    

Slide 2

Slide 2 text

ࣗ ݾ ঺ հ  ࢁ ᖒ  Ұ ਔ Yamazawa Kazuhito ෱ ࢁ  ݈ Fukuyama Ken !LFOGEFW ϑϩϯτΤϯυ νʔϜϦʔμʔ όοΫΤϯυ ث༻ශ๡ !LZBNB[BXB@TTM

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

 0QFO'BB4Y3BODIFS͕ ɹɹɹɹɹɹؾ͔ͮͤͯ͘Εͨ͜ͱ 4FSWFSMFTTͬͯͳΜͩΖ͏ʁ

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

4FSWFSMFTTͳ࣮ྫʢ($1ʣ Ͷ͐(PPHMFɺ ࠓ೔ͷఱؾ͸ʁ  $ M P V E 
 ' V O D U J P O T \lJOUFOUz l'JOE8FBUIFSz^ \lTQFFDIz lࠓ೔͸੖ΕͰ͢z^

Slide 10

Slide 10 text

4FSWFSMFTTͳ࣮ྫʢ0QFO'BB4ʣ Ͷ͐(PPHMFɺ ࠓ೔ͷఱؾ͸ʁ  \lJOUFOUz l'JOE8FBUIFSz^ \lTQFFDIz lࠓ೔͸੖ΕͰ͢z^

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

 HTTP )FBEFST #PEZ )FBEFST #PEZ /usr/bin/node index.js SFRVFTU ඪ४ೖྗ TUEJO TUEPVU ඪ४ग़ྗ SFTQPOTF GQSPDFTT 'VODUJPOͷ࢓૊Έ 0 Q F O ' B B 4 ͷ ࢓ ૊ Έ

Slide 14

Slide 14 text

Կ ͕ ͏ Ε ͠ ͍ ͷ ͔ ʁ 

Slide 15

Slide 15 text

S e r v e r l e s s ʁ  S e r v e r l e s s ʁ

Slide 16

Slide 16 text

 4 F S W F S M F T T https://www.slideshare.net/Docker/dockercon-eu-2017-general-session-day-1

Slide 17

Slide 17 text

 “ C u s t o m e r s w a n t d e p l o y m e n t f l e x i b i l i t i e s . B u s i n e s s r u l e s c h a n g e . R e q u i r e m e n t s c h a n g e . R e g u l a t o r y e n v i r o n m e n t s c h a n g e . ” “ S e r v e r l e s s h a s t o b e a n y w h e r e . I t c a n ’ t b e l i n k e d o r t i e d t o a s i n g l e p l a t f o r m . ” - S t e v e S i n g h @ D o c k e r C o n E U 2 0 1 7 4 F S W F S M F T T  " O Z X I F S F “ C u s t o m e r s w a n t d e p l o y m e n t f l e x i b i l i t i e s . B u s i n e s s r u l e s c h a n g e . R e q u i r e m e n t s c h a n g e . R e g u l a t o r y e n v i r o n m e n t s c h a n g e . ” “ S e r v e r l e s s h a s t o b e a n y w h e r e . I t c a n ’ t b e l i n k e d o r t i e d t o a s i n g l e p l a t f o r m . ”

Slide 18

Slide 18 text

P o r t a b i l i t y 

Slide 19

Slide 19 text

I n f r a s t r u c t u r e P o r t a b i l i t y 

Slide 20

Slide 20 text

 Infrastructure Infrastructure Orchestrator Orchestrator P l u g & P l a y a b l e A p p l i c a t i o n C o r e

Slide 21

Slide 21 text

A p p l i c a t i o n P o r t a b i l i t y 

Slide 22

Slide 22 text

 " Q Q  1 P S U B C J M J U Z Monolith Microservice Microservice Microservice Microservice Function Function Function Function Function Function Function Function ˚ ̋ ˕

Slide 23

Slide 23 text

 Core Gateway Gateway Google LINE Facebook FourSquare P l u g & P l a y a b l e Alexa etc.

Slide 24

Slide 24 text

͜ ͷ ܗ ɺ Ͳ ͜ ͔ Ͱ ݟ ͨ ؾ ͕ ʜ 

Slide 25

Slide 25 text

 $ M F B O  " S D I J U F D U V S F https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html

Slide 26

Slide 26 text

 $ M F B O  " S D I J U F D U V S F https://www.youtube.com/watch?v=Nltqi7ODZTM

Slide 27

Slide 27 text

 $ M F B O  " S D I J U F D U V S F M a k e t h e D e l i v e r y M e c h a n i s m a P l u g i n t o y o u r A p p l i c a t i o n . A l l t h e a r c h i t e c t u r a l d e c i s i o n s w e w a n t t o d e f e r … H o w d o w e d e f e r t h e m ? W e t u r n t h e m i n t o p l u g i n s . R o b e r t C . M a r t i n ( U n c l e B o b ) M a k e t h e D e l i v e r y M e c h a n i s m a P l u g i n t o y o u r A p p l i c a t i o n . A l l t h e a r c h i t e c t u r a l d e c i s i o n s w e w a n t t o d e f e r … H o w d o w e d e f e r t h e m ? W e t u r n t h e m i n t o p l u g i n s .

Slide 28

Slide 28 text

 “ S e r v e r l e s s i s a b o u t d e l i v e r i n g d e v e l o p e r e x p e r i e n c e . ” “ H o w f a s t c a n y o u i t e r a t e ? " “ H o w f a s t c a n y o u g e t t h e c o d e o u t ? ” “ H o w e a s y c a n y o u m a k e i t ? ” - A l e x E l l i s @ D o c k e r C o n E U 2 0 1 7 4 F S W F S M F T T “ S e r v e r l e s s i s a b o u t d e l i v e r i n g d e v e l o p e r e x p e r i e n c e . ” “ H o w f a s t c a n y o u i t e r a t e ? " “ H o w f a s t c a n y o u g e t t h e c o d e o u t ? ” “ H o w e a s y c a n y o u m a k e i t ? ”

Slide 29

Slide 29 text

 4 F S W F S M F T T  1 B O F M https://dockercon.docker.com/watch/5Ek8NH6M7Lbxsc4KZ9PNAg

Slide 30

Slide 30 text

 4 F S W F S M F T T ͷ ҙ ٛ P o r t a b i l i t y D e v e l o p e r E x p e r i e n c e C u s t o m e r E x p e r i e n c e

Slide 31

Slide 31 text

0 Q F O ' B B T ͷ % 9 

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

' V O D U J P O ͷ σ ϓ ϩ Π  $POUBJOFS3FHJTUSZ faas-cli deploy gateway 'VODUJPO 'VODUJPO 'VODUJPO Pull Pull Deploy Deploy Orchestrator API / / F U D  /

Slide 34

Slide 34 text

% & . 0 

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

ϔ ϧ ϓ ʂ 

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

͝ ਗ਼ ௌ ͋ Γ ͕ ͱ ͏ ͝ ͟ ͍ · ͠ ͨ ʂ