Sobre la empresa
Sónar es un festival de música electrónica, arte y tecnología que se celebra anualmente en Barcelona, España. Fue fundado en 1994 por Ricard Robles, Enric Palau y Sergi Caballero, y desde entonces se ha convertido en uno de los festivales de música más importantes del mundo. Además de la música, Sónar también ofrece una amplia programación de arte y tecnología. El festival cuenta con exposiciones, conferencias, talleres y otras actividades relacionadas con la cultura digital. Sónar es un festival que celebra la creatividad y la innovación, y que busca explorar las últimas tendencias en música, arte y tecnología.
El punto de partida del proyecto: Renovar la presencia digital.
Hace tiempo que Sónar ha dejado de ser “solo” un festival musical para mutar también en un espacio-foro de innovación tecnológica, creatividad e investigación. Sónar es música avanzada, pero también tecnología “futura”.
Sónar ya había confiado anteriormente en Beservices y ahora, volvía a confiar en nosotros para crear una infraestructura segura y escalable para su nuevo sitio web.
El objetivo principal de su proyecto era reinventar su presencia digital, creando un sitio web más centrado en el usuario, flexible y adaptable a las cambiantes necesidades de comunicación del festival. Un nuevo sitio que ofreciera una experiencia de navegación atractiva durante todo el año y no solo una web de “apoyo” para las fechas del festival.
De un entorno monolítico a un clúster de microservicios con Kubernetes:
El tráfico web de Sónar presenta variaciones durante el año, algo muy común en la industria del entretenimiento y los festivales musicales, dónde se pueden observar picos de tráfico durante la promoción del festival y el transcurso del mismo, llegando a tener más de 30.000 usuarios concurrentes en la plataforma.
El correcto funcionamiento del sitio web es fundamental para el éxito del festival, ya que debe asegurar que los usuarios puedan acceder fácilmente a la programación del evento, obtener la información necesaria y navegar por su web sin problemas. En este sentido, era necesario poder contar con una infraestructura disponible y escalable.
Antes de la transformación a Kubernetes, la empresa disponía de una arquitectura legacy para alojar su sitio web en Google, que se construía sobre un servidor virtual de Compute Engine, el cual alojaba todas las páginas web de las diferentes zonas de actuación del festival, el sistema operativo Linux, el servidor web apache etc., que estaba enlazado con una instancia de Cloud SQL para las bases de datos y un bucket de almacenamiento centralizado con Google Cloud CDN para ofrecer una carga más rápida de vídeos e imágenes.
Este enfoque tenía ciertas restricciones con las necesidades de la empresa. Al trabajar sobre un entorno monolítico (todos los elementos de la web se trataban como una única unidad), solo era posible hacer un escalado vertical y aumentar los recursos de la máquina virtual, algo que presentaba desafíos de escalabilidad, ya que todo el sistema debía escalarse conjuntamente aunque solo una parte específica necesitara más recursos.
Además, la nueva web en construcción estaba formada por un backend que usa el aplicativo Strapi y un frontend creado con Nextjs. Strapi es una aplicación cuya documentación oficial recomienda su despliegue usando tecnologías de contenedores basadas en Docker y Next.js, necesitando su característica de renderizado en el lado del servidor o SSR. Esta característica obligaba a utilizar Docker como motor de contenedores y pasar de un entorno monolítico a un clúster de microservicios.
Una infraestructura escalable y tolerante a fallos que permita asegurar una experiencia digital atractiva durante todo el año.
Para iniciar la transformación de la infraestructura de Sónar y pasar de un entorno legacy a un clúster de microservicios con Kubernetes, nos pusimos en contacto con Acid Tango, empresa encargada de llevar a cabo el proyecto de renovar la presencia digital de Sónar.
Tras diferentes reuniones entre el equipo de desarrolladores de Acid Tango y los ingenieros de sistemas de Beservices, se definió que la mejor solución era crear un clúster de Kubernetes en Google Cloud con su servicio de administración Google Kubernetes Engine (GKE).
Despliegue integral de la nueva infraestructura de Sónar
Para habilitar la nueva infraestructura de Sónar en Google Cloud, se construyó la infraestructura en Kubernetes y se desplegó con Terraform para crear un clúster de contenedores con GKE. Además, se configuraron los servicios esenciales para garantizar el correcto funcionamiento de este nuevo “armazón” generado:
Load Balancer para una distribución eficiente del tráfico:
Configuramos un Load Balancer para asegurar la distribución equitativa del tráfico entre los nodos del clúster. Este enfoque no solo mejora la disponibilidad y escalabilidad del entorno, sino que también contribuye a un rendimiento web superior.
Certificados SSL para aumentar la seguridad y la confianza:
Implementamos certificados SSL para el clúster de Kubernetes, optando por los de Google por su generación y renovación automática. Esto libera a Sónar de preocupaciones y asegura la habilitación de HTTPS, garantizando la seguridad, autenticación y confianza de los usuarios, cumpliendo con estándares y requisitos regulatorios.
Almacenamiento eficiente con Google Cloud CDN:
Configuramos un bucket para el almacenamiento de imágenes y videos de eventos, respaldado por Google Cloud CDN para un óptimo almacenamiento en caché del contenido estático del sitio web.
Bases de datos eficientes con Cloud SQL:
Para la gestión eficiente de las bases de datos, configuramos instancias de Cloud SQL con PostGre SQL para cada ubicación. Optamos por Cloud SQL debido a su enfoque serverless, permitiéndonos administrar diversas bases de datos dentro del clúster.
Impulsando un desarrollo eficiente:
Para fortalecer la eficiencia del desarrollo, la generación de contenedores se realizó con CloudBuilding, almacenando las imágenes de manera segura en ContainerRegistry de Google. Esto garantiza una gestión centralizada y accesible de diferentes versiones del código.
Impulsando una gestión proactiva del clúster:
Para monitorizar la salud y el rendimiento del clúster, se ha configurado Google Cloud Monitoring para proporcionar alertas inmediatas tanto para el servicio de Cloud SQL como para el clúster de Kubernetes. Esto garantiza una respuesta proactiva a cualquier anomalía, manteniendo la integridad del sistema en todo momento.
Asegurando los archivos más críticos:
Por último, se implementó la configuración de snapshots en los nodos que alojan los contenedores, asegurando un respaldo completo de archivos críticos. Esta medida, además de cumplir con estándares de seguridad, permite una rápida recuperación ante eventualidades.
Escalabilidad horizontal y alta disponibilidad
Trabajar con un clúster de contenedores impulsa la eficiencia en la gestión de recursos y la automatización de aplicaciones en entornos distribuidos. Este enfoque directamente impacta en la escalabilidad de la infraestructura al permitir un escalado horizontal automático basado en la demanda.
Adicionalmente, se ha configurado el entorno en tres zonas distintas dentro de la región de Madrid para garantizar una alta disponibilidad y tolerancia a fallos. En caso de un fallo en alguna zona, el sistema se adapta automáticamente, levantando un nodo en la zona operativa sin contratiempos.
Con el objetivo de optimizar costes sin comprometer la dinámica del clúster, se valoró trabajar con grupos de nodos dinámicos de tipo spot. Aunque son más económicos, presentan la desventaja de estar disponibles únicamente en periodos de baja demanda en la zona de Google Cloud Platform. Para garantizar una disponibilidad total, se aconsejó mantener tres nodos estáticos. Esta estrategia no solo maximiza la eficiencia financiera, sino que también asegura la continuidad del servicio en todo momento.
Una infraestructura que baila al ritmo de Sónar
La edición 2023 de Sónar demostró con éxito la robustez y la escalabilidad de la infraestructura de su web, ofreciendo a los usuarios una experiencia de navegación segura y atractiva durante todo momento. Sin duda alguna, Sónar seguirá siendo un referente en música y tecnología avanzada. Beservices se enorgullece de poner su granito de arena colaborando y facilitando el día a día de un festival que apuesta de una manera tan firme por la creatividad y la innovación.
Los principales beneficios del trabajo realizado por Beservices fueron:
- Disponer de una infraestructura dinámica que se adapte a las necesidades cambiantes de la demanda.
- Asegurar una experiencia de navegación óptima durante todo el año, independientemente del volumen de –usuarios concurrentes conectados.
- Optimización económica al no generar un sobreaprovisionamiento de recursos.
- Agilizar la revisión de código y la integración de nuevas versiones.
- Asegurar una alta disponibilidad ante cualquier eventualidad en los centros de datos.