Inventario de la Carga de Trabajo Lambda
Para realizar un inventario de la carga de trabajo lambda, siga estos pasos:
- Registre la configuración, la ruta de despliegue, las dependencias, las capas, las bibliotecas nativas, las variables de entorno, la configuración de VPC, el rol de IAM, los disparadores, el propietario y los contactos operativos.
- Captura métricas de línea base: ratio de llamadas, simultaneidad máxima, duración de p95 y p99, duración máxima, memoria utilizada, tamaños de carga útil, errores, timeouts, limitaciones, reintentos, recuento de fallos o DLQ, antigüedad o atrasos de cola, umbrales de alarma y límites de capacidad descendentes.
- Guarde eventos de éxito representativos, eventos con formato incorrecto, eventos duplicados, casos de timeout, fallos de permisos, ejemplos de fallos descendentes y ejemplos de log de origen con valores confidenciales ocultos.
Buscar: Un registro completo de inventario con vínculos de evidencia, notas de riesgo iniciales y brechas que necesitan confirmación del propietario.
Salida: No confíe solo en las exportaciones de configuración. Los logs, las métricas, las alarmas y los eventos representativos suelen mostrar un comportamiento que la configuración por sí sola no muestra.
Evaluación de cada función de ejemplo para la migración de OCI Functions
Para evaluar cada función de ejemplo para la migración de OCI Functions, complete un registro de evaluación con los siguientes elementos para cada función de ejemplo:
- Nombre de la función y propietario de la aplicación
- Finalidad y criticidad del negocio
- Tiempo de Ejecución y Versión
- Disparador y formato de evento entrante
- Servicios de AWS y llamadas de SDK utilizadas
- Tiempo de ejecución, memoria, simultaneidad y tamaño de carga útil
- Comportamiento de reintentos, órdenes, entrega duplicada y fallos
- Permisos y dependencias de red de IAM
- Logs, métricas, alarmas y objetivos de nivel de servicio actuales
- Configuración y patrón de disparador de OCI Functions necesarios
- Cambios de código, adaptador o despliegue necesarios
- Brechas conocidas y riesgos no resueltos
Utilice uno de los siguientes resultados de evaluación:
- Migración de OCI Functions lista: la carga de trabajo se puede mover a OCI Functions con cambios limitados.
- Migración de OCI Functions con cambios: la carga de trabajo requiere un adaptador, cambios de código de destino, cambios de configuración o cambios operativos.
- Revisión de excepción necesaria: puede que OCI Functions no cumpla un requisito de carga de trabajo documentado. No continúe con una arquitectura que no sea Functions sin la revisión de excepciones descrita en este manual.
El responsable de la aplicación y el responsable de la migración deben revisar la evaluación antes de que comience la implantación.
Evaluación de los requisitos de migración de OCI Functions
Para evaluar los requisitos de migración de OCI Functions, siga estos pasos:
OCI Functions es el destino por defecto para las iniciativas de migración Lambda cuando cumple los requisitos funcionales, de rendimiento, de seguridad y operativos de la carga de trabajo.
Diseño de la arquitectura de OCI de destino
Para diseñar la arquitectura de OCI de destino, siga estos pasos:
- Seleccione la ruta de acceso de llamada y la autenticación esperada del documento, la unidad de carga útil, las cabeceras o los metadatos, la latencia, los reintentos, la ordenación, el comportamiento del lote, la entrega duplicada, el filtrado y el destino de fallo.
- Defina la aplicación, el compartimento, el repositorio de imágenes de OCI Functions, la VCN, las subredes, las tablas de rutas, las reglas de seguridad, el gateway de servicio o el gateway de NAT, el acceso privado, los requisitos de salida y los puntos finales descendentes.
- Identifique todos los servicios de OCI o puntos finales externos a los que llama la función en tiempo de ejecución, incluidos OCI Object Storage, OCI Queue, OCI Streaming, OCI Vault, bases de datos y API de terceros.
- Permite definir señales operativas, como campos de log, ID de correlación, recuento de llamadas, duración, errores, timeouts, síntomas de capacidad, fallos descendentes, vistas de panel de control, alarmas y pasos de runbook.
Busque un resumen de la arquitectura de destino con la lista de componentes, la ruta de integración, el diseño de seguridad, el diseño operativo y la orientación para volver a dibujar el diagrama.
Consideraciones: El diseño de la arquitectura solo se completa cuando se describe el flujo normal, el flujo de reintento, el flujo de fallos, el flujo de acceso denegado y el flujo de rollback.
Consideraciones de diseño y selección de destinos
Están intencionalmente orientados a la acción, por lo que los revisores pueden solicitar pruebas en lugar de aceptar declaraciones generales de preparación.
- Ajuste de destino: utilice OCI Functions para el trabajo en contenedores sin estado, controlado por eventos, de corta ejecución que se ajuste a los límites de destino y al modelo de llamada. Utilice otro destino para cargas de trabajo de larga ejecución, con estado, parecidas a daemon, con gran orquestación, similares a trabajadores o asociadas a servicios de AWS.
- Cargas útiles y timeouts: registra los tamaños reales de solicitud y respuesta, la duración máxima, el recuento de timeout y la semántica de respuesta del emisor de llamada. Transfiera grandes datos por referencia a través de OCI Object Storage, OCI Queue, OCI Streaming u otro almacén en lugar de a través de la carga útil de la función.
- Dependencias: convierta las suposiciones de las capas ZIP y Lambda en dependencias de imagen o imagen de base compartida. Probar bibliotecas nativas, tamaño de imagen, versiones de dependencia, comportamiento de inicio, suposiciones de SDK incrustadas y comportamiento en tiempo de ejecución.
- Concurrencia y ampliación: inventario de por qué se ha utilizado la simultaneidad reservada o aprovisionada de AWS: capacidad reservada, límite de tráfico, reducción de inicio en frío, limitación de origen de eventos o protección descendente. Diseñe el comportamiento de OCI con planificación de capacidad, simultaneidad aprovisionada cuando corresponda, active controles, contrapresión y límites descendentes.
- Disparadores: valide la unidad de evento, vuelva a intentarlo, ordene, el comportamiento del lote, la entrega duplicada, el filtrado, el destino de fallo y la idempotencia. El comportamiento del disparador suele ser el área de migración de mayor riesgo.
- Operaciones: trate los logs, las métricas, las alarmas, los paneles de control, los rastreos, los libros de ejecución, el disparador de rollback y el propietario de rollback como entregables de migración, no como limpieza posterior a la migración total.
Guía de selección de destino
| Rasgo de carga de trabajo | Destino de OCI recomendado | Por Qué |
|---|---|---|
| Función en contenedores, de corta ejecución, basada en eventos y sin estado | Funciones de OCI | Ajuste más cercano cuando se cumplen las restricciones de carga útil, timeout, memoria, disparador, dependencia, red y simultaneidad. |
| Función de API HTTP con un comportamiento de solicitud/respuesta simple | OCI API Gateway más OCI Functions | Buena adaptación cuando se valida la autenticación, las cabeceras, el tamaño de la carga útil, el timeout, la latencia, el código de estado y la semántica de respuesta. |
| Procesador de objetos, notificaciones, colas, flujos o eventos de log | OCI Functions con OCI Events, OCI Notifications, OCI Connector Hub, OCI Streaming a través de Connector Hub o flujo de mensajería rediseñado | El ajuste potencial, pero la entrega, el reintento, el pedido, el lote, el duplicado, el mensaje de veneno y el comportamiento de fallo deben rediseñarse y probarse. |
| Trabajo de larga ejecución o proceso similar a un trabajador | OCI Container Instances, OKE, OCI Compute o flujo de trabajo descompuesto | Evita las restricciones de tiempo de ejecución y de llamada de función, al tiempo que conserva una ruta de despliegue basada en servicios o en contenedores. |
| Organización con gran integración | Oracle Integration, servicio de flujo de trabajo o rediseño | Mejor ajuste cuando la carga de trabajo coordina sistemas, espera el estado externo o gestiona pasos de compensación en lugar de ejecutar una pequeña unidad de computación. |
| Proceso con estado, estado duradero local o daemon | OCI Compute, OKE o rediseño | OCI Functions no es un modelo de ejecución de daemon o estado local duradero. |
Preparación de recursos y acceso al despliegue de OCI
Para preparar los recursos de OCI y el acceso al despliegue, siga estos pasos:
- Cree o identifique el compartimento, la aplicación OCI Functions, las subredes de VCN, el repositorio de OCI Container Registry, las ubicaciones secretas de OCI Vault, los recursos de registro y las alarmas de supervisión.
- Configure el acceso de desarrollador y de integración y despliegue continuos para crear imágenes, transferir imágenes, desplegar funciones, llamar a pruebas de humo y leer logs.
- Cree reglas de grupo dinámico y sentencias de política para el acceso en tiempo de ejecución. Ámbito por compartimento y recurso siempre que sea posible, especialmente para cubos, flujos, colas, secretos de OCI Vault y bases de datos.
- Transferencia de imagen de prueba de humo, despliegue de función, llamada directa, emisión de log, lectura secreta, lectura secreta denegada y una llamada de servicio descendente representativa.
Busque un entorno de destino listo con rutas de acceso documentadas y una prueba de humo superada.
Consideraciones: Asegúrese de que la identidad de despliegue y la identidad de tiempo de ejecución sean independientes cuando el proceso necesite permisos diferentes.