En esta entrada me centraré en mostrar y explicar las ventajas del uso de Dynamics NAV con Docker; solución que envuelve una pieza de software en un sistema de archivos completo que contiene todo lo necesario para funcionar.
A continuación, os presento un listado que detalla los problemas típicos de Dynamics NAV para los que nos dedicamos al mundo de la Consultoría e Implantaciones, y que refleja el escenario base que nos encontramos en muchas ocasiones.
- En Marques ME (así como otros Partners de Microsoft Dynamics ) tenemos un grupo de clientes con varias versiones de NAV. Esta situación aumenta su complejidad de gestión mediante los Cumulative Updates, actualizaciones que Microsoft va lanzando a medida que se corrigen errores de las distintas versiones. Por lo tanto, no es extraño encontrar en cada versión de Dynamics NAV la instalación de hasta 8 o 10 CU’s.
- Esto, implica tener un servidor para cada versión e ir realizando updates e instalar un CU concreto. Por ejemplo, en NAV2016 nosotros intentamos quedarnos de manera más o menos “oficial” en dos : CU4 y CU9. De este modo, minimizamos la dispersión de CU’s por versión. Sin embargo, muchos clientes tienen su software permanentemente actualizado y esto nos lleva a tener que ir evolucionando muy frecuentemente los CU´s, y por tanto ir actualizando Servidores y PC’s. Dichas operaciones conllevan una considerable inversión de tiempo.
- Este escenario, además, se combina con clientes que acuden a nosotros buscando un cambio de implantador, y que lógicamente tienen una versión y CU que es la que está en explotación, y por mucho que seamos metódicos en el despliegue de CU’s en clientes, no nos queda otra que hacer una nueva (otra vez) instalación de NAV con el CU correspondiente para poder atender las necesidades del nuevo cliente de forma satisfactoria.
Como podéis comprobar, el escenario presenta una situación complicada que entraña ciertos peligros. Por eso, desde Marqués ME hemos trabajado en encontrar una solución que minimice los riesgos y simplifique todos estos procesos.
¿Qué puede aportar Docker a NAV?
La idea de los Docker (contenedores en su traducción al castellano) es esta: Build, Ship, Run. Tras esta especie de eslogan se encuentra algo casi idílico para nuestros técnicos; desaparecen los problemas del tipo “a mí me funciona, pero en su PC esto no va…” No vamos a entrar en detalles muy técnicos, pero sí explicaré lo más destacable :
- “Docker Build” crea un imagen, pudiéndose guardar ésta en un repositorio. De este modo, el proceso es transparente para todos. Es decir, podremos con el Build que tengamos instalado en nuestro equipo, programar con normalidad y así crear una imagen que sea un proceso automático. Lógicamente todo dependerá de la experiencia y posibilidades de cada aplicación.
- Al tener el Build en el repositorio podremos ejecutarlo. Instanciarlo como un contenedor. Esto se hace con un comando sencillo; “Docker run”. Este comando requiere unos parámetros más para configurar el contenedor, pero en general es bastante sencillo y de nuevo depende de la imagen que se instancia.
- La ventaja es que esta imagen sirve para cualquier entorno compatible. Si es una imagen Windows, hay que tener Docker Windows y si es una imagen Linux hay que tener Docker Linux (en ambas plataformas se puede ejecutar Docker Machine del entorno “complementario” lo que brinda una total libertad).
¿Qué significa todo esto a la práctica para Marqués ME?
- Tenemos un Docker host y por tanto podemos instanciar contenedores compartidos.
- Disponemos de un Docker Registry privado que nos permite crear las imágenes y subirlas al citado repositorio.
- Cada uno de nuestros técnicos puede instanciar en su PC los contenedores en base a estas imágenes. O también pueden pedir que los instanciemos en el Docker host.
- Nuestra solución lleva unos scripts y una carpeta vacía, en la que simplemente hay que incorporar un DVD de NAV. Es decir, no es necesario lanzar personalmente los scripts ya que se realiza una imagen de forma automática, gracias a que el script identifica la versión de NAV y añade los tags adecuados.
- Hemos creado un proceso .bat que se sube automáticamente al Docker Registry de nuestra compañía.
Podéis acceder al repositorio de GitHub dónde se encuentra Dockerfile y la solución completa para MS Dynamics NAV en este enlace.
[vc_row css=”.vc_custom_1491377446035{padding-top: 30px !important;padding-bottom: 0px !important;background-color: #20a7a6 !important;}”][vc_column][contact-form-7 id=”13055″][/vc_column][/vc_row]