Este mismo año, presentamos Cache Reserve. Cache Reserve ayuda a los usuarios a proporcionar contenido desde la caché de Cloudflare durante más tiempo mediante el almacenamiento de datos persistente de R2. Proporcionar contenido desde la caché de Cloudflare beneficia tanto a los operadores de los sitios web, al reducir sus facturas de tarifas de salida desde los orígenes, como a los visitantes de los sitios web, ya que el contenido se carga más rápido.
Cache Reserve ha estado funcionando en versión beta cerrada algunos meses, mientras recopilábamos las opiniones de nuestros primeros usuarios y seguíamos desarrollando el producto. Tras varias rondas de iteraciones en función de estos comentarios, hoy nos complace anunciar que Cache Reserve pasa a la versión beta abierta. Ahora, sin más esperas, los usuarios podrán probarlo e integrarlo en su estrategia de entrega de contenido.
Si quieres comprobar las ventajas de Cache Reserve por ti mismo y darnos tu opinión, puedes ir a la sección Caching del panel de control de Cloudflare y activar Cache Reserve con solo pulsar un botón.
¿Cómo encaja Cache Reserve en la estrategia general?
El contenido que proporciona la caché de Cloudflare inicia su recorrido en un servidor de origen, donde está alojado. Cuando llega una solicitud al servidor de origen, este recopila el contenido necesario para la respuesta y lo devuelve al visitante.
La distancia entre el visitante y el servidor origen puede afectar al rendimiento del activo, ya que es posible que este contenido deba recorrer una gran distancia para devolver la respuesta. Aquí es también donde se aplica una tarifa al usuario por mover el contenido desde su ubicación de almacenamiento en el origen hasta el visitante que lo ha solicitado. Estas tarifas, conocidas como tarifas de "ancho de banda" o "de salida", son partidas de factura con las que los usuarios que alojan su contenido en los proveedores de nube están familiarizados.
La CDN de Cloudflare se encuentra entre el servidor de origen y el visitante, y evalúa si la respuesta del origen se puede almacenar en la caché. Si se puede añadir a la caché de Cloudflare, la próxima vez que llegue una solicitud para ese contenido, Cloudflare puede responder con el activo almacenado en la caché, lo que significa que no hay necesidad de enviar la solicitud al origen, reduciendo así las tarifas de salida de nuestros clientes. Además, para mejorar el rendimiento y reducir el tiempo de tránsito de una respuesta, almacenamos el contenido en la caché en los centros de datos más próximos al visitante.
Para ayudar a que los activos permanezcan en la caché más tiempo, hace unos años presentamos el alojamiento en caché por niveles, que organiza nuestros más de 250 centros de datos de todo el mundo en una jerarquía de niveles inferiores (por lo general más próximos a los visitantes) y niveles superiores (por lo general más próximos a los servidores de origen). Cuando no se puede atender una solicitud de contenido desde la caché de un nivel inferior, se comprueba el nivel superior antes de recurrir al origen para obtener una copia nueva del contenido. La organización en niveles de nuestros centros de datos nos ayuda a almacenar el contenido en la caché en las ubicaciones adecuadas durante más tiempo, al colocar varias cachés entre la solicitud del visitante y el servidor de origen.
¿Por qué se producen errores de caché?Se producen errores cuando Cloudflare no puede proporcionar el contenido desde la caché y debe volver al origen para obtener una copia nueva. Esto puede suceder cuando un cliente establece el tiempo de caché de control para que indique cuándo el contenido está desactualizado (obsoleto) y es necesario volver a validarlo. El otro elemento en juego, cuánto tiempo quiere la red que el contenido permanezca en la caché, es un poco más complicado y puede fluctuar dependiendo de los criterios de eliminación.
Las CDN deben considerar si necesitan desalojar pronto el contenido para optimizar el almacenamiento de otros activos cuando el espacio de la caché esté lleno. En Cloudflare, priorizamos el desalojo en función de cuánto tiempo hace que se ha solicitado un elemento de contenido almacenado en la caché, utilizando un algoritmo LRU o "usado menos recientemente". Esto significa que incluso si el control de caché indica que un elemento de contenido debe permanecer en la caché muchos días, es posible que aun así debamos desalojarlo antes (si es el solicitado menos recientemente en esa caché) para almacenar allí contenido más popular.
Esto funciona para la mayoría de los clientes y de los visitantes de los sitios web, pero a menudo crea confusión ya que los usuarios se preguntan por qué el contenido muestra inesperadamente un error. Si el desalojo no se produjera, sería necesario almacenar el contenido en la caché en los centros de datos que se encuentran más alejados de los visitantes que están solicitando esos datos, lo que perjudicaría el rendimiento del activo y añadiría ineficiencias a la operativa de la red de Cloudflare.
No obstante, algunos clientes tienen grandes bibliotecas de contenido que es posible que no se solicite durante mucho tiempo. Utilizando la caché tradicional, es probable que estos activos se desalojaran y, si se solicitaran de nuevo, se proporcionaran desde el origen. Mantener los activos en la caché requiere que mantengan su popularidad en Internet, lo que resulta difícil ya que lo que es popular o actual cambia constantemente. Desalojar el contenido que ya no se solicita con frecuencia significa para el cliente tarifas de salida del origen adicionales, en caso de que sea necesario obtener ese contenido repetidamente del origen.
Activa Cache ReserveAquí es donde destaca Cache Reserve. Cache Reserve funciona como el centro de datos de nivel superior definitivo para el contenido que, en caso contrario, se desalojaría de la caché. Una vez que el contenido se ha admitido en Cache Reserve, se puede almacenar durante un periodo de tiempo mucho más largo, de 30 días, por defecto. Si durante ese periodo se recibe otra solicitud, este se puede ampliar otros 30 días (y así sucesivamente), o hasta que el control de caché indique que ya no deberíamos proporcionar ese contenido desde la caché. Cache Reserve funciona como una red de seguridad para proteger todo el contenido almacenable en caché para que los clientes no tengan que preocuparse acerca de eliminaciones de la caché no deseadas ni de tarifas de salida del origen.
¿Cómo ahorra Cache Reserve en tarifas de salida?
La promesa de Cache Reserve es que la proporción de aciertos aumentará y las tarifas de salida de los orígenes se reducirán para el contenido atípico que se solicita esporádicamente y se puede desalojar de la caché.
Sin embargo, hay ahorros de tarifas de salida adicionales integrados en el producto. Por ejemplo, cuando se producen errores, los objetos se graban en Cache Reserve. Esto significa que, cuando se produce un error de caché y se obtiene el contenido del origen, lo utilizamos para responder a una solicitud al mismo tiempo que grabamos el activo en Cache Reserve para que durante mucho tiempo los clientes no requieran salida para proporcionar ese activo.
Cache Reserve está diseñado para utilizarlo con el almacenamiento en caché por niveles activado para lograr la máxima protección del origen. Cuando se produce un error de caché en el nivel inferior y en el nivel superior, se comprueba Cache Reserve y, si hay un acierto, la respuesta se almacenará en la caché en ambos niveles en su recorrido al visitante sin que el origen necesite ver la solicitud ni proporcionar datos adicionales.
Cache Reserve consigue estos ahorros de tarifas de salida del origen de forma muy económica, según los costes de R2. Para obtener más información sobre los precios y operaciones de Cache Reserve, consulta la documentación aquí.
Escalabilidad de Cache Reserve en la plataforma para desarrolladores de Cloudflare
Cuando anunciamos Cache Reserve, la respuesta fue espectacular. Más de 20 000 usuarios quisieron acceder a la versión beta, y rápidamente hicimos algunos descubrimientos interesantes acerca de cómo los usuarios deseaban utilizar Cache Reserve.
El primer gran desafío que afrontamos fue que los usuarios odiaban las tarifas de salida tanto como nosotros, y querían asegurarse de que la mayor cantidad posible de contenido estuviera en Cache Reserve. Durante la versión beta cerrada, se realizaron más de 8000 operaciones PUT por segundo de manera sostenida y se entregaron objetos a un ritmo de más de 3000 operaciones GET por segundo. También almacenamos unos 600 TB para algunos de nuestros clientes más grandes. Sabíamos que queríamos ofrecer el producto a todos aquellos que quisieran utilizarlo y, a fin de poder escalar para satisfacer esta demanda, necesitábamos realizar rápidamente algunos cambios. Así que recurrimos a la plataforma para desarrolladores de Cloudflare.
Cache Reserve almacena datos en R2 mediante su API compatible con S3. A nivel técnico, R2 gestiona toda la complejidad de un sistema de almacenamiento de objetos utilizando técnicas eficientes y escalables para desarrolladores: Workers y Durable Objects. Decidimos utilizar las herramientas de la plataforma para desarrolladores porque esta nos permitía implementar rápidamente distintas estrategias de escalabilidad. La ventaja de desarrollar en la plataforma para desarrolladores de Cloudflare es que Cache Reserve pudo realizar pruebas fácilmente para ver cómo podíamos distribuir mejor el gran volumen de carga que veíamos, al mismo tiempo que evitábamos a los usuarios la complejidad del funcionamiento de Cache Reserve.
Con solo pulsar un botón, Cache Reserve realiza estas funciones:
Cuando se produce un error de caché, Pingora (nuestro nuevo proxy de capa 7) se pone en contacto con el origen para obtener el contenido y graba la respuesta en R2. Esto sucede mientras el contenido continúa su recorrido al visitante (lo que evita así la latencia innecesaria).
En R2, Worker graba el contenido en el almacenamiento de datos persistente, al mismo tiempo que realiza un seguimiento de los metadatos importantes que envía Pingora acerca del objeto (como encabezados del origen, valores de actualidad e información de retención) utilizando el almacenamiento de Durable Objects.
La próxima vez que se solicita el contenido, Pingora consulta dónde están almacenados los datos en R2, calculando la clave de caché. El hash de la clave de caché determina el nombre del objeto en R2 y el grupo en el que se ha grabado, ya que los activos de cada zona se fragmentan entre varios buckets para distribuir la carga.
Cuando Pingora encuentra el contenido, adjunta los metadatos pertinentes y lo envía desde R2 al nivel superior más próximo para su almacenamiento en la caché, a continuación al nivel inferior y, por último, de vuelta al visitante.
Como si fuera magia. El usuario no necesita ocuparse de nada. Al combinar R2, Workers, Durable Objects, Pingora y el almacenamiento en caché por niveles, hemos podido desarrollar y realizar cambios rápidamente en Cache Reserve para escalar según las necesidades.
Cuál es el futuro de Cache Reserve
Además del trabajo que hemos realizado para escalar Cache Reserve, ofrecer el producto a más usuarios también abre la puerta a más funciones e integraciones en Cloudflare. Tenemos previsto proporcionar a los usuarios de Cache Reserve funciones de análisis y métricas, para que puedan saber exactamente qué proporciona Cache Reserve y cuánto les ahorra en tarifas de salida. También tenemos previsto crear integraciones más complejas con R2 para que, si los clientes desean empezar a gestionar su almacenamiento, puedan realizar fácilmente la transición. Por último, vamos a considerar ofrecer más opciones para que los clientes puedan controlar con precisión qué se puede hacer en Cache Reserve. Estas funciones representan solo el comienzo de cómo los clientes controlarán y personalizarán su caché en Cloudflare.
¿Qué opiniones hemos visto hasta ahora?
Como cliente de Cloudflare desde hace mucho tiempo, estábamos deseando implementar Cache Reserve para permitir a nuestros usuarios finales ahorrar costes y mejorar el rendimiento. El objetivo principal de Delivery Hero es garantizar el funcionamiento óptimo de nuestra aplicación para nuestros socios y repartidores en todo el mundo. Con Cache Reserve, nuestra proporción de aciertos de la caché mejoró un 5 %. Esto nos permitió reducir nuestra infraestructura, simplificar las necesidades operativas de nuestro sitio global y ahorrar costes adicionales.Wai Hang Tang, director de ingeniería, Delivery Hero
Anthology utiliza la caché global de Cloudflare para mejorar notablemente el rendimiento de los contenidos que ofrecemos a nuestros usuarios finales en escuelas y universidades. Solo tuvimos que pulsar un botón para activar Cache Reserve y empezar a ofrecer grandes experiencias a profesores y estudiantes y reducir dos tercios nuestro tráfico de salida diario.Paul Pearcy, ingeniero sénior de plantilla, Anthology
En Enjoei, siempre buscamos formas de ayudar a que los sitios de nuestros usuarios finales sean más rápidos y eficientes. Cache Reserve de Cloudflare nos permitió mejorar más de un 10 % nuestra proporción de aciertos de caché, lo que redujo nuestros costes de salida de origen. Cache Reserve también mejoró el rendimiento de muchos de los sitios de nuestros distribuidores en Sudamérica, lo que mejoró su clasificación SEO y su detectabilidad en Internet (Google, Criteo, Facebook, Tiktok). Además, apenas tardamos tiempo en configurarlo.Elomar Correia, responsable de DevOps e ingeniería de fiabilidad del sitio | arquitecto de soluciones empresariales, Enjoei
En el sector de los eventos en directo, el tamaño y la demanda de nuestro contenido almacenable en caché pueden ser extremadamente volátiles, lo que provoca que nuestras tarifas de salida fluctúen de manera imprevisible. Además, mantener los datos lo más cerca posible de nuestros usuarios es fundamental para la experiencia del cliente en los escenarios de mucho tráfico y bajo ancho de banda en los que se utilizan nuestros productos, como convenciones y festivales de música. Cache Reserve nos ayuda a mitigar ambos problemas con un impacto mínimo en nuestros equipos de ingeniería, ofreciéndonos unos costes más predecibles y una latencia menor que las soluciones existentes.Jarrett Hawrylak, vicepresidente de ingeniería | venta de entradas para empresas, Patron Technology
¿Cómo puedo utilizarlo hoy?
A partir de hoy, Cache Reserve está disponible como versión beta abierta, lo que significa que está disponible para todos aquellos que deseen utilizarlo.
Para utilizar Cache Reserve:
Simplemente ve al icono de Caching del panel de control.
Ve a la página Cache Reserve y pulsa el botón para activar la sincronización de datos (o el botón de compra).
Los clientes Enterprise pueden trabajar con su equipo de cuenta de Cloudflare para acceder a Cache Reserve.
Los clientes pueden asegurarse de que Cache Reserve está operativo consultando las métricas de línea base relativas a qué cantidad de datos se almacenan en caché y cuántas operaciones observamos en la sección Cache Reserve del panel de control. Las solicitudes específicas que atiende Cache Reserve están disponibles mediante Logpush v2 y buscando las solicitudes HTTP con el campo "CacheReserveUsed".
Continuaremos asegurándonos de asignar la prioridad adecuada a los comentarios recibidos y de realizar mejoras para ayudar a garantizar que Cache Reserve sea fácil de utilizar, enormemente beneficioso y tu herramienta preferida para reducir las tarifas de salida del contenido almacenado en caché.
Pruébalo
Estamos encantados de poder proporcionar Cache Reserve a más usuarios. Habrá más desarrollos interesantes en Cache Reserve a medida que sigamos invirtiendo en proporcionarte todas las herramientas que necesitas para crear tu caché perfecta.
Prueba ya Cache Reserve y dinos qué te parece.