Amazon ElastiCache is a web service that makes it easy to deploy, operate, and scale an in-memory data store or cache in the cloud. The service improves the performance of web applications by allowing you to retrieve information from fast, managed, in-memory data stores, instead of relying entirely on slower disk-based databases. Amazon ElastiCache supports two open-source in-memory engines:
- Redis - a fast, open source, in-memory data store and cache. Amazon ElastiCache for Redis is a Redis-compatible in-memory service that delivers the ease-of-use and power of Redis along with the availability, reliability and performance suitable for the most demanding applications. ElastiCache for Redis is fully managed, scalable, and secure - making it an ideal candidate to power high-performance use cases such as Web, Mobile Apps, Gaming, Ad-Tech, and IoT.
- Memcached - a widely adopted memory object caching system. ElastiCache is protocol compliant with Memcached, so popular tools that you use today with existing Memcached environments will work seamlessly with the service.
Amazon ElastiCache automatically detects and replaces failed nodes, reducing the overhead associated with self-managed infrastructures and provides a resilient system that mitigates the risk of overloaded databases, which slow website and application load times. Through integration with Amazon CloudWatch, Amazon ElastiCache provides enhanced visibility into key performance metrics associated with your Redis or Memcached nodes.
Using Amazon ElastiCache, you can add an in-memory layer to your infrastructure in a matter of minutes by using the AWS Management Console.
Amazon ElastiCache makes it very easy to deploy a Memcached or Redis compliant cache environment. Use the AWS Management Console or simple API calls to access the capabilities of a production-ready cloud cache cluster in minutes without worrying about infrastructure provisioning, or installing and maintaining cache software.
Amazon ElastiCache automates time-consuming management tasks --such as patch management, failure detection and recovery-- allowing you to pursue higher value application development.
With Amazon ElastiCache, you get native access to the Memcached or Redis in-memory caching environments. This facilitates compatibility with your existing tools and applications.
With a simple API call or a few clicks of the AWS Management Console, you can add or delete Cache Nodes to your cloud cache cluster to meet your application load. Auto Discovery for Memcached enables automatic discovery of Cache Nodes by ElastiCache Clients when the nodes are added to or removed from an Amazon ElastiCache Cluster.
Amazon ElastiCache has multiple features that enhance reliability for critical production deployments, including automatic failure detection and recovery. Amazon ElastiCache runs on the same highly reliable infrastructure used by other Amazon Web Services.
Amazon ElastiCache is designed for seamless use with other Amazon Web Services, including Amazon Relational Database Service (Amazon RDS), Amazon DynamoDB, Amazon Elastic Compute Cloud (Amazon EC2), Amazon CloudWatch, and Amazon Simple Notification Service (Amazon SNS).
Amazon ElastiCache provides a number of mechanisms to secure your Cache Cluster.
- Amazon ElastiCache provides web service interfaces that allow you to configure firewall settings that control network access to your Cache Cluster.
- Amazon ElastiCache allows you to run your Cache Cluster in Amazon Virtual Private Cloud (Amazon VPC). Amazon VPC enables you to isolate your Cache Cluster by specifying the IP ranges you wish to use for your Cache Nodes, and connect to your existing applications inside Amazon VPC. To learn more about Amazon ElastiCache in VPC, refer to the Amazon ElastiCache User Guide.
Amazon ElastiCache saves you the administrative cost of setting up and managing a multi-node Cache Cluster. You can scale up and scale down the number of Cache Nodes in your Cache Cluster to deliver optimum performance as your application usage pattern changes, paying only for the resources you actually consume. The on-demand pricing allows you to pay for memory/compute capacity by the hour with no long-term commitments. This makes the use of Amazon ElastiCache very cost effective and frees you from the costs and complexities of planning, purchasing, and maintaining hardware.
Amazon ElastiCache provides replication features for the Redis engine and Multi-AZ functionality. You can take advantage of multiple AWS Availability Zones to gain availability, and scale beyond the capacity constraints of a single cache node. In case of primary node loss, ElastiCache will automatically detect the failure and failover to a read replica to provide higher availability without the need for manual intervention.
Amazon ElastiCache for Redis helps you protect your data by creating snapshots of your clusters. Via a few clicks on the console or simple API calls, you can set up automatic snapshots, as well as initiate a backup whenever you choose. The snapshots can then be used for seeding new ElastiCache for Redis clusters.
Amazon ElastiCache can be used to significantly improve latency and throughput for various application workloads (such as social networking, gaming, AdTech, media sharing and Q&A portals) or compute-intensive workloads (such as a recommendation engine). When used as a cache, ElastiCache can improve application performance by storing critical pieces of data in memory for low-latency access. This information may include the results of I/O-intensive database queries or the results of computationally-intensive calculations. Applications that require a fast in-memory data structure server, a highly available cache or a message broker will find the Redis engine most useful.