
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:
- Revertir la aplicación (opción más rápida) — si las migraciones son reversibles y no han sido ya destructivas.
- 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:
- Bloquear escrituras o pasar a modo de mantenimiento.
- Revertir la aplicación a la versión anterior.
- Si es necesario, restaurar la BD desde el snapshot y reproducir el binlog hasta justo antes del cambio defectuoso.
- 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.
