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
640
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
8
火星曆
ne_sachirou
0
34
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
1.7k
作ってよかったgraceful shutdownライブラリ #kyotogo
ne_sachirou
0
1.4k
path 依存型って何?
ne_sachirou
0
850
野生の onbording と onbording 設計 #kyototechtalk
ne_sachirou
0
740
メトリックはいかにして見え續ける樣になったか #devio2022
ne_sachirou
0
130
名實一致
ne_sachirou
0
750
まかれるあなとみあ ―Mackerel のしくみを理解する 30 分― @ Hatena Engineer Seminar #16
ne_sachirou
0
3.3k
Other Decks in Programming
See All in Programming
AIエージェントで 変わるAndroid開発環境
takahirom
2
610
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
170
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
14
6.9k
継続モナドとリアクティブプログラミング
yukikurage
3
570
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
120
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
Claude Team Plan導入・ガイド
tk3fftk
0
180
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
490
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
310
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
140
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.2k
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
370
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
180
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
170
Crafting Experiences
bethany
1
210
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
We Are The Robots
honzajavorek
0
280
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
460
Abbi's Birthday
coloredviolet
3
8.6k
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。