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
さっちゃん
August 31, 2016
Programming
650
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Serverless
\Serverless/
さっちゃん
August 31, 2016
More Decks by さっちゃん
See All by さっちゃん
敎へない敎師と、考へる機械
ne_sachirou
0
25
火星曆
ne_sachirou
0
53
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
1.7k
作ってよかったgraceful shutdownライブラリ #kyotogo
ne_sachirou
0
1.5k
path 依存型って何?
ne_sachirou
0
870
野生の onbording と onbording 設計 #kyototechtalk
ne_sachirou
0
760
メトリックはいかにして見え續ける樣になったか #devio2022
ne_sachirou
0
140
名實一致
ne_sachirou
0
780
まかれるあなとみあ ―Mackerel のしくみを理解する 30 分― @ Hatena Engineer Seminar #16
ne_sachirou
0
3.4k
Other Decks in Programming
See All in Programming
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
530
源内ハンズオン概要編
hideg
0
230
リアルな遅延を測る仕様
kota_yata
1
130
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4.1k
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
640
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
170
初めての模倣学習とVLA
natsutan
0
360
My Marp Sample
sinoue0108
0
130
Go 1.27からのGODEBUG / Go 1.27 リリースパーティ #go127party
mazrean
0
270
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
130
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
590
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
280
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
520
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Designing Experiences People Love
moore
143
24k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
410
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Code Reviewing Like a Champion
maltzj
528
40k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
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。