Amazon ElastiCache

O Amazon ElastiCache é um serviço gerenciado para in-memory database, compatível com Memcached e Redis. É utilizado primariamente como uma camada de cache para aplicações online em situações como acesso a bancos de dados relacionais e ao armazenamento temporário de dados de alta frequência, como dados de sessão de usuários por exemplo. É possível fazer um offload do banco de dados relacional, diminuindo a frequência de acesso serviços dependentes e possibilitando que microsserviços escalem sem a dependência de sincronização de dados.

É preciso planejar qual é a estratégia de cache mais adequada ao tipo de workload. Quando a estratégia definida envolve grandes volumes de dados, fazer um refresh completo destes dados se torna um desafio, podendo sobrecarregar os serviços dependentes e causando indisponibilidade do seu workload. Precisamos então distribuir este cache, de forma que ele consiga ter resiliência no armazenamento das informações e respeite as configurações de TTL definidas pelo workload.

O Amazon ElastiCache possui duas opções: Memcached e Redis. Utilize o Memcached para implementações mais simples, quando seu requisito não envolver alta disponibilidade de dados. O Memcached não possui as funcionalidades de Replicação e failover automático.

O Redis deve ser utilizado como opção para Disaster Recovery por contar com as funcionalidades de Backup & Restore e do Global Datastore, lançado recentemente.

É possível implementar duas das quatro estratégias de Disaster Recovery: Backup & Restore e Warm Standby. Discutiremos estas estratégias à seguir.


Referências: