40M
Migrar 40 millones de comentarios sin perder ninguno
Migración completa de la plataforma de comentarios de un medio de alto tráfico, con reversión instantánea.
- typescript
- nextjs
- kubernetes
- stripe
PHP arrastra una reputación que dejó de corresponderse con el lenguaje hace años. El PHP actual tiene tipos declarados en parámetros, propiedades y retornos, enumeraciones, y un ecosistema de análisis estático que encuentra errores antes de ejecutar una sola línea. Lo que no ha cambiado es otra cosa: la distancia entre el PHP escrito con disciplina y el PHP escrito deprisa sigue siendo enorme, y la mayoría del PHP que da problemas pertenece al segundo grupo.
Nuestra forma de demostrar en qué grupo trabajamos es enseñar el código. ZoneMirror, nuestro plugin de cPanel y WHM para replicar zonas DNS en Cloudflare, está publicado con licencia MIT: análisis estático en el nivel 8 de PHPStan, el más estricto de la escala habitual, y 690 métodos de test que se ejecutan en verde sobre PHP 8.2, 8.3 y 8.4 en integración continua. No es un adorno del repositorio: es lo que permite actualizar la versión de PHP el día que toca, en lugar de posponerlo años por miedo a lo que pueda romperse.
La otra mitad del trabajo con PHP no está en el código, está en el servidor. PHP vive dentro de una configuración concreta —versión, extensiones, límites de memoria, y en hosting compartido capas como CloudLinux y CageFS— y una parte real de los problemas de producción nace ahí y no en la aplicación. Esa parte también la cubrimos, y está documentada en público: los casos de diagnóstico en servidores cPanel que hemos resuelto están escritos en el blog, con el síntoma, la causa y la solución completa.
Con las aplicaciones heredadas el criterio es el mismo y el orden importa: primero fijar versión y dependencias, después el análisis estático con una línea base de lo existente, y tests alrededor de cada zona antes de cambiarla. Reescribir es a veces la respuesta correcta, pero casi nunca es la primera, y tomada sin medir es la manera más cara de descubrir lo que el sistema antiguo ya sabía. Si tu aplicación PHP funciona pero nadie se atreve a tocarla, ese es exactamente el punto de partida con el que sabemos trabajar.
Hechos concretos
40M
Migración completa de la plataforma de comentarios de un medio de alto tráfico, con reversión instantánea.
Nivel 8
Plugin de cPanel y WHM con licencia MIT, multiinquilino, con tokens cifrados por usuario y un demonio supervisado por systemd. Sin cron.
GKE
La capa que nadie ve: charts de Helm, migración a la Gateway API de GKE y flujos de despliegue por entorno para que un equipo de producto publique sin ser experto en clústeres.
24M
Frontend, rendimiento y fiabilidad en producción sobre una plataforma de cotizaciones en tiempo real.
Cómo trabajamos
El mismo proceso en un encargo de tres semanas y en una plataforma de dos años.
Una sesión para entender el proceso de negocio, no para enseñar plantillas. Salimos con prioridades y precio por fases.
Modelo de datos, integraciones y presupuesto de rendimiento antes de escribir la primera pantalla.
Entregas semanales en un entorno visitable. Lo que se aprueba se despliega, no se acumula.
Monitorización, copias verificadas y despliegues que cualquiera del equipo puede ejecutar.
El lenguaje no; algunas formas de escribirlo, sí. El PHP actual tiene tipos declarados, un modelo de errores razonable y herramientas de análisis estático al nivel de cualquier ecosistema serio. La diferencia entre una aplicación PHP mantenible y una que da miedo tocar no está en el lenguaje: está en si hay tipos, tests y análisis estático, o si todo eso se sustituyó por costumbre y suerte.
Sí, y el primer paso nunca es reescribirla. Es fijar la versión de PHP y sus extensiones, poner el análisis estático como red con una línea base de lo que ya existe, y escribir tests alrededor de lo que se va a tocar antes de tocarlo. A partir de ahí cada cambio deja el sistema un poco mejor medido que antes, y la decisión de reescribir, si llega, se toma con datos y no por agotamiento.
Una con soporte de seguridad activo, hoy la rama 8.2 o posterior, y la actualización probada en un entorno aparte antes de producción. Quedarse en una versión sin soporte no congela el riesgo: lo acumula, porque cada año sin actualizar hace el salto más grande y más caro. Nuestro código de plataforma se prueba contra 8.2, 8.3 y 8.4 a la vez precisamente para que la versión no sea nunca la urgencia.
WordPress es PHP, pero es una conversación distinta: allí la decisión importante es cuándo encaja el CMS y cuándo deja de encajar, y tiene su propia página. Esta página es sobre PHP como lenguaje de plataforma: aplicaciones, plugins de servidor y código a medida donde las decisiones son de ingeniería, no de ecosistema de plugins.
Siguiente paso
Respondemos en un día laborable con una propuesta de alcance por fases, o con la razón por la que creemos que no somos el estudio adecuado para el encargo.
Usamos una cookie de analítica para saber qué páginas se leen. No hay publicidad ni perfilado, y sin tu permiso no se instala. Ver la política de cookies