
He estado trabajando en múltiples proyectos en los que moví aplicaciones de PoC a Producción.
Estas son las listas de verificación que he preparado para mí y mi equipo para garantizar que estemos listos para la producción.
Aquí las listas de verificación se centran en que la aplicación está en el lenguaje de programación Python y se implementa en AWS a través de Kubernetes.
No todos son obligatorios, pero son los que me han resultado más útiles.
1. Alertas y métricas
- [ ] ¿Hay alertas configuradas para problemas de infraestructura (por ejemplo, aumento del uso de memoria o CPU, falta de disponibilidad del servicio)?
- [ ] ¿Hay alertas configuradas para fallas lógicas críticas específicas de la aplicación?
- [ ] ¿Podemos ver datos históricos (últimas horas/días) de infraestructura y uso de recursos?
- [ ] ¿Existe un panel de monitoreo en tiempo real?
2. Panel de control y POE
- [ ] ¿Existe un documento SOP para manejar alertas y problemas conocidos?
- [ ] ¿Hay runbooks disponibles para escenarios comunes?
- [ ] ¿Existe un plan de respuesta a incidentes?
3. Mapeo y cadencia de guardia
- [ ] ¿Existe un mapeo de personas de guardia para problemas a nivel de aplicación?
- [ ] ¿Existe un mapeo de personas de guardia para temas relacionados con infraestructura?
- [ ] ¿Existe un cronograma de rotación definido y una política de escalamiento?
4. Implementación
- [ ] ¿Se ha determinado el tipo de instancia apropiado (GPU o CPU)?
- [ ] ¿Se ha especificado el tipo de servidor requerido?
- [ ] ¿Existe compatibilidad con zonas de disponibilidad múltiple para la conmutación por error?
- [ ] ¿Hay soporte para varias regiones?
- [ ] ¿Está configurado el escalado automático (p. ej., HPA, Keda) para picos de tráfico?
- [ ] ¿Están configuradas las comprobaciones de estado para el servidor?
- [ ] ¿Se han definido y documentado los límites de recursos?
- [ ] ¿Existe una estrategia de implementación azul-verde o canaria?
- [ ] ¿Existe un plan y procedimiento de reversión definidos?
5. Observabilidad y rastreo
- [ ] ¿Existe un panel que muestre métricas relevantes (por ejemplo, recuento de solicitudes, códigos de estado HTTP, uso)?
- [ ] ¿Podemos rastrear una única solicitud de un extremo a otro para fines de depuración?
- [ ] ¿Existe un sistema de análisis y agregación de registros?
- [ ] ¿Se implementa el rastreo distribuido?
6. Pruebas de carga
- [ ] ¿Se ha realizado una planificación de capacidad para determinar las capacidades de manejo de carga del servidor?
- [ ] ¿Existen puntos de referencia de rendimiento definidos?
- [ ] ¿Se han realizado pruebas de estrés?
7. Calidad
- [ ] ¿Existen pruebas unitarias automatizadas?
- [ ] ¿Existen pruebas de integración automatizadas?
- [ ] ¿Se realiza análisis de código estático (por ejemplo, comprobaciones de complejidad)?
- [ ] ¿Se mide la cobertura del código y se encuentra en un nivel aceptable?
- [ ] ¿Existen casos de prueba de cordura de producción?
- [ ] ¿Existe un proceso de CI/CD?
- [ ] ¿Se realizan análisis de seguridad y evaluaciones de vulnerabilidad con regularidad?
8. Liberación
- [ ] ¿Está disponible y actualizada la documentación de Swagger/OpenAPI?
- [ ] ¿Existe un sistema de versiones para API y lanzamientos?
- [ ] ¿Existe un canal de comunicación establecido para el mantenimiento programado?
- [ ] ¿Existe un proceso de gestión de cambios?
- [ ] ¿Se utilizan indicadores de funciones para la implementación gradual de nuevas funciones?
9. Recuperación ante desastres y continuidad del negocio
- [ ] ¿Están implementados y probados procedimientos de copia de seguridad y restauración?
- [ ] ¿Existe una estrategia de replicación de datos?
- [ ] ¿Se han definido el objetivo de tiempo de recuperación (RTO) y el objetivo de punto de recuperación (RPO)?
- [ ] ¿Se realizan periódicamente simulacros de recuperación ante desastres?
10. Cumplimiento y seguridad
- [ ] ¿Están cifrados los datos en reposo y en tránsito?
- [ ] ¿Existen mecanismos de autenticación y control de acceso?
- [ ] ¿Se realizan auditorías de seguridad periódicas?
- [ ] ¿La aplicación cumple con los estándares industriales relevantes (por ejemplo, GDPR, HIPAA)?
11. Documentación
- [ ] ¿Está disponible y actualizada la documentación sobre la arquitectura del sistema?
- [ ] ¿La documentación de la API está completa y actualizada?
- [ ] ¿Están documentados los procedimientos operativos?
- [ ] ¿Existe una guía completa para la solución de problemas?