Validación de la migración
Mueva el tráfico solo después de que se aprueben las puertas de comportamiento, seguridad, rendimiento, observabilidad y rollback.
Antes de la migración total, siga estos pasos de validación:
- Reproduzca los eventos capturados y compare las salidas esperadas, los errores, los códigos de estado, las cabeceras, el esquema de cuerpo, los metadatos de objeto, las escrituras descendentes, los efectos secundarios, los logs y el comportamiento de la alarma.
- Ejecute pruebas de carga y fallo que abarquen la duración de p95/p99, la duración máxima, el espacio de memoria, las rutas sensibles al inicio en frío, la simultaneidad máxima, la antigüedad de los atrasos o las colas, las tormentas de reintento, los límites de velocidad descendentes y los síntomas de capacidad.
- Pruebe cargas útiles con formato incorrecto, eventos duplicados, mensajes envenenados, falta de disponibilidad descendente, denegación de permisos, rotación secreta, fallo de red, comportamiento de timeout, prevención de bucles y condiciones de rollback.
Recorte a OCI Functions
Mueva el tráfico solo después de que se aprueben las puertas de comportamiento, seguridad, rendimiento, observabilidad y rollback.
Para pasar a OCI Functions, siga estos pasos:
- Confirme que se hayan superado las puertas de validación funcional, de rendimiento, de seguridad y operativa.
- Registre el propietario de la migración total, el propietario del rollback, los criterios de éxito, los disparadores de rollback y el tiempo de recuperación esperado.
- Congelar cambios de aplicación no relacionados durante la ventana de migración total.
- Enrute una parte limitada y observable de la carga de trabajo a OCI Functions siempre que sea posible.
- Controle los resultados de negocio, los errores, los timeouts, la latencia, la limitación, los atrasos y los fallos descendentes.
- Aumentar el tráfico solo después de que transcurra el período de observación acordado.
- Detenga la migración total y ejecute el plan de rollback si falla un criterio de sucesión necesario.
- Comience el siguiente ciclo de migración solo después de que los propietarios de la aplicación y las operaciones acepten los resultados de producción.
Si el enrutamiento basado en porcentajes no está disponible, limite la exposición inicial por disparador, bloque, cola, región u otro límite de carga de trabajo controlado.
Validar después de la migración
Confirme que la carga de trabajo migrada cumple los requisitos de arquitectura, comportamiento, rendimiento, seguridad y operaciones.
Para validar después de la migración, siga estos pasos:
- Se documentan el rol de carga de trabajo, el inventario de origen, la arquitectura de destino, las alternativas, la calificación de riesgos, los límites de servicio y el comportamiento de llamada de destino.
- Los inventarios de disparadores, dependencias, seguridad, redes y operaciones están lo suficientemente completos como para que un revisor pueda reproducir la decisión de destino.
- Los eventos capturados producen códigos de estado esperados, cabeceras, esquema de cuerpo, metadatos de objeto, escrituras descendentes, efectos secundarios, logs y comportamiento de error.
- Cada disparador tiene pruebas de formato de carga útil, reintento, fallo, ordenación, comportamiento de lote, idempotencia, entrega duplicada, enrutamiento de letra muerta o fallo y mensajes venenosos cuando corresponde.
- La duración de p95/p99, la duración máxima, el espacio de memoria, las rutas sensibles al inicio en frío, la simultaneidad máxima, la antigüedad de las colas o atrasos, el recuento de timeout, el comportamiento de aceleración o 429 y los límites de velocidad descendente cumplen los requisitos de carga de trabajo.
- Los controles de simultaneidad protegen los sistemas descendentes y evitan las tormentas de reintento o el crecimiento ilimitado de los atrasos.
- Las llamadas de servicio permitidas se realizan correctamente y las rutas denegadas fallan de forma segura. Los secretos no están presentes en el código fuente, las imágenes, los logs, los volcados de entorno, la salida de CI, los rastreos de pila o los mensajes de error.
- Se puede acceder a las dependencias privadas y externas necesarias a través de rutas de red aprobadas. Los logs, las métricas, las alarmas, los paneles de control, los rastreos, los runbooks, el disparador de rollback, el propietario, los pasos, el tiempo de recuperación esperado y las aprobaciones finales se completan antes de que se mueva el tráfico.
Acerca de los problemas y mitigaciones comunes de migración
Evite estos fallos comunes de diseño, integración y operaciones de migración.
- Tratamiento de todas las funciones Lambda de la misma forma: clasifique cada función por rol, disparador, dependencias, comportamiento en tiempo de ejecución, perfil de tráfico y necesidades operativas antes de seleccionar el destino.
- Selección de Funciones de OCI demasiado pronto: valide la carga útil, el timeout, la memoria, la dependencia, la llamada, la simultaneidad, las redes y la integración antes de refactorizar el código.
- Suponiendo que las cargas útiles de eventos sean idénticas: cree un adaptador de manejador de OCI y reproduzca los eventos de origen capturados antes de conectar los disparadores de producción.
- Ignorar capas y dependencias nativas: dependencias de paquetes en la imagen de función de OCI o la imagen base compartida y, a continuación, probar el tamaño de la imagen, el inicio, las bibliotecas nativas y las versiones de dependencia.
- La traducción de IAM es demasiado amplia: asigne acciones de tiempo de ejecución observadas a políticas de OCI con menos privilegios y pruebe las rutas denegadas, no solo el acceso de ruta feliz.
- La semántica de cola o flujo difiere: diseñe la idempotencia explícita, el reintento, el fallo parcial, el destino de fallo, la ordenación y el manejo de la contrapresión.
- Los eventos de objeto causan bucles: utilice filtros o prefijos de entrada y salida independientes y valide el comportamiento de creación, actualización, supresión, reintento, duplicado y prevención de bucles.
- Las operaciones se posponen: active logs, métricas, alarmas, paneles de control, runbooks, pruebas de fallos y comprobaciones de rollback antes de mover el tráfico de producción.