概要
- 注目度が高まりつつあるサーバレスキャッシュサービス Momento。
- 今回は、そんな Momento とは何かについて調べつつ検証していきたいと思います。
Momento とは
- 一言で言って仕舞えば、サーバレスキャッシュサービスなのだ。
- プロビジョンや、スケーリング等の管理は不要で、サクッとキャッシュできる機能を持っている。
特徴
- プロビジョンが不要で、管理もいらない
- 最低料金がなく、従量課金
- 1 API の呼び出しだけでも利用できる
- 計画停止が無い
- インスタンスも無い
ユースケースは?
- DynamoDB テーブルのキャッシュ
- AWS Lambda でキャッシュ
- S3における高いPUT/GET などのコストがかかるワークロードでキャッシュ
- Mongo や Cassandra 等の他のクラウドサービスの DB をキャッシュ
- Redis / memcached からそのまま置き換え
- リアルタイム予想のための機械学習ワークフローでキャッシュ
- NewSQL DB をキャッシュ
- RDS / Aurora をキャッシュ
よしやってみよう
- まずは、momento-cli をインストールしてみます。
> brew tap momentohq/tap
> brew install momento-cli
- 認証情報を設定します。
- Momento での認証は認証トークンを介して行われるので、CLI から直接 Momento Serverless Cache 認証トークンにサインアップします。
> momento account signup aws --email <TYPE_YOUR_EMAIL_HERE> --region <TYPE_DESIRED_REGION>
- Momento から認証トークンがメールで送信されます。
- このトークンを使用するように CLI を設定します。
> momento configure ok 10s 01:37:06
Token: xxxxxxxxxxxxxx
Default Cache [default-cache]: examp-cache-server
Default Ttl Seconds [600]: 60
example-cache successfully created as the default with default TTL of 60s
- 遊んでみましょう。
- お、キャッシュさせて遊んでみましたが、TTL を 60秒に設定していたため、60秒経過後にはキャッシュが削除されましたね。
~ momento cache set --key HI --value koitabashi ok 01:39:35
~ momento cache get --key HI ok 01:39:39
koitabashi
~ momento cache get --key HI ok 01:39:41
koitabashi
~ momento cache get --key HI ok 01:39:56
koitabashi
~ momento cache get --key HI ok 01:39:59
koitabashi
~ momento cache get --key HI ok 01:40:12
koitabashi
~ momento cache get --key HI ok 01:40:14
~ 1 err 01:41:16
まとめ
- 一旦ここまでとします。
- 楽にキャッシュサービスである Momento を利用することができましたね!
- 次回は、AWS 環境上で Momento を試していきます。
参考文献