Submit Search
Serverless Frameworkを本番環境に投入するために
1 like
1,326 views
Sachirou Inoue
Serverless Frameworkを本番環境に投入するために
Engineering
Read more
1 of 88
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
More Related Content
PDF
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018
Takeshi Fujimoto
PPTX
イノベーションエッグLt資料
Yuki Yoshida
PDF
private-values
Sachirou Inoue
PDF
哲學を學ぶ為に一冊目に何を讀むべきか?
Sachirou Inoue
PDF
Crystalで殺せ
Sachirou Inoue
PDF
Serverless
Sachirou Inoue
PDF
OCamlでJavaScriptが幸せ
Sachirou Inoue
PDF
J言語を讃えた
Sachirou Inoue
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018
Takeshi Fujimoto
イノベーションエッグLt資料
Yuki Yoshida
private-values
Sachirou Inoue
哲學を學ぶ為に一冊目に何を讀むべきか?
Sachirou Inoue
Crystalで殺せ
Sachirou Inoue
Serverless
Sachirou Inoue
OCamlでJavaScriptが幸せ
Sachirou Inoue
J言語を讃えた
Sachirou Inoue
Similar to Serverless Frameworkを本番環境に投入するために
(20)
PDF
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
Amazon Web Services Japan
PDF
[20171116 三木会] AWSを利用したサーバーレス開発の実践 by アイレット株式会社 cloudpack事業部 高橋 直樹 氏
Insight Technology, Inc.
PDF
Serverless Anti-Patterns
Keisuke Nishitani
PPTX
Serverless frameworkを使ってみた話 at #nseg #90
ko ty
PDF
AWSによるサーバーレスアーキテクチャ
真吾 吉田
PDF
Serverless Meetup Japan Virtual #6
Toshiaki Aoike
PDF
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
真吾 吉田
PPTX
Wem #14
yueguchi
PDF
serverless
Akira Otsuka
PDF
Serverless Architecture Overview #cdevc
Masahiro NAKAYAMA
PDF
サーバーレスアーキテクチャのすすめ(公開版)
Keisuke Kadoyama
PPTX
エンジニアのための勉強会 #4 『Serverless』
Naoki Yoshitake
PDF
Serverless frameworkでお手軽lambda運用 at #nseg #93
ko ty
PDF
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
JOYZO
PDF
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
Ryu Yamashita
PDF
サーバーレスの今とこれから
真吾 吉田
PDF
AWS Black Belt Online Seminar 2016 AWS上でのサーバーレスアーキテクチャ入門
Amazon Web Services Japan
PDF
担当Pjのciにserverless frameworkを導入した話
masaya tawata
PPTX
[D3]サーバーレスでサービスを作ってみた話
dcubeio
PDF
Growing up serverless
Amazon Web Services Japan
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
Amazon Web Services Japan
[20171116 三木会] AWSを利用したサーバーレス開発の実践 by アイレット株式会社 cloudpack事業部 高橋 直樹 氏
Insight Technology, Inc.
Serverless Anti-Patterns
Keisuke Nishitani
Serverless frameworkを使ってみた話 at #nseg #90
ko ty
AWSによるサーバーレスアーキテクチャ
真吾 吉田
Serverless Meetup Japan Virtual #6
Toshiaki Aoike
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
真吾 吉田
Wem #14
yueguchi
serverless
Akira Otsuka
Serverless Architecture Overview #cdevc
Masahiro NAKAYAMA
サーバーレスアーキテクチャのすすめ(公開版)
Keisuke Kadoyama
エンジニアのための勉強会 #4 『Serverless』
Naoki Yoshitake
Serverless frameworkでお手軽lambda運用 at #nseg #93
ko ty
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
JOYZO
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
Ryu Yamashita
サーバーレスの今とこれから
真吾 吉田
AWS Black Belt Online Seminar 2016 AWS上でのサーバーレスアーキテクチャ入門
Amazon Web Services Japan
担当Pjのciにserverless frameworkを導入した話
masaya tawata
[D3]サーバーレスでサービスを作ってみた話
dcubeio
Growing up serverless
Amazon Web Services Japan
Ad
More from Sachirou Inoue
(20)
PDF
Elixir on Containers
Sachirou Inoue
PDF
發言の超越論的な根拠
Sachirou Inoue
PDF
faastCrystal
Sachirou Inoue
PDF
人工言語作成を樂しむ者の爲の言語學
Sachirou Inoue
PDF
人工言語を作るゆるやかな道
Sachirou Inoue
PDF
FaaStRuby
Sachirou Inoue
PDF
DI is for us?
Sachirou Inoue
PDF
How to make a spaghetti
Sachirou Inoue
PDF
Why we update our oss dependencies.
Sachirou Inoue
PDF
Test like a team.
Sachirou Inoue
PDF
Phoenix at scale
Sachirou Inoue
PDF
Vivaldi #cd3437
Sachirou Inoue
PDF
外傷的Elixir
Sachirou Inoue
PDF
勝手に作ったものたち
Sachirou Inoue
PDF
竝行
Sachirou Inoue
PDF
ActiveHash
Sachirou Inoue
PDF
boilerplate react
Sachirou Inoue
PDF
ElixirでNode.jsを倒す
Sachirou Inoue
PDF
大勢でピンポンできるのは、だれ?
Sachirou Inoue
PDF
最速で最速のRuby擴張を作る
Sachirou Inoue
Elixir on Containers
Sachirou Inoue
發言の超越論的な根拠
Sachirou Inoue
faastCrystal
Sachirou Inoue
人工言語作成を樂しむ者の爲の言語學
Sachirou Inoue
人工言語を作るゆるやかな道
Sachirou Inoue
FaaStRuby
Sachirou Inoue
DI is for us?
Sachirou Inoue
How to make a spaghetti
Sachirou Inoue
Why we update our oss dependencies.
Sachirou Inoue
Test like a team.
Sachirou Inoue
Phoenix at scale
Sachirou Inoue
Vivaldi #cd3437
Sachirou Inoue
外傷的Elixir
Sachirou Inoue
勝手に作ったものたち
Sachirou Inoue
竝行
Sachirou Inoue
ActiveHash
Sachirou Inoue
boilerplate react
Sachirou Inoue
ElixirでNode.jsを倒す
Sachirou Inoue
大勢でピンポンできるのは、だれ?
Sachirou Inoue
最速で最速のRuby擴張を作る
Sachirou Inoue
Ad
Serverless Frameworkを本番環境に投入するために
1.
Serverless Frameworkを 本番環境に投⼊するために
2.
.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)
4.
DreeVee (動画広告プラットフォーム) 等
5.
サーバーサイドエンジニア
6.
Serverless Architecture FaaS Serverless Framework Case Study
7.
Serverless Architecture FaaS Serverless Framework Case Study
8.
サーバーレスアーキテクチャとは?
9.
サーバー (レスアーキテクチャ) とは?
10.
Client
11.
常駐 Process Client Event
12.
常駐 Process Client 狀態 Event
13.
常駐 Process Client 狀態 Client Client Client
ClientClient ClientClient Client Client Client
14.
常駐 Process Client 狀態 Client Client Client
ClientClient ClientClient Client Client Client 常駐 Process 常駐 Process 狀態 狀態
15.
常駐 Process Client 狀態 Client Client Client
ClientClient ClientClient Client Client Client 常駐 Process 常駐 Process 狀態 狀態 管理
16.
管理すべき事 ↓ Eventの振り分け (Load balancing) 処理能⼒の割り當て
(Scale up) Process數の増減 (Scale out) 死活監視 Ver.更新
17.
管理すべき事 ↓ Eventの振り分け (Load balancing) 処理能⼒の割り當て
(Scale up) Process數の増減 (Scale out) 死活監視 Ver.更新 (╯°□°)╯︵ ┻━┻
18.
サーバーレスアーキテクチャとは?
19.
常駐 Process Client 狀態 Client Client Client
ClientClient ClientClient Client Client Client 常駐 Process 常駐 Process 狀態 狀態 管理
20.
Client Client Client
Client ClientClient ClientClient Client Client Client 狀態 サーバーレスアーキテクチャ 管理 Fun Fun Fun Fun Fun Fun
21.
サーバーレスアーキテクチャ ↓ BaaS (Backend as
a Service) FaaS (Function as a Service) S3, Cognito, Pusher, Auth0, Algolia, …
22.
サーバーレスアーキテクチャ ↓ Functionを第⼀級市⺠として扱ふインフラ設計。 Application serverの、出來る事を殆ど減らさず 管理costを無くせる。
23.
Awesome ↓ https://github.com/anaibol/awesome-serverless
24.
Tips:「serverless」でググってはいけない(☍﹏⁰) (Serverless Framework (後述)
の事しか 出て來ない)
25.
Serverless Architecture FaaS Serverless Framework Case Study
26.
FaaS ?
27.
FaaS ? ↓ AWS Lambda Google
Cloud Functions Azure Functions IBM OpenWhisk
28.
FaaS (Function as
a Service) ?
29.
FaaS (Function as
a Service) ?
30.
FaaS (函數 as
a Service) ?
31.
Function (函數, 働き)
32.
P Q f
33.
Function ↓ 函數: ⼊⼒と出⼒の對 働き: 狀態遷移 (⾮形式的に)
⾔葉のイメージとしては、 Function=函數∪働き
34.
Function ↓ 1つの⼊⼒と1つの出⼒を持ち、狀態を變更する
35.
FaaS ?
36.
Event source 狀態Function 變更 結果 Event
37.
Event source 狀態Function 變更 結果 Event Function
38.
狀態Function 變更 Function Event source Event source Event source
39.
Event source 狀態 Function Event source Event source Function Function Function Function Function Function Event
40.
Event source 狀態 Function Event source Event source Function Function Function Function Function Function Event Eventと Functionが 1對1
41.
FaaS ↓ Functionを實⾏するインフラを提供する
42.
FaaS ↓ 「 1つの⼊⼒と1つの出⼒を持ち、狀態を變更す る」ものを實⾏するインフラを提供する
43.
管理すべきだった事 ↓ Eventの振り分け (Load balancing) 処理能⼒の割り當て
(Scale up) Process數の増減 (Scale out) 死活監視 Ver.更新
44.
FaaSで管理すべき事 ↓ Eventの振り分け (Load balancing) 処理能⼒の割り當て
(Scale up)→設定する Process數の増減 (Scale out) 死活監視→Log監視 Ver.更新→⾃然なBlue-Green
45.
FaaSで管理すべき事 ↓ Eventの振り分け (Load balancing) 処理能⼒の割り當て
(Scale up)→設定する Process數の増減 (Scale out) 死活監視→Log監視 Ver.更新→⾃然なBlue-Green ♪(*>ω<)o∀*∀o(>ω<*)♪カンパーイ
46.
Tips:「FaaS」でググってはいけない(☍﹏⁰) (Fraud as a
Service: 詐欺代⾏ named by RSA Security@2008の事しか 出て來ない)
47.
Serverless Architecture FaaS Serverless Framework Case Study
48.
https://serverless.com/
49.
Serverless Framework ↓ FaaSを中⼼として、サーバーレスアーキテクチャ でserviceを構築する爲のframework
50.
(〃l _ l)<でもFaaSは樂だし、framework要らな くない?
51.
(まぁFaaSは樂だよ。FaaSは)Oo。.(l _ l〃)
52.
Event source 狀態Function 變更 結果 Event Function
53.
Event source 狀態Function 變更 結果 Event Function Event sourceって 具體的には何?
54.
Evet source ↓ Storageの更新/cron/HTTP access/MQTT
access 等 例へばAWS Lambdaに對するAPI Gateway
55.
API Gateway ↓ 何かに對するREST interfaceを作成する どうやって?
56.
Terraformで剥き出しのAWS resourceを 管理する例 API GatewayとLambdaの組み合はせでリリースするバージョンを制御する
- c4se記:さっちゃんですよ☆ http://c4se.hatenablog.com/entry/2016/07/26/122508
57.
Terraformで剥き出しのAWS resourceを管理する例API GatewayとLambdaの組み合はせでリリースするバージョンを制御する
- c4se記:さっちゃんですよ☆ http://c4se.hatenablog.com/entry/2016/07/26/122508 管理するもの ↓ aws_lambda_function/aws_lambda_alias/aws_lambda_alias/aws_lam bda_permission/aws_lambda_permission/aws_api_gateway_rest_api/ aws_api_gateway_deployment/aws_api_gateway_deployment/aws_ap i_gateway_resource/aws_api_gateway_resource/aws_api_gateway_m ethod/aws_api_gateway_method/aws_api_gateway_integration/aws_ api_gateway_integration/aws_api_gateway_method_response/aws_ap i_gateway_method_response/aws_api_gateway_method_response/aw s_api_gateway_method_response/aws_api_gateway_method_respons e/aws_api_gateway_method_response/aws_api_gateway_integration_ response/aws_api_gateway_integration_response/aws_api_gateway_i ntegration_response/aws_api_gateway_integration_response/aws_api _gateway_integration_response/aws_api_gateway_integration_respon se
58.
Terraformで剥き出しのAWS resourceを管理する例API GatewayとLambdaの組み合はせでリリースするバージョンを制御する
- c4se記:さっちゃんですよ☆ http://c4se.hatenablog.com/entry/2016/07/26/122508 deploy⼿順 ↓ 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ステージにデプロイ。
59.
Terraformで剥き出しのAWS resourceを管理する例API GatewayとLambdaの組み合はせでリリースするバージョンを制御する
- c4se記:さっちゃんですよ☆ http://c4se.hatenablog.com/entry/2016/07/26/122508 deploy⼿順 ↓ 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ステージにデプロイ。 (╯°□°)╯︵ ┻━┻
60.
Terraformで剥き出しのAWS resourceを管理する例API GatewayとLambdaの組み合はせでリリースするバージョンを制御する
- c4se記:さっちゃんですよ☆ http://c4se.hatenablog.com/entry/2016/07/26/122508 deploy⼿順 ↓ 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ステージにデプロイ。 Event sourceの管理とEvent sourceとFunctionの 對應の管理には、温かみの在る⾮⼈間的な作業が ⼀杯!
61.
Serverless Frameworkで管理する例 ↓ provider: stage: staging functions: example: handler:
handler.handler events: - http: path: "example/example” method: get integration: lambda - http: path: "example/example” method: put integration: lambda
62.
Serverless Frameworkで管理する例 ↓ `sls deploy
‒s prod`
63.
Serverless Frameworkで管理する例 ↓ `sls deploy
‒s prod` ♪(*>ω<)o∀*∀o(>ω<*)♪カンパーイ
64.
Serverless Frameworkとは ↓ FaaSに對して、Function/Event source/狀態を保 持するserviceをdeployするtool
65.
AWSに對するServerless Frameworkとは ↓ Cloud Formation
+ Lambda Suuuuuuuuuuuuuuuuper simple!
66.
Tips:「Serverless Framework」で ググってもよいです(〃l _
l)
67.
Serverless Architecture FaaS Serverless Framework Case Study
68.
⼩さなHTTP serviceを作った話 Serverless Frameworkをv0.5→v1.0に更新した話 RDSのslow
queryを監視する話
69.
⼩さなHTTP serviceを作った話 Serverless Frameworkをv0.5→v1.0に更新した話 RDSのslow
queryを監視する話
70.
RDSが1時 間毎に作る slowquery log RDSが1時 間毎に作る slowquery log RDSが1時間 毎に作る slowquery log CloudWatch Schedule Lambda Chat room 1回/1 hour 取得 投稿
71.
service: xxx-export-slow-query provider: name: aws region:
ap-northeast-1 stage: prod runtime: python2.7 iamRoleStatements: - Effect: Allow Action: - rds:DescribeDBLogFiles - rds:DownloadDBLogFilePortion Resource: - arn:aws:rds:* package: exclude: - tasks.py - tests functions: exportToChat: handler: handler.export_to_chat memorySize: 512 timeout: 6 events: - schedule: rate(1 hour)
72.
⼀番難しかったところ ↓ slowquery.logを取得する最⼩のIAM roleを確かめるところ
73.
⼩さなHTTP serviceを作った話 Serverless Frameworkをv0.5→v1.0に更新した話 RDSのslow
queryを監視する話
74.
問題は簡單 ↓ ユーザーの⾏動に依って増減する或るもの個數を管理せよ 増減履歴も保存する 半年間増減しなければ0個にする
75.
解決は難しい ↓ ユーザー數がそこそこ多い 増減囘數もわりと多い 參照囘數はかなり多い 増減履歴は凄く多い Access數が突然増える 個數がおかしくなったらコ◯スよ 既存のsystemがかなり複雜
76.
既存のsystemが複雜だね ↓ でもmicro serviceに出來るね インフラが難しいね ↓ でもAPI Gateway
+ Lambda + DynamoDBなら簡單だね!
77.
API Gateway Lambda 取得/増減 Dynamo DB (個數) Dynamo DB (履歴) GET/PUT 追記 GET/PUT
78.
⼀番難しかったところ ↓ DynamoDBでtransactionっぽい事が出來るのを確かめるところ (+ 途中迄Terraformで組んでたので、Terraformが難しかった)
79.
⼩さなHTTP serviceを作った話 Serverless Frameworkをv0.5→v1.0に更新した話 RDSのslow
queryを監視する話
80.
前記の⼩さなHTTP serviceは Serverless Framework
v0.5で作ってゐた ↓ v1.0がreleaseされたので、更新した
81.
v0.5 / s-project.json functions/ fun-a/ s-function.json aʼs code fun-b/ s-function.json bʼs code v1.0 / serverless.yml fun-a&fun-bʼs
code
82.
v0.5→v1.0 ↓ 設定が抽象化された (AWSに依存した記法が殆ど無くなった) 設定が短くなった Function毎にcodeを分けなくなった AWSに作るresourceの命名法が變はった
83.
v0.5→v1.0 ↓ AWSに作るresourceの命名法が變はった事を利⽤して、 無停⽌でupgradeした
84.
舊Lambda API Gateway custome domain 舊API Gateway resource 舊Lambda API Gateway custome domain 舊API Gateway resource 新Lambda 新API Gateway resource API Gateway custome domain 新Lambda 新API Gateway resource
85.
⼀番難しかったところ ↓ 檢證して、インフラを變更する恐怖を乘り越えろ
86.
纏め
87.
What?/Why? サーバーレスアーキテクチャ→ Functionを第⼀級市⺠として扱ふインフラ設計 Function→ 1つの⼊⼒と1つの出⼒を持ち、狀態を變更する Serverless Framework→ FaaSと周邊serviceをdeployするtool
88.
What?/Why? サーバーレスアーキテクチャ→ インフラ管理costが激減する FaaS→ Applicationとインフラ管理を分離出來る Serverless Framework→ FaaSへのdeployが凄く簡單になる
Download