25
Tfswfsmftt!Bsdijufduvsf؇צ اOpTRM!Tfswjdft EzobnpECננ؞₁TjnqmfEC נ؆ب㊹؞מנױ猳猳 cz! Nbtbtij!Ufsvj!bu!Ebubcbtf!Ojhiu!Ipllbjep!3127!Tvnnfs

Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

Embed Size (px)

Citation preview

Page 1: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Page 2: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

Masashi Terui @ marcy_teruiI’m a Developer and Cloud Architect.

I’m a Remote-Multi-Worker at Serverworks Co., Ltd. / Section-9 / Freelance I’m a member of GCPUG and JAWS-UG and MyNA←New!!

I’m around 30 years old. I’m a father of my son and my daughter. https://willy.works/

2

Page 3: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

3

Page 4: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

4

Page 5: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

Serverless is 何

5

BaaSやSaaSを利用してサーバサイドを自前で一切持たない FaaS(Function as a Service)でサーバサイドを作る 一つ間違いないのは、自分で運用をやらないということ=サーバを持たない、サービスを使う 参考→ http://www.slideshare.net/YoshidaShingo/serverlessronten 新しい概念なので定まりきってなくて諸説ある

Page 6: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

6

Page 7: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

AWS NoSQL

7

Page 8: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

DynamoDB ①

8

基本的にはKVS

予約した秒単位の書き込み・読み込みキャパシティに対して課金

ストレージは使った分だけ課金

お金を払えばいくらでもスケール

シンプルなインデックス検索 or スキャンもできる

読み込みキャパシティ使いまくるので注意

Page 9: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

DynamoDB ②

9

結果整合性読み込みと強整合性読み込みが選べる

強整合性は読み込みキャパシティを多く使う

DBの更新イベントをストリームで受け取れる(Kinesis的な)

Event Drivenな処理(Lambda ※後述)

擬似レプリケーション

RDBのトリガー的な

Page 10: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

SimpleDB ①

10

ドキュメントDBに近い感じのNoSQL

クエリ処理に使用された計算量に対して課金

ストレージは使った分だけ課金

ライトユースだと圧倒的に安い

ただし、1Domain(≒Table)あたり10GBまで等の制限がある

Page 11: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

SimpleDB ②

11

SQLっぽい問い合わせができる

結果整合性読み込みと強整合性読み込みが選べる

強整合性は処理に時間がかかる

AWSで無くなりそうなサービスNo.1(俺調べ)

新しいリージョンがサポートされない、予定もない(はず)

Page 12: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

12

Page 13: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

AWS Lambda

13

Page 14: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

Lambda

14

Function as a Service

Event Driven

Node.js, Python, Java

Web APIのバックエンドとして(+ API Gateway)

Function処理時間に対して課金

最強のコスト効率(効率が良い≠安いだけど基本超安い)

Page 15: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

15

Page 16: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

2つの方向性

16

① 真に使った分だけな課金モデルを活かして

ライトなバックエンドを安く手軽に仕上げる

② 抽象度が高く、粒度の小さい特性を活かして

Microservicesなシステムの基盤として使う

Page 17: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

17

Page 18: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

18

Page 19: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

19

Page 20: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

20

Page 21: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

21

Page 22: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

22

Page 23: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜

23

Page 24: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Page 25: Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜