Consideraciones y control de calidad mínimo de plataformas cloud.
En este artículo me gustaría exponer, a modo de borrador y basado en mi propia experiencia, algunas de las consideraciones y controles de calidad mínimos que, en mi opinión, un equipo de plataformas debe tener en cuenta a la hora de organizarse y llevar a la práctica proyectos que impliquen el diseño, arquitectura e implantación de plataformas cloud.
[Update] 14/10/2025 - Ante todo recomiendo tener siempre presente la filosofía "Que lo simple triunfe sobre lo fácil"
Borrador a fecha de hoy ;)
Análisis de diseño y arquitectura inicial
- Analizar el problema y las necesidades.
- Proponer soluciones que faciliten la vida a los usuarios de la plataforma.
- Tener en cuenta nuevas tecnologías.
- Automatizar lo máximo que podamos.
- Análisis de costes.
- Valoración de tecnologías libres que impliquen la reducción de gastos.
- No implantar sistemas con problemas de seguridad.
- Consensuar el análisis con el equipo.
- Cerrar arquitectura de una solución definitiva.
En general, antes y mientras estemos creando IaC...
- Ceñirnos a la definición inicial consensuada.
- Pensar en la reutilización.
- Automatizar lo máximo que podamos.
- Pensar en la facilidad de mantenimiento en el futuro.
- No añadir complejidad global innecesaria.
- Simplificar al máximo sin quitar funcionalidad.
- Si se introducen mejoras personales fuera de la definición inicial que añada complejidad, valorar con el equipo.
- Ajustar si es necesario el resultado funcional final.
- Trabajar en un entorno de test pensando en que los cambios de producción tengan que ser mínimos (monitoring, recursos...)
Control funcional y seguridad
- Tests de caos.
- Tests de seguridad.
- Tests de carga y escalado de la plataforma.
- Tests de deploy de la aplicación.
- Comprobar los logs de la plataforma sin errores (a nivel de sistemas).
- Comprobar las alarmas del entorno de producción.
- Alarmas básicas de sistemas.
- Alarmas consensuadas con el equipo de desarrollo.
- Comprobar los permisos necesarios por parte del desarrollador.
- Logs.
- Deploy.
- Recursos de la plataforma necesarios.
Código (IaC)
- Que contenga un README con la documentación interna para el equipo.
- Descripción mínima.
- Sólo con el detalle necesario.
- Definición de scripts adicionales.
- Coherencia y orden general de lo que estamos montando a nivel de ficheros/carpetas y código.
- Sin comentitis. La mayoría de las veces el código se define solo.
- Sin errores de sintaxis ni posibles futuras deprecaciones.
- Sin código vulnerable.
- Sin información sensible.
- Respetando la lógica global de lo que ya tenemos montado.
- Si se requieren cambios globales, valorar con el equipo.
- Si no está desplegado o automatizado para que se despliegue, no tiene que estar en el código.
- Cariño adicional en temas más concretos de código.
Entrega y comunicación con otros equipos
- Avanzarnos a posibles problemas con otros equipos.
- Antes de que otro pruebe la plataforma, tienes que haberla probado tú antes.
- Conocimiento mínimo de la tecnología que implantamos.
- Acompañar al desarrollador en sus primeros deploys.
- Utilizar el entorno de test para poner en común todo lo necesario, antes del paso a producción.
- Si no está todo listo en test no se puede desplegar en producción.
- Comentar mejoras y añadirlas si es necesario.
- Consensuar conjuntamente con el equipo de desarrollo el paso a producción.