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:

Todo ello se ha conseguido bajo un marco de trabajo con los máximos estándares ofrecidos como Managed Services Provider de Google Cloud Platform.

"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?