

Grupo 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.


Sobre el proyecto
Solution Pillars
- High Performance Computing
- Modern App Development
- Data Analytics
- Cloud for Marketing
- Collaboration & Productivity
Products
- Google Cloud Platform
- Compute Engine
- Kubernetes Engine
- Cloud SQL
- Cloud Memorystore
- Cloud Load Balancing
- Cloud VPN
- Pub/Sub
- App Engine
- Cloud Storage