- 1

Certificación AWS Solutions Architect Associate: Fundamentos y Preparación
03:29 - 2

Preparación para certificación AWS Arquitecto de Soluciones
01:47 - 3

Configuración de presupuestos en AWS para controlar costos
08:48 - 4

AWS Well Architected Framework: Los 6 pilares para arquitectura sólida
04:19 quiz de Fundamentos de AWS
Elasticache y DAX
Clase 40 de 69 • Curso de AWS Certified Solutions Architect Associate
Contenido del curso
- 10

Servicios de cómputo AWS: EC2, procesadores Graviton y AMIs
12:14 - 11

Opciones de Compra en EC2
04:43 - 12

Lanzamiento de una instancia EC2 desde la consola de AWS
09:11 - 13

Caracteristicas adicionales de EC2
09:25 - 14

Consulta de metadatos de instancia con IMDS v2 en AWS
04:31 - 15

AWS Outpost para ejecutar servicios localmente con latencia baja
05:54 - 16

Despliegue de aplicaciones web con AWS Elastic Beanstalk
19:46 quiz de Servicios de Computo en AWS
- 20

Direccionamiento IP y bloques CIDR para redes AWS
10:21 - 21

Anatomia y funcionamiento de la VPC
06:43 - 22

Configuración de instancias públicas y privadas con NAT Gateway
07:26 - 23

Seguridad de VPC con NACL y grupos de seguridad en AWS
05:35 - 24

Configuración de grupos de seguridad para instancias públicas
03:52 - 25

Conectividad híbrida en AWS: VPC Peering, Transit Gateway y Endpoints
04:37 quiz de Redes en AWS
- 30

Introducción al modulo y niveles de almacenamiento
04:58 - 31

Diferencias entre Instance Store y EBS en AWS
11:06 - 32

EFS & FSx
02:38 - 33

Creación y configuración de volúmenes EBS en AWS
03:55 - 34

S3
15:33 - 35

Configuración de EFS para compartir almacenamiento entre instancias
08:50 - 36

Recuperación de objetos eliminados con versionamiento en AWS S3
03:42 quiz de Almacenamiento en AWS
- 37

Bases de datos relacionales vs no relacionales en AWS
03:30 - 38

DynamoDB
08:09 - 39

Creación y configuración de bases de datos Dynamo en AWS
10:17 - 40

Elasticache y DAX
04:23 - 41

Escalabilidad y alta disponibilidad con AWS RDS y Aurora
09:17 - 42

Configuración de Aurora en AWS RDS para alta disponibilidad
11:18 quiz de Bases de datos en AWS
El uso de estrategias de caché es fundamental para optimizar aplicaciones con uso intensivo de lecturas. Amazon ofrece soluciones específicas para empresas que necesitan minimizar la latencia sin modificar sus aplicaciones existentes. Descubre cómo implementar capas intermedias de caché que mejoran drásticamente el rendimiento y proporcionan respuestas casi instantáneas a tus usuarios.
¿Qué son las estrategias de caché y por qué son importantes?
Una estrategia de caché consiste en implementar una capa intermedia entre el usuario y el origen de datos (base de datos, página web estática, bucket de S3, etc.). Esta capa mantiene una copia de la información del origen y puede responder a las solicitudes de los usuarios de manera mucho más rápida, reduciendo significativamente la latencia.
Las estrategias de caché son particularmente importantes cuando enfrentamos casos de uso donde los usuarios necesitan realizar operaciones de lectura frecuentes y requieren tiempos de respuesta extremadamente bajos. Como en el caso mencionado de la empresa de entretenimiento que utiliza Amazon DynamoDB para almacenar metadatos multimedia y experimenta retrasos debido a su uso intensivo de lecturas.
¿Qué servicios de caché ofrece AWS?
AWS proporciona dos servicios principales para gestionar caché de forma provisionada:
DynamoDB Accelerator (DAX)
DAX es una solución específica para DynamoDB que permite:
- Responder a consultas en microsegundos (en comparación con los milisegundos de DynamoDB estándar)
- Utiliza la misma API que DynamoDB, lo que significa que no es necesario reescribir aplicaciones ni agregar lógica adicional en el código
- Funciona como una capa intermedia transparente para la mayoría de las aplicaciones
La arquitectura típica coloca a DAX como intermediario entre los usuarios y DynamoDB, acelerando drásticamente las operaciones de lectura sin cambios en la aplicación.
Amazon ElastiCache
ElastiCache ofrece dos productos distintos para diferentes necesidades:
-
ElastiCache para Redis:
- Versión gestionada del popular sistema de caché open source Redis
- Ofrece replicaciones y snapshots de respaldo
- Ideal para almacenar objetos con diferentes estructuras (no solo strings, sino también estructuras de objetos complejos, bytes, etc.)
- Mayor versatilidad para diferentes tipos de datos
-
ElastiCache para Memcached:
- Servicio creado y gestionado por AWS
- Caso de uso más simple: principalmente para almacenamiento de pares clave-valor
- Mayor velocidad de respuesta y facilidad de escalado comparado con Redis
- Optimizado para operaciones sencillas de caché
¿Cómo elegir la mejor estrategia de invalidación de caché?
Al implementar caché, es crucial definir cómo se actualizará la información cuando ocurran cambios en el origen. AWS ofrece varias estrategias de invalidación:
Lazy Loading (carga perezosa)
- Funcionamiento: Se escribe primero en el origen y posteriormente, cuando hay recursos disponibles, se actualiza el caché
- Ventajas: Estrategia simple de implementar
- Desventajas: Mayor latencia en la primera solicitud, pero funciona eficientemente en solicitudes subsecuentes
Write Through (escritura simultánea)
- Funcionamiento: Se escribe simultáneamente tanto en caché como en el origen
- Ventajas: Alta consistencia; todas las lecturas obtienen la versión más reciente
- Desventajas: Agrega algo de latencia a las operaciones de escritura
Write Behind (escritura posterior)
- Funcionamiento: Se escribe primero en caché y posteriormente el caché replica los cambios al origen
- Ventajas: Mejor latencia en operaciones de escritura
- Desventajas: Puede crear inconsistencias temporales entre diferentes lecturas
Invalidación por TTL (Time To Live)
- Funcionamiento: Se define un tiempo específico durante el cual cada objeto se considera válido en caché
- Ventajas: Permite personalizar la frecuencia de actualización según la naturaleza de los datos
- Implementación: Para datos que raramente cambian, se puede establecer un TTL largo (meses o años), mientras que para datos que se actualizan frecuentemente, se utilizan TTLs cortos (segundos o minutos)
La estrategia de invalidación por TTL es especialmente útil cuando diferentes tipos de datos tienen diferentes patrones de actualización, permitiendo optimizar el rendimiento y la consistencia de manera granular.
¿Cómo aplicar estas soluciones a casos específicos?
Para el caso mencionado de la empresa de entretenimiento que utiliza DynamoDB para metadatos multimedia, la solución más adecuada sería implementar DynamoDB Accelerator (DAX). Esta solución:
- No requiere reconfiguración de la aplicación (utiliza la misma API que DynamoDB)
- Reduce drásticamente la latencia (de milisegundos a microsegundos)
- No necesita personal adicional para gestionar la carga operativa
Con DAX, la empresa puede mejorar el rendimiento de las operaciones de lectura intensivas sin modificar su aplicación existente, lo que representa la solución ideal para sus necesidades específicas y limitaciones de personal.
Las estrategias de caché son fundamentales para optimizar aplicaciones con alto volumen de lecturas. La elección entre DAX, ElastiCache para Redis o ElastiCache para Memcached, combinada con la estrategia de invalidación adecuada, puede transformar drásticamente el rendimiento de tus aplicaciones. ¿Qué estrategia de caché utilizas actualmente en tus proyectos? ¿Has experimentado con diferentes métodos de invalidación?