Planeta

“Site Builder” Drupal App Migration to GCP

About the customer:

Grupo Planeta es el primer grupo editorial, de comunicación y de formación español, de capital familiar, que lidera una amplia oferta al servicio de la cultura, la formación, la información y el entretenimiento audiovisual. Una de las divisiones con más crecimiento es la de formación online y presencial, donde se encuentran una de las Business Schools más prestigiosas de Barcelona. Al tener una vertiente online, es importante que los departamento de negocio y marketing, lleguen al máximo de países con el mejor posicionamiento posible para la venta de los cursos y seguir posicionándose como líderes de formación de lengua hispana en más de 20 países.

The challenge:

El reto en este proyecto consistía en diseñar una plataforma sobre GCP que se encargara de desplegar una aplicación “Site Builder” basada en Drupal 8 maximizando la disponibilidad e integridad de los datos. La aplicación se desplegará por fases por lo que es necesario que escale acorde a las necesidades de carga.

 – Key Criteria:

  • Disponibilidad: La plataforma debe proporcionar alta disponibilidad y ser tolerante a fallos en todos los niveles. También se deben reducir los tiempos de inactividad por mantenimiento.

  • Integridad de datos: Los datos generados por la plataforma “leads” deben ser considerados como críticos y se debe garantizar su disponibilidad y garantía de procesamiento.

  • Escalabilidad: La arquitectura debe permitir adaptarse a la demanda creciente según se vayan publicando nuevos portales.

The solution:

Cumpliendo con los 3 objetivos principales del proyecto, se proponen la siguiente solución:

Disponibilidad

  • Aplicación (GKE Multi-AZ)
    El cluster de aplicación se distribuirá entre diferentes zonas para aumentar la disponibilidad.
    GCP ofrece una disponibilidad del 99,99% para compute engine y 99.5% API de GKE.
  • Base de datos (Cloud SQL Multi-AZ)
    Cloud SQL ofrece un SLA de 99,95%. Se realizará una rearquitectura de la aplicación para desacoplarla de la base de datos.
  • Pub/Sub y Almacenamiento de Objetos (Global)
    99,95% tanto para pubsub como para multi-regional storage class.

Integridad de datos

  • Garantizar el “consumo” de “leads”
    El uso de Cloud Pub/Sub para enviar los mensajes de leads desacopla la aplicación de la base de datos. Además este servicio garantiza la entrega (ACK) y reposo sin consumir hasta 7 días
  • Duplicar y contrastar información 
    Para asegurar la recepción de todos los “leads” se propone utilizar algún mecanismo de duplicidad del lead y almacenaje cifrado en “Cloud Storage”.
  • Múltiples estrategias de Backup 
    Para asegurar la integridad de los datos se propone el uso de diferentes estrategias de backup: Object versioning, snapshots, SQL dumps, etc.

Escalabilidad

  • Adaptación a demanda de aplicación (GKE)
    Se utilizarán las características de kubernetes para poder escalar tanto a nivel de “PODs” (HPA) como de nodos en caso necesario. Se ajustará la plataforma para obtener la mayor densidad y la menor capacidad en momentos “valle”.
  • Adaptación a demanda de backend (Cloud SQL)
    Cloud SQL permite la configuración de Mysql para master-slave, para este tipo de aplicaciones más del 90% de las queries son de lectura, por lo que se podrá crecer de forma horizontal (incrementando “slaves”).

Dichos servicios, se integran en la solución formando el siguiente diseño:

"La migración de la aplicación ha supuesto grandes retos, hemos conseguido, no obstante, mejorar el rendimiento y escalabilidad respecto a la plataforma on-premise, consiguiendo el ROI esperado"
Javier Montero
IT Services Director

Sobre el proyecto

Solution Pillars

Products

¿QUIERES SABER MÁS SOBRE ESTE CASO DE USO U OTROS?