in

Detecte automáticamente problemas operativos en funciones Lambda con Amazon DevOps Guru para Serverless | Servicios web de Amazon

Hoy anunciamos Amazon DevOps Guru para Serverless, una nueva capacidad para Amazon DevOps Guru. Permite a los desarrolladores mejorar el rendimiento operativo y la disponibilidad de las aplicaciones sin servidor.

AWS fue pionero en el espacio informático sin servidor con el lanzamiento de AWS Lambda en 2014. Hoy, cientos de miles de clientes utilizan AWS Lambda. Lambda le permite configurar muchos parámetros para sus funciones, como asignación de memoria, simultaneidad aprovisionada y tiempos de espera. Para muchos clientes, encontrar el equilibrio adecuado entre todos esos parámetros para optimizar el rendimiento y la disponibilidad de sus funciones es un desafío.

En diciembre de 2020, anunciamos DevOps Guru, un servicio AIOps (inteligencia artificial para operaciones de TI) completamente administrado que detecta y alerta automáticamente a los clientes sobre problemas de aplicaciones y los ayuda a mejorar la disponibilidad de sus aplicaciones. Hoy, anunciamos DevOps Guru para Serverless, una nueva capacidad para DevOps Guru, para ayudar a los desarrolladores que usan Lambda a detectar automáticamente comportamientos anómalos a nivel de función y usar recomendaciones basadas en ML para remediar cualquier problema que se detecte.

DevOps Guru para Serverless utiliza ML para identificar y analizar automáticamente una amplia gama de problemas relacionados con el rendimiento y la disponibilidad de las funciones de Lambda, como la baja concurrencia aprovisionada o la infrautilización de la memoria. Para usar esta capacidad, no necesita ser un experto en aprendizaje automático o sin servidor.

Los conocimientos reactivos de esta capacidad lo ayudan a solucionar problemas continuos que afectan a las aplicaciones sin servidor de manera eficiente con recomendaciones prácticas que lo ayudan a identificar y solucionar la causa raíz en el menor tiempo posible.

DevOps Guru for Serverless también proporciona información proactiva que lo ayuda a identificar una gama más amplia de anomalías operativas mucho antes de que el rendimiento de su aplicación sin servidor se vea afectado. También le brinda recomendaciones sobre cómo resolver la causa raíz de los problemas.

Cuando se detecta un problema, DevOps Guru for Serverless muestra el hallazgo en la consola de DevOps Guru y envía notificaciones mediante Amazon EventBridge o Amazon Simple Notification Service (Amazon SNS). Esto permite a los desarrolladores administrar automáticamente y tomar medidas en tiempo real sobre los problemas descubiertos.

DevOps Guru para información proactiva sin servidor
DevOps Guru for Serverless permite a los desarrolladores detectar de manera proactiva los problemas de las aplicaciones antes de que ocurra un evento que afecte al cliente. Por ejemplo, si la simultaneidad de aprovisionamiento se establece demasiado baja para una función Lambda y el tráfico de esta aplicación está creciendo, DevOps Guru detectará el tráfico creciente y la degradación de la latencia de la aplicación y generará una perspectiva proactiva que muestre el problema.

Los algoritmos de ML crean estos conocimientos a partir de datos operativos y métricas de aplicaciones. Una perspectiva proporciona información de alto nivel, gravedad, estado y una recomendación sobre cómo resolver este problema.

Hoy en día, DevOps Guru for Serverless brinda información proactiva para Lambda y Amazon DynamoDB. Estos son los problemas operativos y los conocimientos proactivos disponibles en la actualidad:

  • Las ejecuciones simultáneas de Lambda alcanzan el límite de la cuenta – Se activa cuando las ejecuciones simultáneas alcanzan un límite de cuenta durante un período continuo.
  • Se incumplió el límite de la función de concurrencia aprovisionada de Lambda – Se activa cuando la cantidad reservada de simultaneidad aprovisionada no es suficiente durante un período.
  • Tiempo de espera de Lambda alto en comparación con el tiempo de espera de visibilidad de SQS – Se activa cuando la duración de la función lambda supera el tiempo de espera de visibilidad para el origen del evento Amazon Simple Queue Service (Amazon SQS).
  • ­El uso de simultaneidad aprovisionada de Lambda es inferior al esperado – Se activa cuando la utilización de la simultaneidad aprovisionada es demasiado baja.
  • La capacidad de lectura/escritura de la cuenta para el consumo de DynamoDB alcanza el límite de la cuenta – Se activa cuando la capacidad consumida de la cuenta se acerca a los límites de nivel de cuenta durante un período de tiempo.
  • La capacidad consumida de lectura/escritura de la tabla de DynamoDB alcanza el límite de la tabla – Se activa cuando las operaciones de escritura o lectura en una tabla alcanzan los límites de ProvisionedWriteCapacityUnits o ProvisionedReadCapacityUnits para la tabla durante un período.
  • La capacidad consumida de la tabla de DynamoDB alcanza el límite del parámetro AutoScaling Max – Se activa cuando la capacidad consumida de la tabla alcanza el límite máximo de parámetros de AutoScaling durante un período.
  • Consumo de lectura/escritura de DynamoDB inferior al esperado – Se activa cuando el valor de ProvisionedWriteCapacityUnits o ProvisionedReadCapacityUnits está lejos de lo que se consume durante un período de tiempo.

Comience con DevOps Guru para Serverless
Para comenzar, vaya a la consola de DevOps Guru para habilitar el servicio para sus aplicaciones basadas en Lambda, otros recursos admitidos o toda su cuenta.

Para esta demostración, cree una nueva función de Lambda con simultaneidad aprovisionada de 1. Puede hacerlo desde la consola de AWS o mediante programación. Después de crearlo, puede comprobar en la página de descripción general de la función que la simultaneidad aprovisionada está configurada en 1.

Agregue a la función de Lambda un evento de CloudWatch que active la función cada minuto. Puede hacerlo desde la consola de AWS o mediante programación. Puedes seguir este tutorial para aprender a hacerlo. Repite ese proceso cinco veces más. Ahora la función se activará seis veces por minuto a partir de diferentes eventos.

Para activar la información proactiva, debe tener seis invocaciones simultáneas de esta función de Lambda. Para lograr eso, debe asegurarse de que la duración de cada invocación sea lo suficientemente larga. Para esta demostración, puede hacer que su función duerma durante 30 segundos.

'use strict';

exports.handler = async (event) => {
  
    console.log('Sleep for 30 seconds')
    await new Promise(r => setTimeout(r, 30000));
    console.log('finish sleeping')

    return;
};

Esta configuración activará la información proactiva Se incumplió el límite de la función de concurrencia aprovisionada de Lambda para esta función. Debería ver la información en la consola en tres horas o menos después de que comience el problema.

Cómo comprobar una información desde la consola de DevOps Guru
Después de unas horas, puede visitar su consola de DevOps Guru y puede verificar que la información proactiva se activó al exceder la concurrencia aprovisionada.

Selecciona el En curso insight para ver más detalles. Se abre la página de información y muestra información relevante para la información, las métricas, los eventos y las acciones recomendadas para este problema.

Examinemos esta página con más detalle. En la parte superior de la página se encuentra la descripción general de la información, con una descripción de qué se trata la información y la gravedad del problema. Esta es una perspectiva proactiva, por lo que la experiencia del usuario no se ve comprometida por este problema. También sabrá si el problema continúa y cuándo comenzó. Si el problema ya no ocurre, puede conocer la fecha de finalización de esa información. Si selecciona el vínculo de las aplicaciones afectadas, puede confirmar todas las funciones de Lambda que se ven afectadas por esta información.

El siguiente cuadro de información contiene información sobre las métricas de CloudWatch relacionadas con la información proactiva. Este gráfico muestra la métrica Concurrencia aprovisionadaSpilloverInvocaciones con el resumen de todas las invocaciones en las últimas horas que derramó la concurrencia provisionada.

Eventos relevantes son el siguiente cuadro de información disponible en la página. Estos son eventos de AWS CloudTrail que DevOps Guru usa combinados con métricas y datos operativos de CloudWatch para identificar el comportamiento anómalo que generó la información.

Y finalmente en la página está el Recomendaciones cuadro de información, donde DevOps Guru generará todas las recomendaciones generadas para ayudarlo a abordar el problema. Puede usar las recomendaciones para conocer los pasos inmediatos que puede tomar para solucionar el problema.

En esta perspectiva proactiva, DevOps Guru recomienda ajustar la simultaneidad de provisión de su función Lambda. Le dice en qué valor establecerlo, en función de la utilización anterior de su función. También puede encontrar el razonamiento sobre por qué DevOps Guru recomienda esta información.

Precios y disponibilidad
DevOps Guru for Serverless se ofrece a los clientes sin cargo adicional.

DevOps Guru para Serverless está disponible en todas las regiones de AWS donde DevOps Guru está disponible, EE. UU. Este (Ohio), EE. UU. Este (Norte de Virginia), EE. UU. Oeste (Oregón), Asia Pacífico (Singapur), Asia Pacífico (Sídney), Asia Pacífico (Tokio), Europa (Fráncfort), Europa (Irlanda) y Europa (Estocolmo).

Obtenga más información sobre DevOps Guru para Serverless y Registrarse para el taller práctico del 10 de mayo para obtener más información sobre este nuevo lanzamiento.

Marcia



Fuente

Written by TecTop

La UE se acerca un paso más a obligar a Apple a cambiar el iPhone, iPad y AirPods a USB-C

La fuga masiva de DJI Mini 3 Pro sugiere que podría ser el dron de mis sueños