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
Search
akshimo
February 15, 2020
Technology
1
200
serverless
akshimo
February 15, 2020
Tweet
Share
More Decks by akshimo
See All by akshimo
私の推し技術(DERTA Gig #18)
shimomura
1
62
UPDATEがシステムを複雑にする? イミュータブルデータモデルのすすめ
shimomura
2
790
5分でわかる イミュータブル データモデル
shimomura
1
160
アラートの話 をしよう!
shimomura
0
77
機械翻訳との付き合い方
shimomura
0
240
Other Decks in Technology
See All in Technology
Flaky Testへの現実解をGoのプロポーザルから考える | Go Conference 2025
upamune
1
330
“2件同時配達”の開発舞台裏 〜出前館PMが挑んだダブルピック実現に向けた体験設計〜
demaecan
0
160
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
3
140
業務自動化プラットフォーム Google Agentspace に入門してみる #devio2025
maroon1st
0
170
analysis パッケージの仕組みの上でMulti linter with configを実現する / Go Conference 2025
k1low
1
250
バイブコーディングと継続的デプロイメント
nwiizo
2
370
5年間のFintech × Rails実践に学ぶ - 基本に忠実な運用で築く高信頼性システム / 5 Years Fintech Rails Retrospective
ohbarye
9
3.9k
extension 現場で使えるXcodeショートカット一覧
ktombow
0
120
「Verify with Wallet API」を アプリに導入するために
hinakko
1
120
ユニットテストに対する考え方の変遷 / Everyone should watch his live coding
mdstoy
0
110
入門 FormObject / An Introduction to FormObject #kaigionrails
expajp
2
1.6k
Sidekiq その前に:Webアプリケーションにおける非同期ジョブ設計原則
morihirok
17
6.6k
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Why Our Code Smells
bkeepers
PRO
339
57k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Designing for humans not robots
tammielis
254
25k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Bash Introduction
62gerente
615
210k
Docker and Python
trallard
46
3.6k
GitHub's CSS Performance
jonrohan
1032
460k
How to Think Like a Performance Engineer
csswizardry
27
2k
How STYLIGHT went responsive
nonsquared
100
5.8k
Transcript
αʔόϨεͬͯΈͯ ྑ͔ͬͨͱ͜ͱ͔ѱ͔ͬͨͱ͜ͱ ͔ ૼଜ ݠୋ
ࣗݾհ • twitter : @akshimo • php, ruby, java, vue.js,
aws, alibaba cloud… • ͨ·ʹ৽ਓݚमߨࢣͱ͔ͬͨΓ • ͖ͳ͓ञɿΞϒαϯ
ࠓͷ • αʔόϨεͬͯΈͯྑ͍ͱࢥͬͨͱ͜ɺѱ ͍ͱࢥͬͨͱ͜Λ͔ͨͬͨ͠ • Ұ൪͍͑ͨྑ͍Օॴ͕͋ΔͷͰɺ͋ͱ͓ ·͚తͳҐஔ͚
લఏ • ύϒϦοΫΫϥυͷදతͳαʔϏεͷ ࣝ • ίϯςφRDBMSͳͲͷجຊతͳٕज़ཧղ • AWSΛྫͱ͓ͯ͠͠·͢
ࢲతαʔόϨεྺ ؆୯ͳTMBDLͷCPUΛαʔόϨεͰ࡞ͬͯΈΔ ৽ن։ൃ͕ඞཁͳόονॲཧΛαʔόϨεͰ࡞Δ ࣾཧXFCγεςϜΛαʔόϨεͰ࡞ΔOPX
“serverless”ͷgoogleτϨϯυ
αʔόϨεͱ • αʔόͷϓϩϏδϣχϯάཧ͕ෆཁ • BaasFaasɺͦͷଞαʔϏεΛΈ߹Θͤͯ ࣮ݱ͢Δ ɹBaas : Firebase, Auth0,
etc… ɹFaas : Lambda, AzureFunctions, etc…
·͓͖͍ͣ͑ͯͨ αʔόϨεʢಛʹFaasʣͰɺ εςʔτϨεɺႈੑ͕ཁٻ͞ΕΔɻ ఏڙ͞ΕΔͷ͋͘·Ͱ1ͭͷʮؔʯ ɹɹɹɹɹɹɹɹˣ ɹɹ୯Ұॲཧݪଇʢ୯Ұݪଇʁʣ
डαʔϏε ܾࡁαʔϏε ࡏݿҾαʔϏε จ DBMM ग़ՙαʔϏε DBMM DBMM
• αʔϏεݺͼग़͠ଆ͕ݺͼग़͢αʔϏεͷ͜ ͱΛ͍ͬͯͳ͚Ε͍͚ͳ͍ɿີ݁߹ • ͜ΕΛαʔόϨεͰ࣮ݱ͢Δͷݱ࣮తͰ ͳ͍
ͦ͜Ͱɺ EVENT DRIVEN
डαʔϏε ܾࡁαʔϏε ࡏݿҾαʔ Ϗε จ ग़ՙαʔϏε QVCMJTI &7&/5 TVCTDSJCF TVCTDSJCF
TVCTDSJCF
• ֤αʔϏεଞαʔϏεΛҙࣝ͠ͳ͍ɻ Pub/Sub͖͢ΠϕϯτͷΈΛҙࣝ͢Δɻ • ૄ݁߹Ͱ͋Γͳ͕Βɺूɺཧ͕Ͱ͖Δɻ • ࣗવͱඇಉظͱͳΓϦτϥΠՄೳͱͳΔɻ • େنͳγεςϜͰ্هಉ͡ʂ
EVENT DRIVENʹΘΕΔαʔϏεྫʢҰ෦ʣ
͜Ε͔ͬͯͳΓચ࿅͞Εͨ ϚΠΫϩαʔϏγʔζ ͷ͔ͨͪͳΜ͡Όͳ͍ʁ
ͭ·ΓɺαʔόϨεʹ͢Ε উखʹ៉ྷͳϚΠΫϩαʔϏγʔζ͕ ग़དྷ্͕ΔΜͩʂʂʁ ʢࠓҰ൪ݴ͍͔ͨͬͨࣄʣ
ͦͷଞαʔόϨεͷ ಛɾϝϦοτ/σϝϦοτΛ μΠδΣετͰ
͍҆ʂ • ݴΘ͕ͣͳͷϝϦοτ • ΠϯϑϥΤϯδχΞͷਓతίετతͳ໘Ͱ Goodʢอकੑʣ
εέʔϥϏϦςΟ • ϝϦοτ • جຊউखʹεέʔϧΞτ͢Δͱ͍͏εʔύʔ ༷ • ҰԠϦʔδϣϯຖʹಉ࣮࣌ߦઃ͚ΒΕͯ ͍Δ
RDBMSͱͷ૬ੑ • σϝϦοτɺجຊΞϯνύλʔϯ • εςʔτϨεͷͨΊɺίωΫγϣϯϓʔϧ͕͑ͳ͍ • உͬͯʮDynamoDBʯ • ʮRDS ProxyʯͷొʹΑΓղܾʂʁ
https://dev.classmethod.jp/cloud/aws/lambda- support-rds-proxy-beta/
ίʔϧυελʔτ • σϝϦοτ • lambda࣮ߦ࣌ʹίϯςφͷ࡞ͳͲ࣮ߦڥ ͷॳظԽΛ͏߹͕͋Δ • Provisioned ConcurrencyʹΑΓղܾʂʁ https://dev.classmethod.jp/cloud/aws/
lambda-support-provisioned-concurrency/
ίʔυͷԽ • σϝϦοτʁ • lambda layerʹΑΓଟগղܾՄೳʁ https://dev.classmethod.jp/cloud/aws/ lambda-layer-basics-how-it-works/
ίʔυཧͰ͖ͳ͍ΜͰ͠ΐʁ • Ͱ͖ΔΑʂ • SAM CLI (https://github.com/awslabs/aws- sam-cli) • lambroll
(https://github.com/fujiwara/ lambroll) • apexNo longer maintained…
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠