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
150
サーバーレスを体感できるアプリを作った話.pdf
Kazu
December 14, 2019
Tweet
Share
More Decks by Kazu
See All by Kazu
8年もののサービスをフルリプレースした話
kazu1496
0
1.7k
Other Decks in Programming
See All in Programming
CSC307 Lecture 01
javiergs
PRO
0
660
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
0
1.7k
はじめてのカスタムエージェント【GitHub Copilot Agent Mode編】
satoshi256kbyte
0
150
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
310
AIエージェントの設計で注意するべきポイント6選
har1101
6
3k
愛される翻訳の秘訣
kishikawakatsumi
3
370
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
470
クラウドに依存しないS3を使った開発術
simesaba80
0
220
CSC307 Lecture 04
javiergs
PRO
0
620
ゲームの物理 剛体編
fadis
0
400
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
610
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
4.7k
Featured
See All Featured
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
160
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
61
48k
Thoughts on Productivity
jonyablonski
73
5k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
Exploring anti-patterns in Rails
aemeredith
2
220
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Site-Speed That Sticks
csswizardry
13
1k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
100
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
49
Getting science done with accelerated Python computing platforms
jacobtomlinson
0
92
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