Estándares y guías para la digitalización

Guía de tecnologías para servicios digitales

Componentes para el desarrollo de de aplicaciones escalables

Estos son algunos componentes que te pueden ayudar a tener una mejor respuesta en un sistema.

CDN (Content Delivery Network)

Una red de entrega de contenido (CDN) es un conjunto de computadoras interconectadas alrededor del mundo, que acelera la carga de páginas web con un uso intensivo de datos y guarda copias de algún recurso (web apps, assets, etc.). La red funciona en base a los principios de almacenamiento en caché, aceleración dinámica y otros elementos. Su objetivo es reducir la latencia y, de esta manera, mejorar la experiencia del usuario (al disminuir su tiempo de espera).

La red CDN ofrece múltiples ventajas para mejorar el rendimiento de las páginas web como:

  • Reduce el tiempo que las páginas se tardan en cargar, lo que a su vez puede disminuir las tasas de rebote y aumentar el tiempo de permanencia de los usuarios en la web.
  • Aumenta la disponibilidad de contenido. Puede soportar más tráfico web, por lo que es menos probable que el portal se caiga si acceden muchos usuarios a la vez.
  • Disminuye los costos del ancho de banda.
  • Mejora la seguridad del sitio web.

Caché

Es un componente de software o hardware usado para almacenar resultados de peticiones comunes, operaciones de alto costo y consultas complejas en bases de datos. Su objetivo es aumentar el rendimiento de recuperación de datos.

Ventajas del almacenamiento en caché:

  • Mejora el rendimiento de la aplicación
  • Reduce el costo de la base de datos
  • Disminuye la carga en el backend
  • Genera un rendimiento predecible
  • Elimina los puntos conflictivos de la base de datos

Normalmente, almacena un subconjunto de datos de forma temporal. Debido a su alto costo, mantiene solo la información esencial, siguiendo reglas de cache eviction policy como: los elementos a descartar, cuando la memoria se llene, son los primeros que se almacenaron o los usados con menos frecuencia.

Proxy

Se trata de una computadora que va a fungir en representación de un cliente (forward proxy) o servidor (reverse proxy). En el primer caso, lo más común es utilizarlo como un VPN (red privada virtual); en el segundo, se usa para filtrar algunas peticiones, evitar ataques DDoS (conocidos como ataques de denegación distribuida de servicio), generar logs de peticiones o se utiliza como un load balancer.

Load balancer

Cuando un sistema comparte recursos, debes considerar cómo balancear la carga de trabajo. Esto es lo que hace el balance de carga (load balancer). Si un grupo de servidores (cluster) se enfrenta a picos de tráfico o a una posible avería, interviene para repartir equitativamente la carga de trabajo entre servidores y mantener su capacidad en un nivel óptimo. Así, las páginas web alojadas en servidores con un balance de carga serán menos propensas a demoras o interrupciones. Esta tecnología es especialmente recomendada para los sitios de e-commerce.

Ventajas del balanceador de carga:

  • Reduce los tiempos de respuesta de un sitio web tras las peticiones de los usuarios.
  • Disminuye el riesgo de fallos provocados por una sobrecarga.
  • Asegura una buena experiencia de usuario al mantener un nivel de calidad homogéneo en las páginas web. A su vez, preserva su imagen digital y ofrece seguridad a los clientes.