AWS(アマゾンウェブサービス)は、Amazonが提供している多くのクラウドサービスの総称です。
そして今回ご紹介するのは、AWSが提供するサービスの一つであるAmazon ElastiCacheです。
この記事ではAmazon ElastiCacheの概要から活用のメリット、そして活用方法についてご紹介します。
Amazon ElastiCache とは?
Amazon ElastiCacheは、セットアップ、実行、スケーリングが簡単にできる完全マネージド型インメモリキャッシュサービスです。
RedisとMemcachedという高パフォーマンスなインメモリデータストアを提供していて、利用の際は目的に応じてどちらか、もしくは両方を選んで利用します。
参考:https://aws.amazon.com/jp/elasticache/
高速データ配信環境を提供
ユーザーにとってインターネット利用の際に求められることは何でしょうか。様々なニーズがあるかと思いますが、その中の一つに高速性が挙げられるかと思います。
ゲーム、広告配信、配車サービスなど即時性を求められるアプリケーションには、ユーザーのニーズに対してすぐに反応し、応える必要があります。ユーザーへの応答の遅延は、ユーザーにストレスを与え、やがて信頼の低下につながってしまいます。
そこで、Amazon ElastiCacheを利用すれば高いスルートップと低いレイテンシーのインメモリストアからデータを取得することで、既存のアプリケーションのパフォーマンスを改善することが可能です。
例えば、コンテンツデータを世界中のユーザーへ瞬時に配信したいという場合は、AWSが提供するAmazon CloudFrontのような高速コンテンツ配信ネットワークサービスの利用も良いのではないでしょうか。
ただ、一回きりではなくユーザーへ何度もリアルタイムにデータのやり取りを実施する場合には話が変わります。リクエストに対しても瞬時に応答する必要のあるアプリケーション運用の場合は、今回紹介しているAmazon ElastiCacheの方が適しています。
また、こちらはクラウドサービスなのでハードウェアの準備やソフトウェアの更新など設備機器の管理は一切不要です。
活用のメリット
続いてAmazon ElastiCacheの活用メリットについて、いくつかご紹介します。
高いパフォーマンス
まず一つ目に、非常に高いレベルでのパフォーマンス精度が挙げられます。
Amazon ElastiCacheはインメモリデータストア、インメモリキャッシュとして機能し、ユーザーからミリ秒単位の要求が求められるようなアプリケーションなどにも対応することができます。
また各ユーザー専用のノードで実行することで、安全かつ非常に高速なパフォーマンスを実現することができます。
フルマネージド型
二つ目に、Amazon ElastiCacheが完全フルマネージド型のサービスであるということです。
そのため、ソフトウェアへのパッチ適用やバックアップ、設定作業、モニタリング、バックアップなどの管理作業が不要となります。管理タスクにかける時間を、より価値の高いアプリケーション開発に分配することができ、パフォーマンス向上につながるでしょう。
スケーラブル
三つ目に、スケーラブルである点です。
Amazon ElastiCacheでは、アプリケーションの変化に応じてスケールイン、スケールアップ、スケールアウトできます。書き込みとメモリのスケーリングは、シャーディングによってサポートされています。
ユースケース
最後に、Amazon ElastiCacheの活用事例についてご紹介します。
Pokémon Company
Pokémon Companyでは、AWSサービスを利用することで全体的にデータベースの管理時間を大幅に短縮することができ、イノベーションのために時間として活用することができました。
具体的には、Amazon ElastiCacheを利用することで、ノードを管理するオーバーヘッドが大幅に削減され、認証プロセスが高速化されることでユーザーが一つのサーバーに接続している状態を維持する必要がなくなります。
3億人を超えるポケモンGOユーザーの全てのプロファイルデータやログデータが入ったデータベースも、AWSサービスを活用することで最適な管理方法に変えることができます。
参考:AWS「Pokémon Company が AWS 専用データベースに移行 」
https://aws.amazon.com/jp/solutions/case-studies/the-pokemon-company-case-study/
おわりに
今回の記事では、Amazon ElastiCacheの概要から活用のメリット、そして活用事例についてご紹介しました。
Amazon ElastiCacheはご紹介したポケモンGOのようなゲームなど、大量かつミリ秒未満の応答時間のデータを扱うアプリケーションに最適なサービスです。
自社で開発するアプリケーションの特性や拡張性などを踏まえた上で、Amazon ElastiCacheを利用することが適当か、検討すると良いかと思います。
ベトナムオフショア開発会社 ONETECHはAWSセレクトティアパートナー
もし、AWSについてプロのアドバイスが欲しいのなら、ぜひONETECHにご相談ください。
ONETECHはオフショア開発会社として100社以上との取引実績を誇ります。
ONETECHではAWS資格保有のエキスパートがお客様の課題をカタチにします。
- インターネットサービスの企画はあるがどうしたら良いか
- どのようにクラウドを利用したら良いかわからない
- クラウドを利用するためのコストやポイントを知りたい
- 保守運用まで考慮した設計をしたい
Amazon ElastiCacheを含むAWSのコンサルティングサービスを提供しています。気になること、不安なことをお気軽にご相談ください。