Amazon ElastiCache

Amazon ElastiCache is a managed service for in-memory database, compatible with Memcached and Redis. It is primarily used as a cache layer for online applications in situations such as access to relational databases and temporary high-frequency data storage, such as user session data for example. You can offload the relational database, decreasing the frequency of access dependent services and enabling microservices to scale without the dependency on data synchronization.

You need to plan what the cache strategy is best suited to the type of workload. When the defined strategy involves large volumes of data, a complete refresh of this data becomes a challenge, which can overwhelm dependent services and causing your workload unavailability. We then need to distribute this cache so that it can have resilience in storing information and respects the TTL settings defined by the workload.

Amazon ElastiCache has two options: Memcached and Redis. Use Memcached for simpler implementations when your requirement doesn’t involve high data availability. Memcached does not have the Automatic Replication and Failover features.

Redis should be used as an option for Disaster Recovery because it has the Backup & Restore features and the Global Datastore, recently released.

You can implement two of the four Disaster Recovery strategies: Backup & Restore and Warm Standby. We will discuss these strategies next.