SlideShare a Scribd company logo
1 of 11
AWS でサーバーレスを使ってい
る話
株式会社coroutine 東川 諒央
自己紹介
株式会社 coroutine
エンジニアメンター
フリーランスプログラマー 東川 諒央
Twitter, GitHub: @biwakonbu
WEB 領域特化
WEB フロント〜インフラまで、ソフトウェア領域は大体やります。
Laravel, Django, Rails, Nuxt, Vue, React 等の
開発実績がメインです。
現在は技術顧問業とメンターなど、エンジニア教育に力を入れています。
新人育成、チームビルディングなど何かあればご相談ください。
AWS サーバーレス使っていますか?
● サーバーレスってなに?
● EC2, RDS, S3 くらいしか使ってない
● 面倒臭そう
● 費用対効果に見合わなさそうで使った事ない
● 検討した事すらない
サーバーレスってなに?
ようするに
● 仮想化されたハードウェアを意識しなくても動く
○ 細かなハードウェアレベルの話を運用時に気にしなくてもよくなる
○ 副次的効果でローカルストレージを使わなくなり、スケーラビリティが上がる
● 高可用性
○ インフラ構築の際にテクニカルな要件を AWS に任せてしまえる
○ 基本的な管理、運用は全て AWS がやってくれる
● 真の従量課金による費用減
○ EC2, RDS の場合、CPU の待機時間で課金される
○ Lambda, Fargate の場合は利用時の稼動分のみ課金
その業務 EC2 でやるべきですか?
● Lambda におきかえられる可能性を最初に検討しましょう
● 要件が下記の場合、置き換え検討アリ
○ API レスポンスタイム 1〜3秒が許容できる
○ バッチ実行専用サーバを用意しようとしている
○ とにかく費用を落とす事が求められている
● Fargate 使いませんか?
○ サーバーの管理とスケールの手間が簡単に
○ デプロイは Docker Image を差し替えるだけ
○ Lambda でやりづらいバッチはこっちで
■ フレームワークや ORM などの資産を使う場合など
データの永続化方法をどうやって選んでますか?
● 認証で永続化が必要で...
○ Amazon Cognito を検討してもいいかもしれません
○ 認証に必要な OAuth や ID&PASS 方式など、大体あります
○ AWS の S3 リソースなどへのアクセス権限は Cognito ID によって設定できます
● ユーザーID に依存した簡易なデータしか保存しません
○ クライアントアプリのデータバックアップ程度なら S3 でもできます
○ もう少し複雑化するなら DynamoDB で小規模プロビジョニングが低コスト運用可
● 小規模アクセスのアプリケーションで夜は稼動しなくていいです
○ Aurora Serverless でオートスケール設定が検討できます
○ 夜間はスケールダウン or シャットダウンでコストダウン
どのくらい費用が安くなるの?
● API Gateway + Lambda 構成の場合
○ API Gateway:
HTTP API コール 1,000,000件/月 1.29 USD
REST API 1,000,000件/月 4.25 USD
○ Lambda: リクエスト 1,000,000件/月 までは無料
メモリ 512MB/秒 0.0000083 USD
メモリ 512MB/分 0.000498 USD
1 Request 2 秒, 200,000件/月 の場合
2 * 200,000 * 0.0000083 = 3.32 USD/月
3.32 USD * 122 = 約 405 円 (EC2 t3.micro 730h で 7.592 USD)
どのくらい費用が安くなるの?
● S3 の場合
○ 最初の 50TB/月 まで 0.025USD/GB
● DynamoDB の場合
○ WCU (書き込みキャパシティユニット) 1 あたり 0.000742USD/時 = 0.54166 USD/月
○ RCU (読み込みキャパシティユニット) 1 あたり 0.0001484USD/時 = 0.108332 USD/月
○ テーブル毎の課金のため、1 or 2 テーブル程度で運用できれば非常にコスト減となる
○ 5 WCU, 5 RCU のテーブルをプロビジョンする場合
(WCU) 2.7083 * (RCU) 0.54166 = 3.24996 USD/月
● Aurora Serverless の場合
○ 最小は t3.small (mem 2GB) 1 ACU と扱う, 0.10 USD/時 73 USD/月
○ アクセスが無い場合停止させたり、所定の時間に起動させるなどで費用削減可能
事例集
スライド公開の部分には以降のものは掲載しません
オフレコデータです
結論
● サーバーレスアーキテクチャは利点が多い
○ 課金額を減らしたり、運用コストを下げたり
○ クラウドベースな考え方が身につくので応用も効く
● 但し、デメリットもある
○ 学習コストが大きい
○ 一般的な基礎知識よりもサービス固有の理解が必要
○ 構築と改修コストは大きくなりがち
○ 中途半端なハイブリッドはよほどな事がないとダメ、ゼッタイ
● S3, DynamoDB, Lambda が常に選択肢にある脳に変わると仕事が変わる!

More Related Content

Similar to AWS でサーバーレスを使っている話.pptx

Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Terui Masashi
 
Service workerとwebプッシュ通知
Service workerとwebプッシュ通知Service workerとwebプッシュ通知
Service workerとwebプッシュ通知zaru sakuraba
 
Serverless Framework 使ってる話(node.js)
Serverless Framework 使ってる話(node.js)Serverless Framework 使ってる話(node.js)
Serverless Framework 使ってる話(node.js)Naoto Teruya
 
あなたはインフラエンジニアですか?
 いいえ、私はソフトウェアエンジニアです。
あなたはインフラエンジニアですか?
 いいえ、私はソフトウェアエンジニアです。あなたはインフラエンジニアですか?
 いいえ、私はソフトウェアエンジニアです。
あなたはインフラエンジニアですか?
 いいえ、私はソフトウェアエンジニアです。Terui Masashi
 
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみてアプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみてSato Shun
 
VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発Ryosuke Izumi
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ真吾 吉田
 
モバイルゲームにおけるAWSの泥臭い使い方
モバイルゲームにおけるAWSの泥臭い使い方モバイルゲームにおけるAWSの泥臭い使い方
モバイルゲームにおけるAWSの泥臭い使い方Junpei Nakada
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから真吾 吉田
 
Docker study for beginner in My Company 2017/10/19
Docker study for beginner in My Company 2017/10/19Docker study for beginner in My Company 2017/10/19
Docker study for beginner in My Company 2017/10/19TearTheSky
 
Azure serverlesssummit2018
Azure serverlesssummit2018Azure serverlesssummit2018
Azure serverlesssummit2018Tsukasa Kato
 
訳が欲しい奴ぁ俺んとこ来い!
訳が欲しい奴ぁ俺んとこ来い!訳が欲しい奴ぁ俺んとこ来い!
訳が欲しい奴ぁ俺んとこ来い!Ryuji Tamagawa
 
Windows azureって何
Windows azureって何Windows azureって何
Windows azureって何Kana SUZUKI
 
[Serverless OpenHack Tokyo] Azure Serverless (Japanese)
[Serverless OpenHack Tokyo] Azure Serverless (Japanese)[Serverless OpenHack Tokyo] Azure Serverless (Japanese)
[Serverless OpenHack Tokyo] Azure Serverless (Japanese)Naoki (Neo) SATO
 
Alexaで世界を変えよう
Alexaで世界を変えようAlexaで世界を変えよう
Alexaで世界を変えようPE-BANK
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版DIVE INTO CODE Corp.
 
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)pinmarch_t Tada
 
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
laravel websocket(use redis pubsub) [Laravel meetup tokyo]laravel websocket(use redis pubsub) [Laravel meetup tokyo]
laravel websocket(use redis pubsub) [Laravel meetup tokyo]Yuuki Takezawa
 

Similar to AWS でサーバーレスを使っている話.pptx (20)

Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
 
Service workerとwebプッシュ通知
Service workerとwebプッシュ通知Service workerとwebプッシュ通知
Service workerとwebプッシュ通知
 
Serverless Framework 使ってる話(node.js)
Serverless Framework 使ってる話(node.js)Serverless Framework 使ってる話(node.js)
Serverless Framework 使ってる話(node.js)
 
あなたはインフラエンジニアですか?
 いいえ、私はソフトウェアエンジニアです。
あなたはインフラエンジニアですか?
 いいえ、私はソフトウェアエンジニアです。あなたはインフラエンジニアですか?
 いいえ、私はソフトウェアエンジニアです。
あなたはインフラエンジニアですか?
 いいえ、私はソフトウェアエンジニアです。
 
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみてアプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
 
VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発
 
クラウド入門(AWS編)
クラウド入門(AWS編)クラウド入門(AWS編)
クラウド入門(AWS編)
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
 
モバイルゲームにおけるAWSの泥臭い使い方
モバイルゲームにおけるAWSの泥臭い使い方モバイルゲームにおけるAWSの泥臭い使い方
モバイルゲームにおけるAWSの泥臭い使い方
 
serverless
serverlessserverless
serverless
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから
 
Docker study for beginner in My Company 2017/10/19
Docker study for beginner in My Company 2017/10/19Docker study for beginner in My Company 2017/10/19
Docker study for beginner in My Company 2017/10/19
 
Azure serverlesssummit2018
Azure serverlesssummit2018Azure serverlesssummit2018
Azure serverlesssummit2018
 
訳が欲しい奴ぁ俺んとこ来い!
訳が欲しい奴ぁ俺んとこ来い!訳が欲しい奴ぁ俺んとこ来い!
訳が欲しい奴ぁ俺んとこ来い!
 
Windows azureって何
Windows azureって何Windows azureって何
Windows azureって何
 
[Serverless OpenHack Tokyo] Azure Serverless (Japanese)
[Serverless OpenHack Tokyo] Azure Serverless (Japanese)[Serverless OpenHack Tokyo] Azure Serverless (Japanese)
[Serverless OpenHack Tokyo] Azure Serverless (Japanese)
 
Alexaで世界を変えよう
Alexaで世界を変えようAlexaで世界を変えよう
Alexaで世界を変えよう
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
 
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
laravel websocket(use redis pubsub) [Laravel meetup tokyo]laravel websocket(use redis pubsub) [Laravel meetup tokyo]
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
 

More from Ryo Higashigawa

TypeScript で型を上手く使う試み.pdf
TypeScript で型を上手く使う試み.pdfTypeScript で型を上手く使う試み.pdf
TypeScript で型を上手く使う試み.pdfRyo Higashigawa
 
新しいWEBフロントの開拓.pptx
新しいWEBフロントの開拓.pptx新しいWEBフロントの開拓.pptx
新しいWEBフロントの開拓.pptxRyo Higashigawa
 
AWS を始める時に気をつけるべき課金周りの仕組みと設定.pptx
AWS を始める時に気をつけるべき課金周りの仕組みと設定.pptxAWS を始める時に気をつけるべき課金周りの仕組みと設定.pptx
AWS を始める時に気をつけるべき課金周りの仕組みと設定.pptxRyo Higashigawa
 
フロントエンド技術の変遷
フロントエンド技術の変遷フロントエンド技術の変遷
フロントエンド技術の変遷Ryo Higashigawa
 
これからはじめるための JavaScript 開発環境
これからはじめるための JavaScript 開発環境これからはじめるための JavaScript 開発環境
これからはじめるための JavaScript 開発環境Ryo Higashigawa
 

More from Ryo Higashigawa (9)

TypeScript で型を上手く使う試み.pdf
TypeScript で型を上手く使う試み.pdfTypeScript で型を上手く使う試み.pdf
TypeScript で型を上手く使う試み.pdf
 
新しいWEBフロントの開拓.pptx
新しいWEBフロントの開拓.pptx新しいWEBフロントの開拓.pptx
新しいWEBフロントの開拓.pptx
 
AWS を始める時に気をつけるべき課金周りの仕組みと設定.pptx
AWS を始める時に気をつけるべき課金周りの仕組みと設定.pptxAWS を始める時に気をつけるべき課金周りの仕組みと設定.pptx
AWS を始める時に気をつけるべき課金周りの仕組みと設定.pptx
 
フロントエンド技術の変遷
フロントエンド技術の変遷フロントエンド技術の変遷
フロントエンド技術の変遷
 
これからはじめるための JavaScript 開発環境
これからはじめるための JavaScript 開発環境これからはじめるための JavaScript 開発環境
これからはじめるための JavaScript 開発環境
 
Ml ch10
Ml ch10Ml ch10
Ml ch10
 
Ml ch7
Ml ch7Ml ch7
Ml ch7
 
Ml ch3
Ml ch3Ml ch3
Ml ch3
 
Ml ch2
Ml ch2Ml ch2
Ml ch2
 

AWS でサーバーレスを使っている話.pptx