Gestionar los costos en la nube y entender el uso de recursos puede ser una tarea desalentadora, especialmente para las organizaciones con implementaciones complejas de AWS. Los Informes de Costos y Uso de AWS (AWS CUR) proporcionan datos valiosos, pero interpretar y consultar esos datos en bruto puede ser un desafío.
Recientemente, se ha explorado una solución que emplea inteligencia artificial generativa (IA) para generar una consulta SQL a partir de una pregunta formulada en lenguaje natural por el usuario. Esta solución puede simplificar el proceso de consultar datos de CUR almacenados en una base de datos Amazon Athena mediante la generación de consultas SQL, ejecutándolas en Athena y representándolas en un portal web para facilitar su comprensión.
La solución utiliza Amazon Bedrock, un servicio completamente gestionado que ofrece modelos de base de alto rendimiento de compañías líderes en IA como AI21 Labs, Anthropic, Cohere, Meta, Mistral AI, Stability AI y Amazon a través de una única API. Este servicio también proporciona un amplio conjunto de capacidades para construir aplicaciones de IA generativa con seguridad, privacidad y ética.
Entre los desafíos que se abordan con esta solución, encontramos la complejidad de las consultas SQL, la accesibilidad de los datos y la facilidad de uso. Estos factores pueden impedir que las organizaciones analicen eficazmente sus datos de CUR, llevando a ineficiencias, gastos excesivos y oportunidades perdidas de optimización de costos. Con la ayuda de la IA generativa de Amazon Bedrock, se busca simplificar estos procesos.
La solución se presenta como una aplicación web tipo chatbot que permite a los usuarios formular preguntas relacionadas con los costos y el uso de AWS en lenguaje natural. La aplicación genera consultas SQL basada en la entrada del usuario, las ejecuta contra una base de datos Athena que contiene datos de CUR, y presenta los resultados de manera amigable. La arquitectura de la solución se despliega de la siguiente manera:
1. Los datos de CUR se almacenan en Amazon S3.
2. Athena se configura para acceder y consultar los datos de CUR almacenados en Amazon S3.
3. El usuario interactúa con la aplicación web Streamlit y envía una pregunta en lenguaje natural relacionada con los costos y el uso de AWS.
4. La aplicación Streamlit envía la entrada del usuario a Amazon Bedrock.
5. El código LangChain utiliza la clase BedrockChat para interactuar con Amazon Bedrock y generar una consulta SQL basada en la entrada del usuario.
6. La consulta SQL generada se ejecuta contra la base de datos Athena.
7. Los resultados de la consulta se devuelven a la aplicación LangChain, la cual los envía de vuelta a la aplicación Streamlit.
8. La aplicación Streamlit muestra la consulta SQL y los resultados de la consulta al usuario de manera formateada y amigable.
Esta solución ofrece múltiples beneficios, incluyendo la simplificación del análisis de datos, mayor accesibilidad, ahorro de tiempo y mejor visibilidad de los costos y el uso de AWS. Gracias a la interfaz web, incluso usuarios no técnicos pueden aprovechar los datos valiosos proporcionados por los informes de costos y uso, sin necesidad de escribir consultas SQL complejas. Esto permite a las organizaciones tomar decisiones más informadas, optimizar el gasto en la nube y mejorar la gestión de recursos.
La solución de chatbot de CUR de AWS emplea modelos avanzados en Amazon Bedrock para automatizar la generación de consultas SQL y ofrece una interfaz web amigable que simplifica el análisis de los datos. Con esta herramienta, tanto usuarios técnicos como no técnicos pueden obtener valiosos insights sobre los costos y el uso de recursos en AWS, promoviendo así una mejor optimización y decisiones basadas en datos.
vía: AWS machine learning blog