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
470
Serverless
\Serverless/
さっちゃん
August 31, 2016
Tweet
Share
More Decks by さっちゃん
See All by さっちゃん
メトリックはいかにして見え續ける樣になったか #devio2022
ne_sachirou
0
26
名實一致
ne_sachirou
0
490
まかれるあなとみあ ―Mackerel のしくみを理解する 30 分― @ Hatena Engineer Seminar #16
ne_sachirou
0
2.4k
tacit programming : Point-free, Concatenatives & J
ne_sachirou
0
390
Monitoring Containerized Elixir
ne_sachirou
1
620
Let's create stateful systems, by Elixir
ne_sachirou
1
580
Phoenix LiveReact
ne_sachirou
1
330
Phoenix LiveView チュートリアル
ne_sachirou
1
130
DDD: Data Driven Development
ne_sachirou
6
4.6k
Other Decks in Programming
See All in Programming
AWSとCPUのムフフな関係
cmdemura
0
460
AWS App Runnerがそろそろ本番環境でも使い物になりそう
n1215
PRO
0
960
あなたと 「|」 したい・・・
track3jyo
PRO
2
1k
2023年にクル(かもしれない)通信ミドルウェア技術(仮)
s_hosoai
0
190
Qiita Night PHP 2023
fuwasegu
0
10k
CDKでValidationする本当の方法 / cdk-validation
gotok365
1
190
Enumを自動で網羅的にテストしてみた
estie
0
1.2k
フロントエンドで 良いコードを書くために
t_keshi
3
1.6k
花き業界のサプライチェーンを繋げるプロダクト開発の進め方
userlike1
0
160
Writing Greener Java Applications
hollycummins
0
340
PHPDocにおける配列の型定義を少し知る
shimabox
1
130
AWSにおける標的型Bot対策
hacomono
0
410
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
57
6.6k
Large-scale JavaScript Application Architecture
addyosmani
499
110k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
10
1.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
32
1.8k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
13
5.4k
Designing on Purpose - Digital PM Summit 2013
jponch
108
5.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
22
42k
In The Pink: A Labor of Love
frogandcode
132
21k
10 Git Anti Patterns You Should be Aware of
lemiorhan
643
54k
WebSockets: Embracing the real-time Web
robhawkes
58
6k
Thoughts on Productivity
jonyablonski
49
2.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
182
15k
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。