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
a.shimomura
February 15, 2020
Technology
1
140
serverless
a.shimomura
February 15, 2020
Tweet
Share
More Decks by a.shimomura
See All by a.shimomura
機械翻訳との付き合い方
shimomura
0
190
クリーンアーキテクチャとアトミックデザインをやってみた話
shimomura
0
400
Other Decks in Technology
See All in Technology
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
190
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
230
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
2
480
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
170
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
7
1.3k
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
0
220
Azureの基本的な権限管理の勉強会
yhana
0
510
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
160
リテール金融(キャッシュレス・ネット銀行・ネット証券)の競争環境と経済圏
8maki
0
1.2k
VS CodeでAWSを操作しよう
smt7174
8
1.7k
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
1
240
Cracking the KubeCon CfP
inductor
2
250
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
422
63k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
357
22k
Practical Orchestrator
shlominoach
182
9.7k
GitHub's CSS Performance
jonrohan
1025
450k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
Designing with Data
zakiwarfel
96
4.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
Rebuilding a faster, lazier Slack
samanthasiow
73
8.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
Writing Fast Ruby
sferik
621
60k
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…
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠