Vamos a hablar de los logs en Dynamics 365 Finance and Operations. Y no me refiero a los logs de la base de datos que hemos tenido desde los viejos tiempos de Axapta. Me refiero a los logs a secas, una tabla y un formulario para ver cómo/por qué cambian los datos, o el registro de llamadas externas a OData o servicios web personalizados en el ERP.

Es algo que estoy seguro de que casi todos los desarrolladores en algún momento han tenido que hacer. Un usuario quiere registrar los eventos CRUD, tú sugieres habilitar el registro de la BBDD, pero el usuario quiere un nuevo formulario para ver los datos. O quizás estás monitorizando todas las llamadas a tus servicios web personalizados.

Logs en Dynamics 365
Logs en Dynamics 365

Es hora de dejar de hacer esto, o al menos de cambiar cómo lo hacemos.

Pero, ¿por qué?

Han pasado algo más de 6 años desde que Microsoft lanzó Dynamics AX7 en 2016. Durante este tiempo hemos pasado por algunos cambios de nombre. Y todos los que ya trabajaban con AX 2009 o AX 2012 han tenido que pasar también por algunos cambios de hábitos.

Poco a poco estamos moviéndonos a un modelo SaaS de verdad para Finance and Operations, y una de las características del SaaS es que se paga por servicios. Y esto incluye el almacenamiento de la base de datos. Esto es algo que nuestros colegas de CRM/Power Platform/Dataverse conocen mucho mejor que nosotros.

Si revisas la guía de licenciamiento de Dynamics 365 (espero que sea la única vez que escriba sobre licencias) podrás ver que la base de datos de Finance and Operations tiene una cantidad limitada de espacio asignado:

Tabla de capacidad de la guía de licenciamiento de Dynamics 365
Tabla de capacidad de la guía de licenciamiento de Dynamics 365

Sí, así es, solo 20 GB de capacidad base de la BBDD, más capacidad extra por cada licencia de usuario. Y todo lo que supere esa capacidad se facturará. No he encontrado el precio en la última versión de la guía de licenciamiento, pero la última vez que lo vi, era como 40 €/GB. Pero no he oído que se le haya facturado a nadie todavía.

Esto significa que tenemos que tener cuidado con lo que creamos en el ERP. Y para mí, una de las cosas que tenemos que hacer es deshacernos de los logs dentro de Dynamics 365 F&O.

Alternativas

¿Qué usar en su lugar? Eso depende de ti, pero hay un montón de opciones sin salir del ecosistema de Microsoft. Y por supuesto por una fracción del precio que pagarías por un único GB de capacidad de base de datos extra.

Azure Application Insights

Azure Application Insights es una función que se integra con muchas otras herramientas de Azure, como API Management, para ayudar a supervisarlas. También se está incorporando lentamente en algunas partes de Dynamics 365 F&O. En este momento, hay una función en preview para Commerce Scale Unit.

Application Insights permite registrar eventos, excepciones, métricas, trazas, etc. y examinar los datos con Log Analytics.

Ahora forma parte de…

Azure Monitor

Azure Monitor es una solución mayor y más completa (y compleja) para la monitorización. Si ya lo estás utilizando, podrías integrar tus logs de Dynamics 365 aquí, pero de lo contrario no lo elegiría como primera opción a la hora de crear logs.

Logs en archivos

Y, por supuesto, también tenemos los logs basados en archivos al viejo estilo, que también podría ser la solución más barata usando Azure Blob Storage. Por supuesto, los logs basados en archivos no son los más fáciles de leer, pero hay un montón de software que ayuda con eso.

¿Cómo?

Sea cual sea la solución que elijas, incluso si no es ninguna de las anteriores, la forma de implementarla debería ser más o menos la misma, y decidir qué datos quieres registrar y qué formato tendrá este registro deberían ser tus primeros pasos.

Luego, dependiendo de las herramientas de registro que vayas a usar, tendrás que generar algún tipo de API para enviar los datos a ese servicio.

Una última reflexión

Últimamente, he estado pensando mucho en esto. Y también en poner un API Management delante de cada instancia de Dynamics 365. Mucho. Esto podría ser un paso más hacia un verdadero ERP en la nube que aproveche las ventajas de estar alojado en Azure y utilice más herramientas de las que nos ofrece.

¿Es un trabajo extra? Sí, lo es. ¿Merece la pena este trabajo extra? En mi opinión, mucho.

El APIM me hizo darme cuenta de lo de los logs. Cuando configuras un APIM puedes habilitar Application Insights. Entonces puedes rastrear las solicitudes que llegan al APIM, la solicitud que entra en Dynamics 365, la respuesta de Dynamics 365 al APIM y la respuesta del APIM a la persona que llama. ¡Y tener un detalle completo de cada paso!

Entonces, ¿por qué no hacer lo mismo al registrar cosas dentro de Dynamics 365? Creo que saber por qué algo va mal es importante, y por eso a veces necesitamos logs, y usar herramientas como Application Insights que tienen muchas más capacidades que una tabla y un formulario de D365 es una idea mucho mejor.

¡Suscríbete!

Recibe un correo cuando se publique un nuevo post

Write A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

ariste.info