MDH GROUP · BLOG

Affilentra Backup y Upgrade: Actualizaciones sin tiempo de inactividad y Recuperación ante Desastres para instalaciones self‑hosted PHP/MySQL

Self‑hosted significa control — pero también responsabilidad. Para instalaciones Affilentra (PHP/MySQL) son imprescindibles copias de seguridad fiables, rutas de migración reproducibles y procesos de reversión probados para garantizar tracking, cálculo de comisiones y pagos sin

← Todos los artículos

Affilentra Backup y Upgrade: Actualizaciones sin tiempo de inactividad y Recuperación ante Desastres para instalaciones self‑hosted PHP/MySQL

Introducción

Self‑hosted significa control — pero también responsabilidad. Para instalaciones Affilentra (PHP/MySQL) son imprescindibles copias de seguridad fiables, rutas de migración reproducibles y procesos de reversión probados para garantizar el seguimiento, el cálculo de comisiones y los pagos sin interrupciones. Este artículo ofrece recomendaciones prácticas que puede aplicar de inmediato para minimizar el tiempo de inactividad y hacer que los tiempos de recuperación sean previsibles.

Principios básicos de una estrategia robusta

  • Separar roles: Los operadores del software realizan tareas de infraestructura (copias de seguridad, actualizaciones), los comerciantes coordinan campañas y los socios verifican la integridad del tracking.
  • Separación de código y datos: Haga copias de seguridad del sistema de archivos (webroot, medios, creatividades) por separado de la base de datos.
  • Automatizar, documentar, probar: Cada paso de copia de seguridad y migración debe ser automatizable y reproducible en un entorno de pruebas.
  • Migraciones mínimamente invasivas: Diseñe cambios de esquema de modo que las rutas de código antiguas y nuevas puedan coexistir temporalmente.

Estrategia de copias de seguridad: intervalos y retención

Una combinación práctica de copias completas, copias incrementales y registro continuo de transacciones reduce las ventanas de recuperación.

  • Base de datos:
    • Copia completa (física o lógica) al menos una vez al día en sistemas activos.
    • Para RTO/RPO bajos: active y archive regularmente los binlogs (MySQL binary logs) para permitir la recuperación punto en el tiempo.
    • En bases de datos grandes: utilice copias físicas (p. ej., Percona XtraBackup) o snapshots consistentes mediante replicación para evitar bloqueos.
  • Sistema de archivos / archivos de la aplicación:
    • Copia completa diaria; si hay cambios frecuentes (creatividades, cargas) añada copias incrementales horarias.
    • Antes de cada actualización, cree siempre una snapshot inmediata.
  • Retención: Mínimo: copias diarias de los últimos 7 días; copias semanales durante 8 semanas; copias mensuales durante 12 meses. Ajuste la retención según requisitos regulatorios y necesidades del negocio.
  • Externas y verificación: Almacene las copias cifradas en al menos una ubicación externa. Pruebe la restauración de forma regular (p. ej., mensual).

Snapshots de BD y herramientas

Elija la herramienta adecuada al tamaño y las necesidades de disponibilidad de su instalación.

  • instalaciones pequeñas: mysqldump es adecuado para copias de seguridad lógicas y restauraciones sencillas.
  • instalaciones medianas a grandes: Percona XtraBackup o snapshots físicos (LVM, ZFS) proporcionan copias consistentes y más rápidas sin bloqueos prolongados.
  • Replicación como fuente de backup: Una réplica de solo lectura puede utilizarse para copias de seguridad y entornos de prueba, para no afectar la carga de producción.
  • Antes de la actualización: Siempre crear un snapshot consistente incluyendo los binary logs activos y registrar la posición del binlog.

Rutas de migración entre versiones

Planifique las migraciones de modo que se preserve la integridad de los datos y sea posible revertir los cambios.

  • Migraciones versionadas: Use un framework de migraciones (p. ej. Doctrine Migrations, Phinx o una herramienta interna) con scripts Up y Down claramente definidos.
  • Preferir cambios aditivos: Añada nuevas columnas como nullable, cree índices en pasos separados y realice backfills migracionales de forma asíncrona.
  • Compatibilidad hacia atrás: Despliegue primero código que funcione tanto con el esquema antiguo como con el nuevo. Solo después de un despliegue y backfill exitosos, cambie al nuevo esquema y elimine las funciones legacy más adelante.
  • Evitar cuellos de botella en el esquema: Operaciones largas de ALTER TABLE deben prepararse en réplicas y luego aplicarse mediante procedimientos controlados (pt-online-schema-change, gh-ost).

Entornos de prueba y CI/CD

Un entorno de prueba que refleje la producción es obligatorio.

  • Copia completa de staging: Generarla regularmente a partir de snapshots de producción, incluyendo sistema de archivos y BD (prever el enmascaramiento de datos sensibles).
  • Ejecuciones automatizadas de migraciones: Ejecute cada migración en CI contra staging y automatice pruebas de integración y smoke (flujo de tracking, conversión, cálculo de comisiones, historial de pagos).
  • Canary / Blue‑Green: Para lanzamientos mayores se recomienda un despliegue Canary (pequeña fracción del tráfico) o Blue‑Green, para poder volver rápidamente al entorno estable en caso de errores.

Procesos de rollback: paso a paso

Un plan de retroceso probado minimiza los riesgos operativos.

  • Preparación: Antes del lanzamiento, copia de seguridad completa + posición del binlog; definir la lista de verificación del release y las responsabilidades.
  • Priorizar opciones de reversión:
    1. Revertir la aplicación (opción más rápida) — si las migraciones son reversibles y no han sido ya destructivas.
    2. Restaurar la base de datos desde un snapshot — necesario cuando las migraciones incluyen cambios irreversibles o ocurre corrupción de datos.
  • Pasos en caso de error:
    1. Bloquear escrituras o pasar a modo de mantenimiento.
    2. Revertir la aplicación a la versión anterior.
    3. Si es necesario, restaurar la BD desde el snapshot y reproducir el binlog hasta justo antes del cambio defectuoso.
    4. Ejecutar pruebas de humo y, tras la validación, reabrir las escrituras.
  • Comunicación: Informar proactivamente a comercios y socios sobre posibles efectos en el tracking y los pagos.

Flujo práctico de actualización (ejemplo)

Flujo concreto para una ventana de lanzamiento habitual:

  • 72–48 horas antes: notas de la versión, plan de pruebas, asignación de responsables.
  • 24 horas antes: copia completa de la BD, archivado de los binlogs, snapshot de los archivos del webroot.
  • Antes del despliegue: restauración en staging desde el snapshot y ejecución de las pruebas automatizadas.
  • Despliegue en Canary/Blue‑Green: aumentar el tráfico de forma gradual, monitorizar durante 30–60 minutos.
  • Tras la aprobación: realizar backfills asíncronos y reconstrucción de índices; eliminar campos antiguos solo después de un periodo de observación.

Monitorización, validación y gobernanza

Después de cada actualización son necesarias comprobaciones sistemáticas:

  • Pruebas de humo: generar un enlace de tracking, simular una conversión, verificar el cálculo de comisiones y revisar los registros de pago.
  • Logs y métricas: vigilar tasas de error, latencias, longitudes de colas y consultas lentas en la BD.
  • Auditoría y registro de cambios: documentar cada migración y cada reversión, incluyendo la referencia de la copia de seguridad y la posición del binlog.

Responsabilidades basadas en roles

Una distribución clara de tareas reduce fricciones:

  • Operadores de software: Se encargan de la automatización de backups, gestión de snapshots, aplicación de actualizaciones y reversiones.
  • Comercios/Merchants: Planifican campañas alrededor de las ventanas de mantenimiento; revisan métricas de campaña y creatividades tras el release.
  • Socios/Publishers: Verifican enlaces de tracking e historiales de pagos después de un release y reportan discrepancias de inmediato.

Conclusión y próximos pasos

Para las instalaciones de Affilentra merece la pena planificar: copias de seguridad coherentes, una estrategia de migración por fases y procedimientos de reversión probados reducen los riesgos de tiempo de inactividad y protegen los ingresos. Comience con tres medidas sencillas: copias diarias de la BD + archivado de binlog, restauración en staging antes de cada versión y una lista de verificación escrita para la reversión.

¿Listo para el siguiente paso? Elija su punto de partida y reciba asesoramiento sobre las opciones de licencia y los paquetes de soporte adecuados: Elegir opción.

Siguiente paso

Probar Affilentra

Plataforma unificada que integra de forma transparente la entrega de productos, el seguimiento, la validación de conversiones, el cálculo de comisiones y los pagos, con roles claramente separados; opción de instalación autoalojada con licencia de por vida sin participación en los ingresos; los comerciantes conservan el control sobre productos, condiciones y materiales publicitarios; los socios reciben enlaces de seguimiento personales e historial de pagos verificable.

Elegir opción