

Grupo Planeta y ACKstorm: Migración de la aplicación Drupal "Site Builder" a Google Cloud
Sobre el cliente y el reto planteado
El Grupo Planeta es el primer grupo editorial, de comunicación y de formación de España, de capital familiar, que lidera una amplia oferta al servicio de la cultura, formación, información y 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.
En este sentido, el Grupo Planeta planteó a ACKstorm el reto de diseñar e implementar una plataforma sobre Google Cloud para desplegar una aplicación “Site Builder” basada en Drupal 8, maximizando la disponibilidad e integridad de los datos.
La aplicación se despliega por fases, por lo que es necesario que escale acorde a las necesidades de carga.
Los criterios clave del proyecto fueron:
- Disponibilidad: la plataforma debía proporcionar alta disponibilidad y ser tolerante a fallos en todos los niveles. También se debían reducir los tiempos de inactividad por mantenimiento.
- Integridad de datos: los datos generados por la plataforma “leads” debían ser considerados como críticos y se debían garantizar su disponibilidad y garantía de procesamiento.
- Escalabilidad: la arquitectura debía permitir adaptarse a la demanda creciente según se publicaban nuevos portales.
Sobre el proyecto y los resultado obtenidos
Cumpliendo con los 3 objetivos principales del proyecto, ACKstorm diseñó una arquitectura en Google Cloud como se muestra en el esquema siguiente:
Disponibilidad
- Aplicación (GKE Multi-AZ). El cluster de aplicación se distribuye entre diferentes zonas para aumentar la disponibilidad. Google Cloud 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 realiza 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 los 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 utilizan las características de Kubernetes para poder escalar tanto a nivel de “PODs” (HPA) como de nodos en caso necesario. Se ajusta 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 puede crecer de forma horizontal (incrementando “slaves”).


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
Javier Montero, IT Services Director en Grupo Planeta:
“La migración de la aplicación ha supuesto grandes retos, pero hemos conseguido mejorar el rendimiento y escalabilidad respecto a la plataforma on-premise, consiguiendo el ROI esperado gracias a ACKstorm.”