Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
オープンソースコミュニティで加速するサーバーレスの未来/serverless will be
Search
堀家隆宏
October 04, 2019
Programming
4
700
オープンソースコミュニティで加速するサーバーレスの未来/serverless will be
堀家隆宏
October 04, 2019
Tweet
Share
More Decks by 堀家隆宏
See All by 堀家隆宏
auth0-meetup.pdf
horike37
1
250
What’s happening with Serverless Framework, and it lives with AWS SAM.
horike37
0
81
What is Serverless. Why is Serverless.
horike37
1
60
aws-with-functional-saas
horike37
2
160
serverless-with-oss
horike37
0
110
slsconftokyo
horike37
0
5.3k
slsconfworkshop
horike37
3
2.5k
Test Driven Development For Lambda
horike37
2
300
serverless-kyoto
horike37
1
160
Other Decks in Programming
See All in Programming
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
830
Recoilを剥がしている話
kirik
5
6.8k
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
110
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
6
1.4k
Jakarta EE meets AI
ivargrimstad
0
260
わたしの星のままで一番星になる ~ 出産を機にSIerからEC事業会社に転職した話 ~
kimura_m_29
0
180
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
500
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
270
Kaigi on Railsに初参加したら、その日にLT登壇が決定した件について
tama50505
0
100
menu基盤チームによるGoogle Cloudの活用事例~Application Integration, Cloud Tasks編~
yoshifumi_ishikura
0
110
良いユニットテストを書こう
mototakatsu
8
2.7k
useSyncExternalStoreを使いまくる
ssssota
6
1.1k
Featured
See All Featured
Designing for Performance
lara
604
68k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Done Done
chrislema
181
16k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Building Adaptive Systems
keathley
38
2.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Transcript
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. T O K Y O 2 0 1 9 . 1 0 . 0 3 - 0 4 ΦʔϓϯιʔείϛϡχςΟͰ Ճ͢ΔαʔόʔϨεͷະདྷ ງՈོ CEO Serverless Operations LLC
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ࣗݾհ ɾServerless Operationsͱ͍͏ձࣾΛͬͯ·͢ ɾServerless Frameworkͷϝϯςφʔ ɾαʔόʔϨεͰͷ։ൃָ͕ʹͳΔπʔϧΛ࡞ͬͯ ɹΦʔϓϯιʔεͰެ։ͯ͠·͢ ɾServerless Meetup TokyoͷΦʔΨφΠβʔ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. Ϋϥυͷੈքͷதʹ͍ͳ͕Βɺ ΦʔϓϯιʔείϛϡχςΟʹࢀՃ͢Δ͜ͱͷָ͠͞ҙຯ ͦͯͦ͠Ε͕͋ͳͨࣗΩϟϦΞʹͲΜͳӨڹΛͨΒ͢ͷ͔ ຊ͍͑ͨ͜ͱ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. Agenda ɾࢲͱαʔόʔϨεͷྺ࢙ ɾࢲ͕ؔΘ͍ͬͯΔOSSϓϩδΣΫτ ɾάϩʔόϧͷαʔόʔϨείϛϡχςΟʹࢀՃ͢Δ͜ͱ ɹͦͷதͰಘͨͷ ɾOSSϓϩδΣΫτΛܧଓతʹଓ͚Δํ๏ ɾ͜Ε͔ΒͷαʔόʔϨεͷ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. T O K Y O ͳͥαʔόʔϨεͳ OSSʹத͢ΔΑ͏ʹͳͬͨͷ͔ গࣗ͠ͷྺ࢙Λ͔͞ͷ΅ͬͯΈΔ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ɾ2006ɿେֶͷݚڀࣨͰγϡϛϨʔγϣϯͷϓϩάϥϜΛC++Ͱॻ͘ ɹɹɹɹɹϓϩάϥϛϯάͷָ͠͞Λײ͡ΔΑ͏ʹͳΔ ɾ2008ɿਆށσδλϧɾϥϘͱ͍͏ਆށͷSierͷձࣾʹ৽ଔೖࣾɻ ɹɹɹɹɹPHPΛ͔ͭͬͨWebΞϓϦέʔγϣϯͷ։ൃͷࣄΛͨ͘͞ΜΔ ɾ2009ɿΦʔϓϯιʔεCMSͷWordPressͱͷग़ձ͍ ྺ࢙
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. WordPressͱͷग़ձ͍
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. WordPressͱAWSͳʑ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. AWSָ͕ͦ͠͏ʹөΔʑ ɾ2013ࠒɺ·ͩEC2͕த৺ͷੈք؍ɻ ɹϓϩάϥϚʔͷࣗΠϯϑϥΛ৮Δ͜ͱ͕΄΅ͳ͍ͨΊ ɹਂؔ͘ΘΔ͜ͱͳ͔ͬͨ ɾͰAWSͷ͍ίϛϡχςΟʹඇৗʹऒ͔Ε͍ͯͨ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. 2014 - AWS LambdaͷϦϦʔε
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. AWS Lambdaͷ͕ͨΒͨ͠ͷ αʔόʔΛ࡞ΒͣͱϓϩάϥϜ͕AWS্Ͱ࣮ߦͰ͖ΔΑ͏ʹͳͬͨ ࣗͨͪʹAWSͷαʔϏεΛΈ߹Θͤͯ໘ന͍ͷ͕ͭ͘ΕΔͧͱ͍ ͏ϫΫϫΫ͕େ͖͘૿ͨ͠
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. 2015 - API GatewayͷϦϦʔε
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. API Gateway͕ͨΒͨ͠ͷ LambdaϕʔεͰ࡞ͬͨΞϓϦέʔγϣϯ͕HTTPϓϩτίϧΛ௨ͯ͠ AWSͷ֎ͷੈքʹ༰қʹग़ͤΔΑ͏ʹͳͬͨ AWSͷαʔϏεΛ্ख͘Έ߹Θͤͯ໘ന͍ΞϓϦέʔγϣϯΛ ެ։Ͱ͖Δͧͱ࣌ͷࣗେ͖͘ڵฃͨ͠
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ಈ͘ͷΛ࡞ͬͯࢼ͢ʑ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ໘ͨ͠ ɾϚωδϝϯτίϯιʔϧ͔ΒιʔείʔυΛΞοϓϩʔυ͢ΔͨΊɺ ɹόʔδϣϯཧͰ͖ͳ͍ ɾࢄڥԼͰͲͷΑ͏ʹߏཧ͢Δͷʁ ɾCI/CDͷࣗಈԽʁ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ͦΕΒΛղܾ͢ΔServerless Frameworkͷొ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. AWSͷߏΛOSSԽͰ͖Δিܸ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. T O K Y O ࢲ͕ؔΘΔαʔόʔϨεͳOSSϓϩδΣΫτ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. Serverless Framework
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ϓϥάΠϯγεςϜ Community Plugins
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. Serverless Step Functions
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ઃఆϑΝΠϧͷॻ͖ํ Reference to the functions Statemachine definition
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. Step FunctionsͷΠϕϯτιʔεΛఆٛ Event Source Step Functions Workflow
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ઃఆϑΝΠϧͷهड़ྔ͕গͳͯ͘ࡁΉ CloudFormation Serverless Step Functions
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. Serverless Step Functions
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. Serverless API Gateway Service Proxy https://github.com/horike37/serverless-apigateway-service-proxy
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. API GatewayͱAWSαʔϏεΛΠϯςάϨʔγϣϯ͢Δέʔε AWS Services API Gateway
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. Lambdaແ͠ͰͷΠϯςάϨʔγϣϯ AWS Services API Gateway
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. γϯϓϧͳઃఆϑΝΠϧ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. Ϣʔεέʔε https://qiita.com/horike37/items/4da41b7859cbf7bb9baf
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ΞʔΩςΫνϟ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ϑϩϯτ͔ΒAPIΛݺͼKinesisʹPVΛPUT
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ͦͷଞίϯτϦϏϡʔγϣϯͨ͠OSS ɾServerless Dashboard For Atom ɾServerless Application Model ɾAlisProject/serverless-application ɾServerless Delete Log Groups ɾServerless Package Customizer ɾPynamoDB ɾSimple API Gateway
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. T O K Y O αʔόʔϨεͳOSS׆ಈΛܧଓతʹଓ͚Δ Ϟνϕʔγϣϯ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ΦϯϥΠϯͰίʔυΛத৺ʹܨ͕ΔίϛϡχςΟ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ϓϩάϥϚͱͯͦ͜͠ʹࢀՃ͢Δָ͠͞ ɾਓؾͷ͋ΔΦʔϓϯιʔεϓϩμΫτʹεΩϧ͕༗Δਓ͕ू·ͬͯ͘Δɻ ɹͦ͏͍ͬͨਓ͔ΒιʔεͷϨϏϡʔΛड͚Δ͜ͱͰ֨ஈʹεΩϧΞοϓ͢Δ ɾԕ͘ͷࠃͷձͬͨ͜ͱͷͳ͍ਓ͔Βײँ͞ΕΔتͼ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ӳޠ͕Ͱ͖ͳ͍͜ͱେ͖ͳͰͳ͍ ɾࣗৗձ͕ո͍͠Ϩϕϧ ɾ༁πʔϧ͑ͷҙݟҙਤΛɹ ɹ͑Δ͜ͱՄೳ ɹॏཁͳͷ͕͔͔࣌ؒͬͯจষΛ ɹΈཱͯͯɺͦΕΒΛ͑Δ͜ͱ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ͜ΜͳϚΠϯυηοτͰOSSͱ͔͍߹͏ ɾਓؾͷ͋ΔΦʔϓϯιʔεϓϩμΫτɺ ɹҒ͍ͯ͘͢͝ਓ͚͕ͩͭͬͯ͘ΔͷͰͳ͍ ɹͨΓલʹࣗͷҙࢤ͕өͰ͖ΔॴͰ͋Δͱ͍͏͜ͱ ɾࣗͷॻ͍ͨίʔυ͕ྫ͑1ߦͩͱͯ͠ੈքதͷਓʹΘΕͯɺ ɹͲ͔͜ͷ୭͔ͷʹཱͬͯΔ͔͠Εͳ͍ͱ૾ͯ͠ΈΔ͜ͱ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. “ੈքΛม͑Δ͜ͱ͍͕͠ɺ ੈքΛ0.0000001mmྑ͘͢Δ͜ͱ ࠓͷগ͠ͷ͕ΜΓͰՄೳ͔͠Εͳ͍”
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. OSS׆ಈΛܧଓͤ͞Δʹ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ͳͥܧଓ͕͍͔͠ ɾऔΓ͑ͣެ։ͯ͠Έ͕ͨɺಛʹ୭͔ΒͷԠͳ͖ͯ͘͠·͏ ɾOSS׆ಈࣗମΊͪΌͪ͘Όຯ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ͲͷΑ͏ʹͦΕΛଧ։͢Δͷ͔ ɾ·ͣελʔ͕1000Ҏ্҆ʹΑؔ͘Θ͍ͬͯΔਓ͕ෳ͍Δɺ͔ͭ ɹhelp-wantedͳͲίϯτϦϏϡʔλͷೖΓޱΛ࡞ͬͯ͘ΕΔϓϩδΣΫτ ɹͰܧଓతʹϓϧϦΫΤετΛૹΓଓ͚Δ ɾઌૹΓʹ͞Ε͍ͯΔΛ௵͍ͯ͘͠ਓͷ ɹଘࡏΊͪΌͪ͘Όॏཁ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ͲͷΑ͏ʹͦΕΛଧ։͢Δͷ͔ ɾܧଓ͢ΔਓͷΊͪΌͪ͘Όগͳ͍ɻ ɹܧଓ͢Δ͜ͱͰ৴པ͞ΕͯίϛοτݖΛ༩͞ΕΔՄೳੑ͔ͳΓߴ͍ ɾίϛοτݖΛΒ͏ࠒʹɺͦͷOSSϓϩμΫτͰίϛϡχςΟ ɹͷ͍ͪһͱͯ͠ೝࣝ͞ΕΔɻࣗͷݟ͑Δܠ৭มΘΔ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ͲͷΑ͏ʹͦΕΛଧ։͢Δͷ͔ ɾͦͯ͠ɺϓϧϦΫΛग़͠ଓ͚ͨϓϩμΫτͷϓϥάΠϯͳͲਵͷ ɹOSSϓϩμΫτΛग़ͯ͠ΈΔ ɾίϛϡχςΟͷਓ͕ϑΟʔυόοΫͨ͠Γ ɹએͯ͘͠ΕͨΓɺҰॹʹ։ൃʹࢀՃͯ͘͠ΕͨΓͱ͍͏ɺ ɹྑ͍αΠΫϧ͕ճΔΑ͏ʹͳΓɺܧଓ͍͚ͯ͠ΔϞνϕʔγϣϯΛอͪ͘͢ͳΔ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. αʔόʔϨεͷະདྷͱ Φʔϓϯιʔε
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. Cloud 2.0ͱͲ͏͍ͬͨͷ͔ ɾαʔόʔϨεͰࣗͨͪͰΛ࣋ͨͳ͍ͱ͍͚ͳ͍ͷͬͯίʔυͷ෦ͩΑͶ ɹ͔ͩΒͦͷ͔Β։์͞ΕΔͨΊʹΑΓগͳ͍ίʔυΛΉΑͶ ɾͦͯͦ͠ͷଟ͘ϚωʔδυαʔϏεͰ࣮ݱͰ͖ͳ͍෦Λ ɹίʔυͰอͯ͠Δέʔε͕ଟ͘ɺͦ͜ʹେ͖ͳՁͳ͍ΑͶ ɾͭ·Γ“ڀۃͷαʔόʔϨεΞϓϦέʔγϣϯʹ ɹ·ͬͨ͘ίʔυ͕ͳ͍ΜͩΑ”
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. Cloud 2.0ͱͲ͏͍ͬͨͷ͔ ɾαʔόʔϨεͷૂ͍ΑΓίʔυΛগͳ͘ΫϥυͷαʔϏεΛ ɹग़དྷΔݶΓ͏͜ͱͩΑ ɹ͜ΕΛվΊͯ࣍ੈͷΫϥυͷ͍ํͱͯ͠“Cloud 2.0"ͱ໊͚ͯΈΑ͏ ɾ“Cloud 2.0”࣌ͷΩϯάͩΕ͔ʁͦΕʮ֦ுੑͱՄ༻ੑͷߴ͍ ɹΫϥυαʔϏεͷརΛཧղͯ͠ɺ ɹͦΕΒΛ݁ͼ͚ͭΔͨΊͷ࠷খݶ࠷దԽ͞Εͨ ɹίʔυΛॻ͘ਓͨͪʯͩͱ͓͏Α
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. “ϑϧϚωʔδυαʔϏεΛ͏·͘ར༻͢Δ͜ͱͰɺ ΞϓϦέʔγϣϯϩδοΫͷͷଟ͘ΛΫϥυʹͤ ΑΓϏδωεόϦϡʔΛग़ͨ͢Ίͷࣄʹूத͢Δ͜ͱ“ Cloud 2.0࣌ͷϚΠϯυηοτ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. ͦΜͳมԽʹͲͷΑ͏ʹ͖߹͏͔ ɾCloud2.0ͷ࣌ͰɺίʔυΛॻ͘ͱ͍͏͜ͱ͕ຊ࣭తʹͳ͘ͳ͍ͬͯ͘ͱ͍͏ ɹ͜ͱͳ͍ɻԿނͳΒΫϥυαʔϏεؚΊͨ͜ͷੈͷιϑτΣΞ ɹͯ͢ϓϩάϥϜͰಈ͍͍ͯΔͱ͍͏ࣄ࣮ ɾίʔυΛॻ͘ࢹΛม͑ͯΈΔɻ୯ൃͰೲ͢ΔࣄͷίʔυʹՁ ɹ͋Δͷ͔ʁܧଓతʹԿ͔ΛղܾͰ͖ΔΑ͏ͳ͜ͱΛίʔυͰදݱͯ͠ ɹ͍͘ํ͕Α͍ͷͰ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. OSSͰ͋Δͱ͍͏νϟϯε ɾΫϥυͷαʔϏεʑ৽͍͠ͷ͕ϦϦʔε͞ΕΔɻ ɹ৽͍͠ͷ͕ग़Δͱ͍͏͜ͱͦΕʹਵͯ͠ ɹ৽ͨͳൃੜ͢Δͱ͍͏͜ͱɻͱνϟϯεͰ͋Δͱ͍͏͜ͱ ɾOSSͰࣗͷॻ͘ίʔυ͕ଟ͘ͷਓʹӨڹΛ༩͑ΒΕΔͣ
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. One more thing…
© 2019, Amazon Web Services, Inc. or its affiliates. All
rights reserved. https://tokyo.serverlessdays.io/ ຊͰServerless DaysΓ·͢
Thank you! © 2019, Amazon Web Services, Inc. or its
affiliates. All rights reserved. ງՈོ
[email protected]