Slide 1

Slide 1 text

ॳࢀՃͷ Developer ͕ ݟ͖ͯͨ re:Invent 2015 2015೥10݄26೔ re:Invent 2015 ใࠂձ in ISID༷ גࣜձࣾϰΝϧݚڀॴ ಺ా ֶ 42+4P

Slide 2

Slide 2 text

2 ‣ ձࣾ঺հ ‣ ݸਓతΦεεϝ 1 ‣ ݸਓతΦεεϝ 2 ‣ ·ͱΊ ΞδΣϯμ

Slide 3

Slide 3 text

ࣗݾ঺հ ಺ా ֶʢ͏ͪͩ ·ͳͿʣ uchimanajet7 εϙοτΠϯελϯε AWS SDK for Go 3 αϙʔτ Amazon API Gateway

Slide 4

Slide 4 text

4

Slide 5

Slide 5 text

5 ʮژԦɹߴඌࢁɹԹઘʯͰݕࡧʂ http://www.takaosan-onsen.jp/

Slide 6

Slide 6 text

6 ➡ձࣾ঺հ ‣ ݸਓతΦεεϝ 1 ‣ ݸਓతΦεεϝ 2 ‣ ·ͱΊ ΞδΣϯμ

Slide 7

Slide 7 text

7 ձࣾ঺հ ౦ژ౎ਿฒ۠ߴԁࣉ๺2−3−17 1976೥ʢত࿨51೥ʣ7݄26೔ 156໊ʢ2014೥7݄1೔ݱࡏʣ

Slide 8

Slide 8 text

8 ‣ Mission - ੈͷதͷ౰ͨΓલΛม͑Δ͜ͱͰਓʑͷ ՄೳੑΛͻΖ͛׆ྗʹຬͪ͋;Εͨࣾձ Λ࣮ݱ͢Δ ‣ Vision - ʮࢥߟͷҰาઌʯΛఏڙ͢Δ೤ڰతΠϊ ϕʔγϣϯΧϯύχʔ ձࣾ঺հ

Slide 9

Slide 9 text

9 ձࣾ঺հ

Slide 10

Slide 10 text

10

Slide 11

Slide 11 text

11

Slide 12

Slide 12 text

12

Slide 13

Slide 13 text

13 ‣ ݱࡏͷجຊతͳAWSͷ׆༻ํ๏ͱͯ͠͸ ‣ αʔϏε্ཱͪ͛࣌͸AWSͰͷߏங͕લఏ ‣ ։ൃ΍ςετ؀ڥ΋AWSΛར༻͍ͯ͠Δ ‣ ڭҭֶशઐ༻ͷAWSΞΧ΢ϯτ͕ଘࡏ͢Δ ‣ JAWS−UGͷࢧ෦ΛӡӦ͍ͯ͠Δϝϯόʔ͕͍Δ ձࣾ঺հ

Slide 14

Slide 14 text

14 ‣ ࠓޙ͸ϚωʔδυαʔϏεΛऔΓೖΕͯӡ ༻ʹର͢Δෛՙ΍ෆ҆Λܰݮ͍͖͍ͯͨ͠ ‣ AWS্ʹαʔϏε΍σʔλ͕ଘࡏ͢Δ఺ Λར఺ͱ͍͖͍ͯͨ͠ ձࣾ঺հ

Slide 15

Slide 15 text

15 ʮAWSɹಋೖࣄྫɹӺ͢ͺ͋ͱʯͰݕࡧʂ https://aws.amazon.com/jp/solutions/case-studies/val/

Slide 16

Slide 16 text

16 ✓ ձࣾ঺հ ➡ݸਓతΦεεϝ 1 ‣ ݸਓతΦεεϝ 2 ‣ ·ͱΊ ΞδΣϯμ

Slide 17

Slide 17 text

17 ‣ ηογϣϯࢿྉͷݕࡧʹ͸Ϋϥεϝιου͞ΜͷҎԼϒϩά هࣄ͕ඇৗʹศར ‣ AWS re:Invent2015ʲอଘ൛ʳશηογϣϯΛ໢ཏʂඇެࣜ ·ͱΊ #reinvent - http://dev.classmethod.jp/cloud/aws/reinvent-2015- matome/ ‣ ֤ηογϣϯࢿྉ΍ಈը͚ͩͰͳ͘جௐߨԋ΍৽نαʔϏε ʹؔ࿈͢Δ৘ใ·Ͱ͕៉ྷʹ·ͱΊͯ͋ΓɺݕূهࣄͳͲͷ ಠࣗͷίϯςϯπ΋ॆ࣮͍ͯ͠Δ ݸਓతΦεεϝ 1

Slide 18

Slide 18 text

18 ʮre:Inventɹ2015ɹ·ͱΊʯͰݕࡧʂ http://dev.classmethod.jp/cloud/aws/reinvent-2015-matome/

Slide 19

Slide 19 text

19 ‣ DEV203 - Using Amazon API Gateway with AWS Lambda to Build Secure and Scalable APIs - http://www.slideshare.net/AmazonWebServices/dev203- amazon-api-gateway-aws-lambda-to-build-secure-apis ‣ Developer Tools ͷIntroductory (200 level) ͳͷͰೖ໳Ϩ ϕϧ ‣ Ճ͑ͯɺAPACτϥοΫͰ࠶ԋ΋͋ͬͨͷͰAPAC τϥοΫ Ϩϙʔτʹ೔ຊޠͷิ଍ؚ͕·Ε͍ͯΔ ݸਓతΦεεϝ 1

Slide 20

Slide 20 text

20

Slide 21

Slide 21 text

21 ‣ ͜Ε͔Βத৺ʹͳ͍ͬͯ͘ͱ༧૝͞ΕΔαʔϏε͕໢ཏతʹొ৔ ͢Δ ‣ தͰ΋ݸਓతʹ޷͖ͳαʔϏεͰ͋Δ Amazon API Gateway Λ ϐοΫΞοϓͯ͠ΈΔ ‣ શମͷ࿩͸APACτϥοΫϨϙʔτΛ֬ೝͷ͜ͱ ‣ AWS Lambda ͱͷ૊Έ߹Θ͕ͤ஫໨͞ΕΔ͜ͱ͕ଟ͍ Amazon API Gateway ‣ ࠓճ͸ AWS Lambda ͷϑϩϯτΤϯυͱͯ͠ͷར༻Ҏ֎Λߟ͑ ͯΈΔ ݸਓతΦεεϝ 1

Slide 22

Slide 22 text

22 ‣ Amazon API Gateway ͷલʹAPIͷ࿩ ‣ αʔϏε࿈ܞ΍IoT౳Λߟ͑ΔͱAPIʹΞΫηε͢ΔϞϊ ͕ଟछଟ༷Խ ‣ Microservices Խͯ͠ૄ݁߹ʹ͍ͯ͘͜͠ͱ͕ٻΊΒΕΔ ‣ ࠓΑΓ΋͞ΒʹAPIͷॏཁ౓΍ར༻ස౓͕૿͍ͯ͘͠ ‣ APIΛͲ͏ίϯτϩʔϧ͠ͳ͕Βӡ༻͍͔͕ͯ͘͠ॏཁͱ ͳΔ ݸਓతΦεεϝ 1

Slide 23

Slide 23 text

23 ‣ ͜ΕΒΛ࣮ݱ͢Δ1Ҋͱͯ͠ͷ Amazon API Gateway ‣ ෳ਺όʔδϣϯ΍ෳ਺؀ڥ΁ͷରԠ ‣ APIΩʔͷ࡞੒ͱ഑෍ʹΑΔݸผͷࣝผ ‣ ϦΫΤετͷεϩοτϦϯάʹΑΔόοΫΤϯυ ؀ڥͷอޢ ‣ ϨεϙϯεͷΩϟογϯάʹΑΔԠ౴଎౓ͷ޲্ ݸਓతΦεεϝ 1

Slide 24

Slide 24 text

24 ‣ ηΩϡϦςΟରࡦ΍DDoSରࡦ΁ͷରԠ ‣ iOSɾAndroidɾJavaScriptͷϚϧνϓϥο τϑΥʔϜʹରԠͨ͠SDKͷࣗಈग़ྗ ‣ OSSͷSwaggerܗࣜͷΠϯϙʔτରԠ ‣ ϦΫΤετ΍Ϩεϙϯε࣌ʹσʔλม׵΍ ϔομʔ৘ใͷ෇Ճ͕Մೳ ݸਓతΦεεϝ 1

Slide 25

Slide 25 text

25 ‣ AWS ͕༻ҙ͢ΔϦιʔε΍࢓૊ΈΛ࠷େݶʹར༻͢Δ ͜ͱ͕Ͱ͖Δ ‣ ྫ͑͹C޲͚ͷ՝ۚ͋ΓαʔϏεͰߟ͑Δͱ՝ۚϢʔ βͱແ՝ۚϢʔβͷࠩผԽ ‣ ՝ۚϢʔβʹ͸εϩοτϦϯάແ͠ͷϦονͳ؀ڥΛ ఏڙ ‣ ແ՝ۚϢʔβʹ͸εϩοτϦϯά༗ΓͰඞཁҎ্ʹε έʔϧΞ΢τ͠ͳ͍؀ڥΛఏڙ ݸਓతΦεεϝ 1

Slide 26

Slide 26 text

26 ‣ ݶఆతͳ༻్Ͱ࡞ΒΕͨඇެ։ͷAPIΛެ։͢ΔͨΊͷProxy ͱͯ͠ͷར༻ ‣ ֤AWS αʔϏε΁ͷΞΫηεΛఏڙ͢ΔProxyͱͯ͠ͷར༻ ‣ αʔόଆͷϞσϧఆٛΛར༻ͯ͠SDKΛੜ੒͢Δ͜ͱʹΑΓ ΫϥΠΞϯταΠυͷ։ൃෛՙͷܰݮ ‣ SDKͷఏڙʹΑΔΤΫεϙωϯγϟϧόοΫΦϑ΍ AWS Signature Version 4 ͷར༻ ‣ ඇৗʹଟ͘ͷϝϦοτ͕ड͚ΒΕΔ ݸਓతΦεεϝ 1

Slide 27

Slide 27 text

27 ‣ ҰൠతʹʮAPI ϚωʔδϝϯτʯͱݴΘΕΔྖҬʹ͸ଞʹ ΋ଟ͘ͷ੡඼΍αʔϏε͕ଘࡏ͢Δ ‣ MasheryɾApigeeɾIBM API ManagementɾMashape etcɾɾɾ ‣ ֤ࣾػೳ΍ֹۚʹΑ༷ͬͯʑͳҧ͍͕͋Δ ‣ ༻్΍ཁ݅ʹΑͬͯ࠷దͳ෺ΛબΜͰར༻͍͚ͯ͠͹ྑ͍ ‣ AWSΛར༻͍ͯͯ͠༻్΍ཁ͕݅߹͑͹ݸਓతʹ͸ Amazon API Gateway ͕Φεεϝʂʂ ݸਓతΦεεϝ 1

Slide 28

Slide 28 text

28 ✓ ձࣾ঺հ ✓ ݸਓతΦεεϝ 1 ➡ݸਓతΦεεϝ 2 ‣ ·ͱΊ ΞδΣϯμ

Slide 29

Slide 29 text

29 ‣ DEV201 - AWS SDK For Go: Gophers Get Going with AWS - http://www.slideshare.net/AmazonWebServices/ dev201-aws-sdk-for-go-gophers-get-going-with-aws ‣ Developer Tools ͷIntroductory (200 level) ͳͷͰೖ ໳Ϩϕϧ ‣ ݱࡏ Developer Preview தͷGoݴޠ༻SDKʹؔ͢Δ ηογϣϯ ݸਓతΦεεϝ 2

Slide 30

Slide 30 text

30 ‣ ͳͥGoݴޠͳͷ͔ʁ ‣ ·ͣୈҰ͸ݸਓతʹ޷͖͔ͩΒ ‣ ΫϩείϯύΠϧʹΑΓϚϧνϓϥοτϑΥʔϜ ରԠ͕ՄೳͷͨΊϙʔλϏϦςΟ͕ߴ͍ ‣ ࣮ߦ͚ͩͰ͋Ε͹ҰൠతͳεΫϦϓτݴޠͱҧ͍ ؀ڥ΁ͷࣄલ४උ͕ෆཁ ‣ ϚϧνCPUʹରԠͨ͠ฒྻॲཧ͕؆୯ʹهड़Մೳ ݸਓతΦεεϝ 2

Slide 31

Slide 31 text

31 ‣ ݱࡏ࠷৽ͷόʔδϣϯ1.5ܥ͔ΒηϧϑϙʔςΟϯ ά͞ΕGoͰGoݴޠ͕։ൃ͞Ε͍ͯΔ ‣ ڧ͍੩తܕ෇͚ݴޠͷͨΊC΍Javaͱݴͬͨݴޠ ʹ׳Ε͍ͯΔਓʹ͸ҧ࿨ײͳ͘ར༻Ͱ͖Δͱࢥ͏ ‣ ࢥͬͨΑΓ΋࣮ߦ࣌ͷϝϞϦফඅྔ͕௿͘շదʹ ಈ࡞͢Δ ‣ Android΍iOSʹؔͯ͠΋αϙʔτ͕࢝·͍ͬͯΔ ݸਓతΦεεϝ 2

Slide 32

Slide 32 text

32 ‣ ྫ͑͹αʔϏεͷӡ༻Ͱόονॲཧ͕ඞཁͳ৔߹ʹ AWS SDK for Go Λར༻͢Δ͜ͱΛߟ͑Δ ‣ 1ͭͷίʔυ͔ΒLinux༻ͱWindows༻ͷόονϓϩάϥϜ Λ࡞Δ͜ͱ͕ग़དྷΔ ‣ ࡉ͔͍࣮ߦ؀ڥͷઃఆ͕ෆཁͳͷͰAWSؔ࿈ͷઃఆ͕໰୊ ͳ͚Ε͹ීஈ࢖ͬͯͳ͍؀ڥ͔Β΋࣮ߦͰ͖Δ ‣ جຊతʹ1ͭͷόΠφϦϑΝΠϧͰ഑෍͢Δ͜ͱʹͳΔͨΊ ഑෍͕؆୯ ݸਓతΦεεϝ 2

Slide 33

Slide 33 text

33 ʮGobotʯͰݕࡧʂ http://gobot.io/

Slide 34

Slide 34 text

34 ‣ Raspberry PiɾArduinoɾIntel Edison౳ͷ͋Δఔ౓εϖο Ϋ͕͋Ε͹ Gobot ϑϨʔϜϫʔΫΛར༻ͯ͠ηϯαʔྨ ͷίϯτϩʔϧ΋Մೳ ‣ MQTT पΓ΋αϙʔτ͞Ε͓ͯΓIoTϓϥοτϑΥʔϜͱ ͷ઀ଓ΋Մೳ ‣ ͜ͷΑ͏ʹద༻ͷ෯͕޿͘·ͩ·ͩ։ൃ͕ଓ͍͍ͯΔ͜ͱ ͔Β AWS SDK for Go ͱͷ૊Έ߹ΘͤͰͷར༻ʹ͍ͭͯ ΋େ͖ͳՄೳੑ͕͋Δ ݸਓతΦεεϝ 2

Slide 35

Slide 35 text

35 ‣ ηογϣϯ࠷ޙͷQ&AͰ AWS Lambda ͰGoݴޠ͕ར༻͍ͨ͠ͱͷ ੠͕͍͔ͭ͋ͬͨ͘ ‣ AWS SDK for Go ͕·ͩGAʹͳ͍ͬͯͳ͍ͷͰɺ࠷௿Ͱ΋GAʹͳ Βͳ͍ͱରԠ༧ఆʹ΋ೖΒͳ͍໛༷ ‣ AWS Lambda ͱ Amazon API Gateway ͷ૊Έ߹ΘͤͰAPIެ։͢ ΔࡍʹίʔυࣗମΛ Goݴޠ Ͱهड़Ͱ͖Ε͹ݱঢ়ͷ࢓૊ΈΛ΄΅Ҡ২ Մೳ Ͱ͸ͳ͍͔ʁ ‣ εέʔϥϒϧ͔ͭӡ༻ʹ͓͍ͯ΋ϝϦοτ͕͋ΔͷͰ AWS Lambda ͰͷରԠΛظ଴͍ͯ͠Δ ݸਓతΦεεϝ 2

Slide 36

Slide 36 text

36 ✓ ձࣾ঺հ ✓ ݸਓతΦεεϝ 1 ✓ ݸਓతΦεεϝ 2 ➡·ͱΊ ΞδΣϯμ

Slide 37

Slide 37 text

37 ‣ Amazon API Gateway ͸API͕த৺ͱͳΔ࢓૊ΈͷதͰܽ ͔ͤͳ͍ଘࡏʹͳΔՄೳੑ ‣ ϏδωεͷίΞͱͳΔ෦෼ʹूதͰ͖ɺAPIͷϚωʔδϝ ϯτ͸AWSʹ೚ͤΒΕΔ ‣ ࢖͍ํʹΑͬͯ͸αʔϏεϨϕϧͷίϯτϩʔϧ΍։ൃ؀ ڥͱຊ൪؀ڥͷ੾Γସ͑ͳͲΛߦ͑Δ ‣ SDKͷࣗಈੜ੒ػೳʹΑΓΫϥΠΞϯταΠυͷ։ൃޮ཰ Խ΍ηΩϡϦςΟରࡦʹ΋ͳΔ ·ͱΊ

Slide 38

Slide 38 text

38 ‣ AWS SDK for Go Λར༻͢Δ͜ͱͰGoݴޠࣗମͷಛ௃Λ αʔϏε΍ӡ༻ʹରͯ͠ੜ͔͢͜ͱ͕Ͱ͖Δ ‣ Gobot Λ͸͡Ίͱͨ͠Goݴޠͷ๛෋ͳϑϨʔϜϫʔΫ΍ ϥΠϒϥϦ܈Λར༻ͯ͠ՄೳੑΛ޿͛ΒΕΔ ‣ ࢖͍ํʹΑͬͯ͸OSຖʹ͋Δίʔυͷ1ݩԽ΍࣮ߦ؀ڥΛ ߏங͢Δ࡞ۀͷഇࢭ͕Մೳ ‣ AWS Lambda ͰͷରԠΛָ͠Έʹ଴ͭؒʹGoݴޠྗΛߴ Ί͓͖͍ͯͨ ·ͱΊ

Slide 39

Slide 39 text

39 ‣ Serverless Architecture on AWS - http://www.slideshare.net/keisuke69/serverless-architecture- on-aws ‣ தͷਓʹΑΔ্هࢿྉ͕ඇৗʹΘ͔Γ΍͍͢ͷͰΦεεϝ ‣ ࢒೦ͳ͕ΒGoݴޠͷ࿩͸ग़ͯ͜ͳ͍͕ɺ͜Ε͔ΒͷΫϥ΢υར༻ ʹ͓͍ͯॏཁͳϙΠϯτͱͳΔ߲໨͕ଟ਺ؚ·Ε͍ͯΔ ‣ ·ͨɺ͢Ͱʹ͜ͷߟ͑ํͰϓϩμΫγϣϯΛӡ༻͍ͯ͠Δద༻ࣄ ྫ΋ؚ·Ε͍ͯΔ ‣ ͍͔ʹָΛͯ͠ຊདྷͷ໨తͰ͋ΔϏδωεʹϑΥʔΧεͰ͖Δ͔ ͕ॏཁʹͳ͖͍ͬͯͯΔ ·ͱΊ

Slide 40

Slide 40 text

40 ͓ग़͔͚ͷࡍʹ͸ ʮӺ͢ͺ͋ͱʯorʮRooteʯͰݕࡧʂ https://ekiworld.net/personal/service/index.html

Slide 41

Slide 41 text

41 Thank you for listening. ʮ·ͪͳΈ͘ΜʯͰݕࡧʂ https://www.facebook.com/matinamikun

Slide 42

Slide 42 text

42 ‣ AWS re:Invent 2015 - http://reinvent.awseventsjapan.com/ ‣ AWS re:Invent2015ʲอଘ൛ʳશηογϣϯΛ໢ཏʂඇެࣜ·ͱΊ #reinvent - http://dev.classmethod.jp/cloud/aws/reinvent-2015- matome/ ‣ DEV203 - Using Amazon API Gateway with AWS Lambda to Build Secure and Scalable APIs - http://www.slideshare.net/AmazonWebServices/dev203- amazon-api-gateway-aws-lambda-to-build-secure-apis Appendix

Slide 43

Slide 43 text

43 ‣ DEV201 - AWS SDK For Go: Gophers Get Going with AWS - http://www.slideshare.net/AmazonWebServices/ dev201-aws-sdk-for-go-gophers-get-going-with-aws ‣ Gobot - Golang framework for robotics, physical computing, and the Internet of Things - http://gobot.io/ ‣ Serverless Architecture on AWS - http://www.slideshare.net/keisuke69/serverless- architecture-on-aws Appendix

Slide 44

Slide 44 text

44 ‣ JAWS-UG தԝઢ - http://jaws-ug.jp/bc/chuoline/ ‣ JAWS-UG ژԦઢ - https://jawsug-keioline.doorkeeper.jp/ ‣ uchimanajet7 - Pixelhub.me - http://pixelhub.me/pixelhub1/index.php? user=uchimanajet7 Appendix

Slide 45

Slide 45 text

45 ‣ αʔϏεɾ੡඼঺հ - ݸਓϢʔβʔ޲͚αʔϏε - https://ekiworld.net/personal/service/index.html ‣ Ӻ͢ͺ͋ͱͷʰRooteʱ - http://roote.ekispert.net/ ‣ AWS ಋೖࣄྫ:גࣜձࣾϰΝϧݚڀॴ - https://aws.amazon.com/jp/solutions/case-studies/val/ ‣ ·ͪͳΈ͘Μ - https://www.facebook.com/matinamikun Appendix