Caso Sunat – Sirviendo contenido estático con alta disponibilidad
Cuando SUNAT comisionó a Hostinglabs la publicación de su repositorio de procedimientos, software y resoluciones, sabíamos que el proyecto traía consigo el reto de equilibrar, por un lado, una propuesta robusta y rápida, y, por el otro, no exceder los parámetros definidos por la institución para mantener la interoperabilidad con los sistemas existentes y no elevar la complejidad en la gestión para los administradores de la institución.
Lograr este equilibrio requirió una dosis de creatividad, pero siempre con la premisa de mantener las cosas simples y solo incluir lo que estrictamente sumara resiliencia y velocidad a la solución.
Así, la receta final incluyó a Cloudflare como CDN y capa inicial de protección, sumando el uso de buckets R2 para almacenar el caché generado desde los servidores de aplicación, con el fin de entregar contenido con mejor latencia y velocidad a los visitantes.
Un balanceador de carga recibe las peticiones y distribuye el tráfico en base a la salud y disponibilidad de tres servidores de aplicación ejecutando Nginx, todos respaldados por almacenamiento en red, lo que permite montar los mismos datos como volumen en cada servidor de aplicación.
La seguridad es provista en dos capas: primero con Cloudflare, que detecta tráfico malicioso y provee un nivel inicial de protección DDoS; y posteriormente, nuestra capa de seguridad actúa después de la terminación SSL, para ofrecer un segundo nivel de filtrado WAF antes de entregar el tráfico a los servidores.
La arquitectura desplegada actualmente entrega aproximadamente 2TB de datos al día, en un rango de 15,000 a 35,000 peticiones, dependiendo del día de la semana. Todo esto, manteniendo los parámetros definidos y con la holgura necesaria para escalar si la institución así lo requiere.