SlideShare una empresa de Scribd logo
1 de 38
Jakub Vaňák • D365 BC on Docker
About the Speaker
• Jakub Vaňák
• Software Developer
• Marques Olivia => NaviPartner
• https://github.com/Koubek
• https://twitter.com/vanakjakub
• https://www.linkedin.com/in/jakubvanak
• vanak.jakub@gmail.com
Objetivos de la sesión
• Obtener una comprensión básica de Docker.
• Demostrar cómo Docker ayuda con ejecución D365 Business
Central (NAV).
Agenda
• Introducción a Docker aka Windows Containers
• Imágenes para BC/NAV
• Arquitectura BC/NAV on Docker
• Ampliar funcionalidad de las imágenes estándar de Microsoft
• Herramientas, enlaces
• Q&A
Introducción a Docker aka
Windows Containers
¿Qué es Docker?
• Es un proyecto de código abierto que automatiza el despliegue de
aplicaciones dentro de contenedores de software.
• Ofrece funcionalidades en varias plataformas (sistemas operativos).
• Docker se hace muy famoso por ofrecer un ecosistema completo:
• Docker Image
• Docker Container
• Docker Registry
• Docker Swarm
• Etc.
¿Porqué Docker?
• Docker nos permite ejecutar una aplicación o un conjunto de
aplicaciones en forma muy estable y repetible (en varios entornos).
• Prácticamente elimina problemas tipo:
“Pero a mí, en esta máquina, me funciona…”
• Docker permite instanciar aplicaciones en forma muy rápida y con
el mínimo esfuerzo.
• Docker (Swarm, Kubernetes) ofrece posibilidades de escalar y
balancear aplicaciones según necesidad y en forma prácticamente
automatizada.
Demo – ejecución con ACI
Docker Image vs. Docker Container
• Docker Image es una plantilla qué contiene una versión del
sistema operativo mínimo, librerías y binarios de las aplicaciones; el
conjunto necesario para poder ejecutar una o varias aplicaciones
en forma independiente.
• Docker Image en la mayoridad de casos contiene varias capas
(una imagen se crea en base de otra).
Docker Image vs. Docker Container
• Docker Container es una instancia de una imagen de Docker.
• Docker Container contiene todas capas de la imagen (lectura) +
una propia (lectura + escritura).
• En términos de OOP podemos buscar una comparación y decir de
que
• Docker Image = Class.
• Docker Container = Object
Docker Image vs. Docker Container
Docker Container vs. máquina virtual
• Docker Container NO ES una VM (en sentido positivo y negativo).
• Docker Container no tiene GUI.
• Docker Container no nos permite conectarse a través de RDP.
• Docker Container permite aprovechar recursos (CPU, RAM, HDD)
en forma más eficiente (instanciar más aplicaciones con el mismo
HW) comparando con máquinas virtuales.
Docker Container vs. máquina virtual
Imágenes para BC/NAV
Imágenes para BC – raleases oficiales
• Imágenes para desarrollos para D365 Business Central, raleases
oficiales.
• Están en el Docker Hub (repositorio del Docker por defecto).
• Detalles: https://hub.docker.com/r/microsoft/bcsandbox/
• Nombres de las imágenes ([microsoft/bcsandbox:build-country]):
• El último reléase W1: microsoft/bcsandbox
• El último reléase ES: microsoft/bcsandbox:es
• Un reléase ES específico: microsoft/bcsandbox:12.0.21229.0-es
Imágenes para NAV – raleases oficiales
• Imágenes para desarrollos para Dynamics NAV (on-prem), raleases
oficiales.
• También están en el Docker Hub.
• Detalles: https://hub.docker.com/r/microsoft/dynamics-nav/
• Nombres ([microsoft/dynamics-nav:version-cu-country]):
• La última versión + la última CU W1: microsoft/dynamics-nav
• Versión esp. + la última CU W1: microsoft/ dynamics-nav:2018
• Versión esp. + la última CU ES: microsoft/ dynamics-nav:2018-es
• Versión esp. + CU esp. ES: microsoft/ dynamics-nav:2018-cu4-es
Imágenes para BC – devs/tests
-> próxima actualización menor
• Imágenes para desarrollos y pruebas sobre D365 Business Central.
• En este caso se trata de un próximo reléase parcial.
• Actualización cada día.
• Están en Azure Containers Registry de Microsoft.
• Es un repo es privado y requiere credenciales para poder acceder.
• Nombres en este formato:
[bcinsider.azurecr.io/bcsandbox:build-country]
Imágenes para BC – devs/tests
-> próxima actualización mayor
• Imágenes para desarrollos y pruebas sobre D365 Business Central.
• En este caso se trata de un próximo reléase completo.
• Los builds pueden ser poco estables, actualización cada día.
• Están en Azure Containers Registry de Microsoft.
• Es un repo es privado y requiere credenciales para poder acceder.
• Nombres en este formato:
[bcinsider.azurecr.io/bcsandbox-master:build-country]
Arquitectura BC/NAV on
Docker
Capas de la imagen BC/NAV
Demo – ver el resultado de la
ejecución con ACI
Ampliar funcionalidad de las
imágenes estándar de
Microsoft
Docker como paquete vs. flexibilidad
• Contenedores ofrecen repetibilidad gracias a su concepto (cajas).
• Desventaja es que el paquete sigue su flujo y teoréticamente no
debería desviarse (el flujo puede cambiar por configuraciones
iniciales pero esto muchas veces no es suficiente).
• Una posibilidad es crear imágenes propias (no recomendable
para gente sin experiencia con Docker y NAV-on-Docker).
• La mejor forma es ampliar el código porque Microsoft
implementó NAV-on-Docker en manera que nos ofrece flexibilidad
enorme sin tener que crear imágenes propias.
Ampliar/modificar código estándar
Ampliar/modificar código estándar
• SetupVariables.ps1
• Configuraciones iniciales (presets) de las
variables (env => standard vars).
• Use-cases:
• Añadir gestión de las variables ENV propias.
Ampliar NAV containers – ¿Por que?,
¿Cómo? & ¿Dónde?
• AdditionalSetup.ps1
• El fichero estándar está vacío.
• Sirve puramente para ejecución de las
propias funcionalidades.
• BBDD y servicio NAV están funcionando en
estos momentos.
• Use-cases:
• Crear usuarios en NAV.
• Importar propios módulos de PowerShell.
• Etc.
Ampliar NAV containers – ¿Por que?,
¿Cómo? & ¿Dónde?
• SetupConfiguration.ps1
• Configuraciones servicio NAV.
• Use-cases:
• Configuraciones relacionadas con el entorno
(por ejemplo: el idioma de los Web Services,
desactivar Buffered Inserts etc.).
Ampliar NAV containers – ¿Por que?,
¿Cómo? & ¿Dónde?
Ampliar NAV containers – ¿Por que?,
¿Cómo? & ¿Dónde?
• Más posibilidades de ampliar la funcionalidad:
• SetupDatabase.ps1
• SetupAddIns.ps1
• SetupLicense.ps1
• SetupVariables.ps1
• SetupWebClient.ps1
• SetupWebConfiguration.ps1
• SetupFileShare.ps1
• … y más …
Herramientas, enlaces
NavContainerHelper
• Un módulo de PowerShell para simplificar gestión contenedores
NAV/BC.
• El módulo está gestionado por Microsoft (Freddy Kristiansen).
• Contiene funciones que permiten fácilmente crear contenedores
de desarrollo etc.
• https://github.com/microsoft/navcontainerhelper
• Open-source Software tipo web.
• Permite gestionar contenedores Docker
en forma visual (GUI).
• El mismo Portainer se puede levantar
como un contenedor en unos instantes.
Portainer
Enlaces
• https://github.com/microsoft/nav-docker
• https://github.com/microsoft/navcontainerhelper
• https://blogs.msdn.microsoft.com/freddyk/tag/docker/
• https://github.com/Koubek/nav-docker-examples
• https://github.com/tfenster/nav-docker-samples
• https://axians-infoma.com/navblog/
• http://www.kauffmann.nl/category/docker/
• http://aka.ms/getnav
• http://aka.ms/bcsandbox
Q & A
Dynamics 365 Community
• The Dynamics 365 Community is a site where you can find community contributions, ask questions and
interact with Microsoft Dynamics peers and experts. The community has over 200K members and is
growing.
• New UI/UX: https://community.dynamics365.com
• Benefits
• Learn, share and grow with
other community members
• Expand your network by
engaging with peers
• Involvement
• Need help? Ask questions
and get answers in the
forums
• Get involved in business or
technical discussions
• Syndicate or host a blog
• Recognition
• Earn badges for
professional and peer
recognition
• Get the coveted Microsoft
Community Contributor
(MCC) badge
• New badge for Application
forums coming soon!
• New Features –
Coming in June
• Webinars
• Gallery
• Any questions? Email us at
dlcommed@Microsoft.co
m
¡Muchas gracias!

Más contenido relacionado

La actualidad más candente

Kubernetes - The Cloud King
Kubernetes - The Cloud KingKubernetes - The Cloud King
Kubernetes - The Cloud King
Francisco Javier Barrena
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015
Gustavo Andres Brey
 
Analisis de configuraciones de servidores proxy uniquindio
Analisis de configuraciones de servidores proxy   uniquindioAnalisis de configuraciones de servidores proxy   uniquindio
Analisis de configuraciones de servidores proxy uniquindio
Santiago Bernal
 

La actualidad más candente (20)

Kubernetes - The Cloud King
Kubernetes - The Cloud KingKubernetes - The Cloud King
Kubernetes - The Cloud King
 
Testeando aplicaciones Kubernetes: escalabilidad y tolerancia a fallos
Testeando aplicaciones Kubernetes: escalabilidad y tolerancia a fallosTesteando aplicaciones Kubernetes: escalabilidad y tolerancia a fallos
Testeando aplicaciones Kubernetes: escalabilidad y tolerancia a fallos
 
An evening with... Docker
An evening with... DockerAn evening with... Docker
An evening with... Docker
 
Dockeriza tu SQL Server
Dockeriza tu SQL ServerDockeriza tu SQL Server
Dockeriza tu SQL Server
 
Iniciando con containers en azure
Iniciando con containers en azureIniciando con containers en azure
Iniciando con containers en azure
 
Docker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJSDocker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJS
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015
 
Docker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJCDocker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJC
 
DevOps+[Chef/Docker]
 DevOps+[Chef/Docker] DevOps+[Chef/Docker]
DevOps+[Chef/Docker]
 
Presentación Docker
Presentación DockerPresentación Docker
Presentación Docker
 
Analisis de configuraciones de servidores proxy uniquindio
Analisis de configuraciones de servidores proxy   uniquindioAnalisis de configuraciones de servidores proxy   uniquindio
Analisis de configuraciones de servidores proxy uniquindio
 
Software libre para videoconferencias
Software libre para videoconferenciasSoftware libre para videoconferencias
Software libre para videoconferencias
 
Workshop 1 - Introducción a los Microservicios y Contenedores (@TechHub - Goo...
Workshop 1 - Introducción a los Microservicios y Contenedores (@TechHub - Goo...Workshop 1 - Introducción a los Microservicios y Contenedores (@TechHub - Goo...
Workshop 1 - Introducción a los Microservicios y Contenedores (@TechHub - Goo...
 
Windows server 2012
Windows server 2012 Windows server 2012
Windows server 2012
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a Docker
 
Proyecto XenServer
Proyecto XenServerProyecto XenServer
Proyecto XenServer
 
Proyecto xen server
Proyecto xen serverProyecto xen server
Proyecto xen server
 
Docker 10 02_18
Docker 10 02_18Docker 10 02_18
Docker 10 02_18
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Gestión de proyectos con Maven
Gestión de proyectos con MavenGestión de proyectos con Maven
Gestión de proyectos con Maven
 

Similar a Dynamics saturday madrid 2018 bc-on-docker - jakub

Similar a Dynamics saturday madrid 2018 bc-on-docker - jakub (20)

Web App Container
Web App ContainerWeb App Container
Web App Container
 
Instalacion y uso basico de Docker.
Instalacion y uso basico de Docker.Instalacion y uso basico de Docker.
Instalacion y uso basico de Docker.
 
Curso gratuito de Docker
Curso gratuito de DockerCurso gratuito de Docker
Curso gratuito de Docker
 
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
 
Curso Kubernetes CodeURJC
Curso Kubernetes CodeURJCCurso Kubernetes CodeURJC
Curso Kubernetes CodeURJC
 
Depuración de aplicaciones en visual studio
Depuración de aplicaciones en visual studioDepuración de aplicaciones en visual studio
Depuración de aplicaciones en visual studio
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualización
 
Azure AI South Azure Cognitive Services en contenedores Docker.pptx
Azure AI South Azure Cognitive Services en contenedores Docker.pptxAzure AI South Azure Cognitive Services en contenedores Docker.pptx
Azure AI South Azure Cognitive Services en contenedores Docker.pptx
 
Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf
 
Dokerize rails
Dokerize railsDokerize rails
Dokerize rails
 
Bringing AI to the Edge: On-premises Azure Cognitive Services with Docker con...
Bringing AI to the Edge: On-premises Azure Cognitive Services with Docker con...Bringing AI to the Edge: On-premises Azure Cognitive Services with Docker con...
Bringing AI to the Edge: On-premises Azure Cognitive Services with Docker con...
 
Docker para Dummies
Docker para DummiesDocker para Dummies
Docker para Dummies
 
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
 
Jug málaga docker 101 - final
Jug málaga   docker 101 - finalJug málaga   docker 101 - final
Jug málaga docker 101 - final
 
Microservices: Ya funciona en mi máquina… Y en producción, ¿qué?
Microservices: Ya funciona en mi máquina… Y en producción, ¿qué?Microservices: Ya funciona en mi máquina… Y en producción, ¿qué?
Microservices: Ya funciona en mi máquina… Y en producción, ¿qué?
 
Docker y todo eso... más o menos
Docker y todo eso... más o menosDocker y todo eso... más o menos
Docker y todo eso... más o menos
 
Docker: de principante a pro
Docker: de principante a proDocker: de principante a pro
Docker: de principante a pro
 
Integracion y Entrega Continua con Docker para SQL Server
Integracion y Entrega Continua con Docker para SQL ServerIntegracion y Entrega Continua con Docker para SQL Server
Integracion y Entrega Continua con Docker para SQL Server
 
Webinar: Oracle Multitenant - Technical Deep Dive
Webinar: Oracle Multitenant  - Technical Deep DiveWebinar: Oracle Multitenant  - Technical Deep Dive
Webinar: Oracle Multitenant - Technical Deep Dive
 
Micrcoservicios con Asp Net Core y AKS
Micrcoservicios con Asp Net Core y AKSMicrcoservicios con Asp Net Core y AKS
Micrcoservicios con Asp Net Core y AKS
 

Más de Demian Raschkovan

Despliegue continuo en dev ops para multiples entornos de dync 365
Despliegue continuo en dev ops para multiples entornos de dync 365Despliegue continuo en dev ops para multiples entornos de dync 365
Despliegue continuo en dev ops para multiples entornos de dync 365
Demian Raschkovan
 
Dynamics for marketing 365 desde cero y como extender nuestro customer journe...
Dynamics for marketing 365 desde cero y como extender nuestro customer journe...Dynamics for marketing 365 desde cero y como extender nuestro customer journe...
Dynamics for marketing 365 desde cero y como extender nuestro customer journe...
Demian Raschkovan
 
Definir un Gobierno en Power Platform: todo bajo control
Definir un Gobierno en Power Platform: todo bajo controlDefinir un Gobierno en Power Platform: todo bajo control
Definir un Gobierno en Power Platform: todo bajo control
Demian Raschkovan
 
Todo lo que te gustaría saber de Field Services - Enrique Romero
Todo lo que te gustaría saber de Field Services - Enrique RomeroTodo lo que te gustaría saber de Field Services - Enrique Romero
Todo lo que te gustaría saber de Field Services - Enrique Romero
Demian Raschkovan
 
Empower digital transformation in your organization with the power platform
Empower digital transformation in your organization with the power platformEmpower digital transformation in your organization with the power platform
Empower digital transformation in your organization with the power platform
Demian Raschkovan
 

Más de Demian Raschkovan (20)

Que ha sido de wally
Que ha sido de wallyQue ha sido de wally
Que ha sido de wally
 
Power automate como solucion para integraciones
Power automate como solucion para integracionesPower automate como solucion para integraciones
Power automate como solucion para integraciones
 
Dynamics saturday online 2020 gestion de credito v1.0
Dynamics saturday online 2020   gestion de credito v1.0Dynamics saturday online 2020   gestion de credito v1.0
Dynamics saturday online 2020 gestion de credito v1.0
 
Victor sanchez saturdaymadrid2020
Victor sanchez saturdaymadrid2020Victor sanchez saturdaymadrid2020
Victor sanchez saturdaymadrid2020
 
Hjp saturday 2020_v2
Hjp saturday 2020_v2Hjp saturday 2020_v2
Hjp saturday 2020_v2
 
Despliegue continuo en dev ops para multiples entornos de dync 365
Despliegue continuo en dev ops para multiples entornos de dync 365Despliegue continuo en dev ops para multiples entornos de dync 365
Despliegue continuo en dev ops para multiples entornos de dync 365
 
Chateando con power apps
Chateando con power appsChateando con power apps
Chateando con power apps
 
Alm orientado a power platform
Alm orientado a power platformAlm orientado a power platform
Alm orientado a power platform
 
Humanizacion de java script con typescript para d365
Humanizacion de java script con typescript para d365Humanizacion de java script con typescript para d365
Humanizacion de java script con typescript para d365
 
Dynamics 365 human resources and business continuity pdf
Dynamics 365 human resources and business continuity pdfDynamics 365 human resources and business continuity pdf
Dynamics 365 human resources and business continuity pdf
 
Dynamics for marketing 365 desde cero y como extender nuestro customer journe...
Dynamics for marketing 365 desde cero y como extender nuestro customer journe...Dynamics for marketing 365 desde cero y como extender nuestro customer journe...
Dynamics for marketing 365 desde cero y como extender nuestro customer journe...
 
Automatizando flujos con teams y power automate
Automatizando flujos con teams y power automateAutomatizando flujos con teams y power automate
Automatizando flujos con teams y power automate
 
Power bi fromzeroto bi hero
Power bi fromzeroto bi heroPower bi fromzeroto bi hero
Power bi fromzeroto bi hero
 
Definir un Gobierno en Power Platform: todo bajo control
Definir un Gobierno en Power Platform: todo bajo controlDefinir un Gobierno en Power Platform: todo bajo control
Definir un Gobierno en Power Platform: todo bajo control
 
Todo lo que te gustaría saber de Field Services - Enrique Romero
Todo lo que te gustaría saber de Field Services - Enrique RomeroTodo lo que te gustaría saber de Field Services - Enrique Romero
Todo lo que te gustaría saber de Field Services - Enrique Romero
 
Real CI/CD para MSDyn365FO… Be a hero!
Real CI/CD para MSDyn365FO… Be a hero!Real CI/CD para MSDyn365FO… Be a hero!
Real CI/CD para MSDyn365FO… Be a hero!
 
Empower digital transformation in your organization with the power platform
Empower digital transformation in your organization with the power platformEmpower digital transformation in your organization with the power platform
Empower digital transformation in your organization with the power platform
 
Solución estándar: ¿Amigo o enemigo? PAC(K)
Solución estándar: ¿Amigo o enemigo? PAC(K)Solución estándar: ¿Amigo o enemigo? PAC(K)
Solución estándar: ¿Amigo o enemigo? PAC(K)
 
Máquinas de estado con Logic App & Automate sobre CDS
Máquinas de estado con Logic App & Automate sobre CDSMáquinas de estado con Logic App & Automate sobre CDS
Máquinas de estado con Logic App & Automate sobre CDS
 
Mejora tus procesos de negocio con Adaptive Cards
Mejora tus procesos de negocio con Adaptive CardsMejora tus procesos de negocio con Adaptive Cards
Mejora tus procesos de negocio con Adaptive Cards
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdf
Yanitza28
 
QUINTA SEXTA GENERACION de COMPUTADORAS
QUINTA  SEXTA GENERACION de COMPUTADORASQUINTA  SEXTA GENERACION de COMPUTADORAS
QUINTA SEXTA GENERACION de COMPUTADORAS
Marc Liust
 

Último (18)

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
10°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-810°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-8
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdf
 
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
 
QUINTA SEXTA GENERACION de COMPUTADORAS
QUINTA  SEXTA GENERACION de COMPUTADORASQUINTA  SEXTA GENERACION de COMPUTADORAS
QUINTA SEXTA GENERACION de COMPUTADORAS
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacion
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
 
Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 

Dynamics saturday madrid 2018 bc-on-docker - jakub

  • 1. Jakub Vaňák • D365 BC on Docker
  • 2.
  • 3. About the Speaker • Jakub Vaňák • Software Developer • Marques Olivia => NaviPartner • https://github.com/Koubek • https://twitter.com/vanakjakub • https://www.linkedin.com/in/jakubvanak • vanak.jakub@gmail.com
  • 4. Objetivos de la sesión • Obtener una comprensión básica de Docker. • Demostrar cómo Docker ayuda con ejecución D365 Business Central (NAV).
  • 5. Agenda • Introducción a Docker aka Windows Containers • Imágenes para BC/NAV • Arquitectura BC/NAV on Docker • Ampliar funcionalidad de las imágenes estándar de Microsoft • Herramientas, enlaces • Q&A
  • 6. Introducción a Docker aka Windows Containers
  • 7.
  • 8. ¿Qué es Docker? • Es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software. • Ofrece funcionalidades en varias plataformas (sistemas operativos). • Docker se hace muy famoso por ofrecer un ecosistema completo: • Docker Image • Docker Container • Docker Registry • Docker Swarm • Etc.
  • 9. ¿Porqué Docker? • Docker nos permite ejecutar una aplicación o un conjunto de aplicaciones en forma muy estable y repetible (en varios entornos). • Prácticamente elimina problemas tipo: “Pero a mí, en esta máquina, me funciona…” • Docker permite instanciar aplicaciones en forma muy rápida y con el mínimo esfuerzo. • Docker (Swarm, Kubernetes) ofrece posibilidades de escalar y balancear aplicaciones según necesidad y en forma prácticamente automatizada.
  • 11. Docker Image vs. Docker Container • Docker Image es una plantilla qué contiene una versión del sistema operativo mínimo, librerías y binarios de las aplicaciones; el conjunto necesario para poder ejecutar una o varias aplicaciones en forma independiente. • Docker Image en la mayoridad de casos contiene varias capas (una imagen se crea en base de otra).
  • 12. Docker Image vs. Docker Container • Docker Container es una instancia de una imagen de Docker. • Docker Container contiene todas capas de la imagen (lectura) + una propia (lectura + escritura). • En términos de OOP podemos buscar una comparación y decir de que • Docker Image = Class. • Docker Container = Object
  • 13. Docker Image vs. Docker Container
  • 14. Docker Container vs. máquina virtual • Docker Container NO ES una VM (en sentido positivo y negativo). • Docker Container no tiene GUI. • Docker Container no nos permite conectarse a través de RDP. • Docker Container permite aprovechar recursos (CPU, RAM, HDD) en forma más eficiente (instanciar más aplicaciones con el mismo HW) comparando con máquinas virtuales.
  • 15. Docker Container vs. máquina virtual
  • 17. Imágenes para BC – raleases oficiales • Imágenes para desarrollos para D365 Business Central, raleases oficiales. • Están en el Docker Hub (repositorio del Docker por defecto). • Detalles: https://hub.docker.com/r/microsoft/bcsandbox/ • Nombres de las imágenes ([microsoft/bcsandbox:build-country]): • El último reléase W1: microsoft/bcsandbox • El último reléase ES: microsoft/bcsandbox:es • Un reléase ES específico: microsoft/bcsandbox:12.0.21229.0-es
  • 18. Imágenes para NAV – raleases oficiales • Imágenes para desarrollos para Dynamics NAV (on-prem), raleases oficiales. • También están en el Docker Hub. • Detalles: https://hub.docker.com/r/microsoft/dynamics-nav/ • Nombres ([microsoft/dynamics-nav:version-cu-country]): • La última versión + la última CU W1: microsoft/dynamics-nav • Versión esp. + la última CU W1: microsoft/ dynamics-nav:2018 • Versión esp. + la última CU ES: microsoft/ dynamics-nav:2018-es • Versión esp. + CU esp. ES: microsoft/ dynamics-nav:2018-cu4-es
  • 19. Imágenes para BC – devs/tests -> próxima actualización menor • Imágenes para desarrollos y pruebas sobre D365 Business Central. • En este caso se trata de un próximo reléase parcial. • Actualización cada día. • Están en Azure Containers Registry de Microsoft. • Es un repo es privado y requiere credenciales para poder acceder. • Nombres en este formato: [bcinsider.azurecr.io/bcsandbox:build-country]
  • 20. Imágenes para BC – devs/tests -> próxima actualización mayor • Imágenes para desarrollos y pruebas sobre D365 Business Central. • En este caso se trata de un próximo reléase completo. • Los builds pueden ser poco estables, actualización cada día. • Están en Azure Containers Registry de Microsoft. • Es un repo es privado y requiere credenciales para poder acceder. • Nombres en este formato: [bcinsider.azurecr.io/bcsandbox-master:build-country]
  • 22. Capas de la imagen BC/NAV
  • 23. Demo – ver el resultado de la ejecución con ACI
  • 24. Ampliar funcionalidad de las imágenes estándar de Microsoft
  • 25. Docker como paquete vs. flexibilidad • Contenedores ofrecen repetibilidad gracias a su concepto (cajas). • Desventaja es que el paquete sigue su flujo y teoréticamente no debería desviarse (el flujo puede cambiar por configuraciones iniciales pero esto muchas veces no es suficiente). • Una posibilidad es crear imágenes propias (no recomendable para gente sin experiencia con Docker y NAV-on-Docker). • La mejor forma es ampliar el código porque Microsoft implementó NAV-on-Docker en manera que nos ofrece flexibilidad enorme sin tener que crear imágenes propias.
  • 28. • SetupVariables.ps1 • Configuraciones iniciales (presets) de las variables (env => standard vars). • Use-cases: • Añadir gestión de las variables ENV propias. Ampliar NAV containers – ¿Por que?, ¿Cómo? & ¿Dónde?
  • 29. • AdditionalSetup.ps1 • El fichero estándar está vacío. • Sirve puramente para ejecución de las propias funcionalidades. • BBDD y servicio NAV están funcionando en estos momentos. • Use-cases: • Crear usuarios en NAV. • Importar propios módulos de PowerShell. • Etc. Ampliar NAV containers – ¿Por que?, ¿Cómo? & ¿Dónde?
  • 30. • SetupConfiguration.ps1 • Configuraciones servicio NAV. • Use-cases: • Configuraciones relacionadas con el entorno (por ejemplo: el idioma de los Web Services, desactivar Buffered Inserts etc.). Ampliar NAV containers – ¿Por que?, ¿Cómo? & ¿Dónde?
  • 31. Ampliar NAV containers – ¿Por que?, ¿Cómo? & ¿Dónde? • Más posibilidades de ampliar la funcionalidad: • SetupDatabase.ps1 • SetupAddIns.ps1 • SetupLicense.ps1 • SetupVariables.ps1 • SetupWebClient.ps1 • SetupWebConfiguration.ps1 • SetupFileShare.ps1 • … y más …
  • 33. NavContainerHelper • Un módulo de PowerShell para simplificar gestión contenedores NAV/BC. • El módulo está gestionado por Microsoft (Freddy Kristiansen). • Contiene funciones que permiten fácilmente crear contenedores de desarrollo etc. • https://github.com/microsoft/navcontainerhelper
  • 34. • Open-source Software tipo web. • Permite gestionar contenedores Docker en forma visual (GUI). • El mismo Portainer se puede levantar como un contenedor en unos instantes. Portainer
  • 35. Enlaces • https://github.com/microsoft/nav-docker • https://github.com/microsoft/navcontainerhelper • https://blogs.msdn.microsoft.com/freddyk/tag/docker/ • https://github.com/Koubek/nav-docker-examples • https://github.com/tfenster/nav-docker-samples • https://axians-infoma.com/navblog/ • http://www.kauffmann.nl/category/docker/ • http://aka.ms/getnav • http://aka.ms/bcsandbox
  • 36. Q & A
  • 37. Dynamics 365 Community • The Dynamics 365 Community is a site where you can find community contributions, ask questions and interact with Microsoft Dynamics peers and experts. The community has over 200K members and is growing. • New UI/UX: https://community.dynamics365.com • Benefits • Learn, share and grow with other community members • Expand your network by engaging with peers • Involvement • Need help? Ask questions and get answers in the forums • Get involved in business or technical discussions • Syndicate or host a blog • Recognition • Earn badges for professional and peer recognition • Get the coveted Microsoft Community Contributor (MCC) badge • New badge for Application forums coming soon! • New Features – Coming in June • Webinars • Gallery • Any questions? Email us at dlcommed@Microsoft.co m