Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Serverless
さっちゃん
August 31, 2016
Programming
0
430
Serverless
\Serverless/
さっちゃん
August 31, 2016
Tweet
Share
More Decks by さっちゃん
See All by さっちゃん
名實一致
ne_sachirou
0
470
まかれるあなとみあ ―Mackerel のしくみを理解する 30 分― @ Hatena Engineer Seminar #16
ne_sachirou
0
2.3k
tacit programming : Point-free, Concatenatives & J
ne_sachirou
0
330
Monitoring Containerized Elixir
ne_sachirou
1
520
Let's create stateful systems, by Elixir
ne_sachirou
1
520
Phoenix LiveReact
ne_sachirou
1
280
Phoenix LiveView チュートリアル
ne_sachirou
1
110
DDD: Data Driven Development
ne_sachirou
6
4.4k
Elixir on Containers
ne_sachirou
1
620
Other Decks in Programming
See All in Programming
実践エクストリームプログラミング / Extreme Programming in Practice
enk
1
530
IE Graduation Certificate
jxck
6
4.8k
Java初心者が知っておくべきプログラミングのこと - JJUG CCC 2022 Spring
kishida
5
540
無限スクロールビューライブラリ 二つの設計思想比較
harumak
0
230
設計の学び方:自分流のススメ
masuda220
PRO
7
1.9k
ES2022の新機能
smt7174
0
240
競プロのすすめ
uya116
0
660
Independently together: better developer experience & App performance
bcinarli
0
170
GDG Seoul IO Extended 2022 - Android Compose
taehwandev
0
300
Get Ready for Jakarta EE 10
ivargrimstad
0
2.1k
Get Ready for Jakarta EE 10
ivargrimstad
0
370
Meet Swift Regex
usamik26
0
340
Featured
See All Featured
How to Ace a Technical Interview
jacobian
265
21k
From Idea to $5000 a Month in 5 Months
shpigford
373
44k
Building Your Own Lightsaber
phodgson
94
4.6k
Side Projects
sachag
450
37k
Adopting Sorbet at Scale
ufuk
63
7.6k
Automating Front-end Workflow
addyosmani
1351
200k
Building Adaptive Systems
keathley
25
1.1k
The Pragmatic Product Professional
lauravandoore
19
3k
Unsuck your backbone
ammeep
659
55k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
11
4.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
316
22k
Designing for Performance
lara
597
63k
Transcript
Serverless
Serverless λ
None
.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)
Serverless
FaaS
FaaS (Function as a Service)
FaaS (函數 as a Service)
例へば AWS Lambda Google Cloud Functions Azure Functions IBM OpenWhisk
等
例へば AWS Lambda Google Cloud Functions Azure Functions IBM OpenWhisk
等
Serverless PaaS、IaaS、BaaSとは何が違ふの?
Serverless Serverless Architectures http://martinfowler.com/articles/serverless.html
Serverless FaaSはfull managedでstateless
Serverless If your PaaS can efficiently start instances in 20ms
that run for half a second, then call it serverless. https://twitter.com/adrianco/status/736553530689998848
Serverless 0.02秒でインスタンスを起動し0.5秒だけ動作するなら、その PaaSはserverless。
Serverless (Erlangっぽいよね)
AWS Lambda 対応⾔語は Python 2 Node.js Java 8
AWS Lambda λを呼び出せるイベントは LambdaのHTTP API、AWS IoT、API Gateway、CloudWatch Schedule、CloudWatch Logs、CognitoのSync、DynamoDBの 更新、Kinesis、S3の更新AWS
SNS
AWS Lambda λから使へるリソースは AWSの全部、 AWS外のAPIで呼べるリソースも何でも
AWS Lambda バージョン管理 → 函數バージョンにエイリアスを付ける Log → CloudWatchに吐く 監視 →
CloudWatchで API Gatewayでの認證 → 認證⽤のLambdaを呼ぶ
AWS Lambda フレームワークには Serverless Apex 等
AWS Lambda フレームワークには Serverless Apex 等
Serverless Framework https://serverless.com/
Serverless Framework Nearly 1.0 (1.0.0-beta2)
Serverless Framework 10,316☆stars on GitHub
Serverless Framework pluggable
Serverless Framework プロジェクト = 函數とイベントとリソースの集まり
Serverless Framework AWS Lambda Google Cloud Functions Azure Functions IBM
OpenWhisk に対応してゐる
λとAPI Gatewayとの連携
λとAPI Gatewayとの連携 Terraformでやる場合
λとAPI Gatewayとの連携 API GatewayとLambdaの組み合はせでリリースするバージョンを制御する - c4se記:さっちゃんで すよ☆ http://c4se.hatenablog.com/entry/2016/07/26/122508 29,238⽂字 Terraformのmoduleを書く
- c4se記:さっちゃんですよ☆ http://c4se.hatenablog.com/entry/2016/08/09/152619 11,198⽂字
λとAPI Gatewayとの連携 死
λとAPI Gatewayとの連携 死
λとAPI Gatewayとの連携 死
λとAPI Gatewayとの連携 コードのデプロイ⼿順
λとAPI Gatewayとの連携 最初のデプロイ: 1. aws_lambda_alias.prodのfunction_versionを "$LATEST" にしておく。Lambda函數作成前で、publish_versionも してゐずバージョンが未だ無い爲。 2. LambdaとAPI
Gatewayをデプロイ。 3. API Gatewayをstagingステージにデプロイ。 4. stagingで検証。 5. Lambdaをpublish_versionして、Versionをメモする。 6. aws_lambda_alias.prodのfunction_versionを 上でメモしたバージョンに書き換へる。 7. Lambdaをデプロイ。 8. API Gatewayをprodステージにデプロイ。 API Gatewayの設定を更新した場合: 1. API Gatewayをデプロイ。 2. API Gatewayをstagingステージにデプロイ。 3. stagingで検証。 4. API Gatewayをprodステージにデプロイ。 Lambdaの設定やコードを変更した場合: 1. Lambdaをデプロイ。 2. stagingで検証。 3. Lambdaをpublish_versionして、Versionをメモする。 4. aws_lambda_alias.prodのfunction_versionを 上でメモしたバージョンに書き換へる。 5. Lambdaをデプロイ。
λとAPI Gatewayとの連携 死
λとAPI Gatewayとの連携 死
λとAPI Gatewayとの連携 死
λとAPI Gatewayとの連携 ⼀⽅、Serverlessでは s-function.json 2628⽂字
λとAPI Gatewayとの連携 `sls deploy`
λとAPI Gatewayとの連携 やりましたね!
Serverless
Serverless 0.02秒でインスタンスを起動し0.5秒だけ動作するなら、その PaaSはserverless。