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
サーバーレスを体感できるアプリを作った話.pdf
Search
Kazu
December 14, 2019
Programming
0
100
サーバーレスを体感できるアプリを作った話.pdf
Kazu
December 14, 2019
Tweet
Share
More Decks by Kazu
See All by Kazu
8年もののサービスをフルリプレースした話
kazu1496
0
1.6k
Other Decks in Programming
See All in Programming
みんなでプロポーザルを書いてみた
yuriko1211
0
260
CSC509 Lecture 13
javiergs
PRO
0
110
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
260
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
120
CSC509 Lecture 11
javiergs
PRO
0
180
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
920
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
1
290
Remix on Hono on Cloudflare Workers
yusukebe
1
290
Outline View in SwiftUI
1024jp
1
330
最新TCAキャッチアップ
0si43
0
140
cmp.Or に感動した
otakakot
3
180
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Visualization
eitanlees
145
15k
Building Applications with DynamoDB
mza
90
6.1k
Embracing the Ebb and Flow
colly
84
4.5k
Writing Fast Ruby
sferik
627
61k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Designing Experiences People Love
moore
138
23k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Being A Developer After 40
akosma
86
590k
Transcript
サーバーレスを体感できるアプリを作った話 石倉和真 @kazu_real20 1
自己紹介👀 ✔ イシクラカズマサ ✔ SNSにおける情報拡散パターンの研究してる ✔ サーバーレス化とかNuxt.js書いたりしてる ✔ 早く研究終わらせたい所存
もくじ • 作るに至った経緯 👈 • サーバーレスについて • Serverless Framework • デプロイしてみよう
• 実際に動かしてみよう • 感想 3
作るに至った経緯 AWS ECS AWS Cognito Aurora DB (MySQL) AWS ECR
新規アプリをより運用しやすく、且つ低コストに抑えるようなアーキテクチャ にしたい... 4
作るに至った経緯 新規アプリをより運用しやすく、且つ低コストに抑えるようなアーキテクチャ にしたい... AWS ECS AWS Cognito Aurora DB (MySQL)
AWS ECR この辺りをサーバーレスにしたい... 5
作るに至った経緯 AWS ECS AWS Cognito Aurora DB (MySQL) AWS ECR
新規アプリをより運用しやすく、且つ低コストに抑えるようなアーキテクチャ にしたい... でも誰もサーバーレス化をしたことないな... 6
作るに至った経緯 AWS ECS AWS Cognito Aurora DB (MySQL) AWS ECR
新規アプリをより運用しやすく、且つ低コストに抑えるようなアーキテクチャ にしたい... それなら自分がやるか👊 7
作るに至った経緯 AWS ECS AWS Cognito Aurora DB (MySQL) AWS ECR
新規アプリをより運用しやすく、且つ低コストに抑えるようなアーキテクチャ にしたい... とりあえずプロトタイプでも作るか😲 8
もくじ • 作るに至った経緯 • サーバーレスについて 👈 • Serverless Framework • デプロイしてみよう
• 実際に動かしてみよう • 感想 9
サーバーレスアーキテクチャってなに? 一言でいうと 「マネージド・サービスを活用することで、サーバーを 使わずにアプリケーション開発を行う設計」のこと 「サーバー管理をする必要がなくなる」のであって「サー バーが無くなる」わけではない 10
サーバーレスの特徴 • サーバー管理をする必要がなくなる • 柔軟にスケーリングする • サービスを止めることなく良い感じの状態を維持する • 使った分だけ課金される 11
サーバーレスとFaaS 関数・機能単位の処理をサーバー管理不要で実行できるサービス FaaS AWS Lambda Google Clound Functions Azure Functions
IBM Cloud Functions 12
サーバーレスAppの構成 SPA 13
サーバーレスAppの構成 Serverless Frameworkを使って サービスをデプロイする🚀 14
もくじ • 作るに至った経緯 • サーバーレスについて • Serverless Frameworkについて 👈 • デプロイしてみよう
• 実際に動かしてみよう • 感想 15
Serverless Frameworkについて Q. Serverless Frameworkってなに? A. サーバーレスAppの構成・管理・デプロイをするためのツール • Node.js製のオープンソースフレームワーク
• 関数やイベントをCLIを使って簡単にデプロイできる • AWS、Azure、GCPなど様々なプラットフォームに対してデプロイできる 特徴 16
もくじ • 作るに至った経緯 • サーバーレスについて • Serverless Frameworkについて • デプロイしてみよう 👈
• 実際に動かしてみよう • 感想 17
デプロイしてみよう(インストール編) serverlessコマンドをインストールする $ npm install serverless . . $ serverless
--version Framework Core: 1.55.1 Plugin: 3.2.1 SDK: 2.1.2 Components Core: 1.1.2 Components CLI: 1.4.0 18
デプロイしてみよう(YAMLカキカキ編) サービス内に以下の4つのコンポーネントを含めYAMLで定義する • FUNCTIONS(Lambda関数) • EVENTS(Lambda関数へのトリガー) • RESOURCES(Lambdaが利用するAWSリソース) • PLUGINS
サービス:Serverless Frameworkとして複数のリソースを管理するための単位 19
20
21
デプロイしてみよう 以下のコマンドでサービスをデプロイする $ serverless deploy -v デプロイされるとスタックが作成され、定義したそれぞれのサービスが立ち上が る 22
もくじ • 作るに至った経緯 • サーバーレスについて • Serverless Frameworkについて • デプロイしてみよう
• 実際に動かしてみよう 👈 • 感想 23
もくじ • 作るに至った経緯 • サーバーレスについて • Serverless Frameworkについて • デプロイしてみよう
• 実際に動かしてみよう • 感想 👈 24
感想 • インフラ構成をコード化しているので、再利用性が高い上に、他人がインフ ラ構成を理解しやすい • サーバー管理をしなくて良いので、アプリ開発に集中できる • サービス間が疎結合なので、要件が変更した際に既存コードに手を加える ことなく対応できる サーバーレス最高😊
25
リポジトリ公開していますので興味がある方はぜひ👍 26