Cómo no romper los límites, cómo crear una buena arquitectura y cómo hacer un buen mantenimiento

Publicar una Aplicación ASP.NET 5 con Docker desde Visual Studio

En el anterior artículo te hablé sobre Docker y de sus ventajas e inconvenientes respecto otro tipo de soluciones. En el post de hoy, quiero abordar el concepto de Docker desde el punto de vista del desarrollo. ¿Cómo puedes sacarle todo el jugo? ¡Te lo cuento!


La gran ventaja que te ofrece Docker es que el desarrollo realizado está totalmente aislado del sistema donde reside el contenedor. Seguro que en más de una ocasión, te has encontrado con una incidencia por un error que se ha producido debido a una actualización de una librería (bien porque colisiona con otro desarrollo o bien por una actualización del sistema). Con Docker… ¡Esto no ocurre! Ya que dentro del contenedor solo va a residir el contenido que necesite nuestro desarrollo.

Otra de las grandes ventajas que te proporciona Docker es que hace que tu desarrollo se pueda ejecutar en cualquier entorno, independientemente del sistema sobre el que se está ejecutando. Por ello, es posible acceder a un mayor número de clientes y usuarios potenciales de nuestros desarrollos.

En este artículo quiero enseñarte cómo publicar una aplicación Asp.NET 5 dentro de un contenedor Linux que reside en Azure. Aunque, debido a la evolución de ASP.NET, éste se puede ejecutar en cualquier entorno (sea o no Microsoft).

Requisitos

  • Visual Studio 2015
  • Subscripción de Azure

En primer lugar, debes instalarte una extensión para poder trabajar con Docker desde Visual Studio. Esta extensión se llama Visual Studio Tools 2015 for Docker:

dockerVisualStudio

Una vez instalada la extensión, el siguiente paso es crear la Aplicación que vayas a alojar dentro del contenedor Docker. Una vez tengas preparada la aplicación, ubícate en el fichero del proyecto, aprieta el botón derecho y publica la aplicación.

publicar

De la misma forma que si publicaras en un WebSite de Azure, ahora dispones de la posibilidad de publicar dentro de un Docker. Selecciona:
SeleccionarDocker

Se mostrará una pantalla en la que podrás seleccionar las máquinas virtuales que tengas en tu suscripción, o bien crear una nueva donde alojar el contenedor.
DockerSelected

En este caso, selecciona la opción de crear una nueva. Dentro de los datos se solicita: suscripción de Azure, DNS, imagen (Windows 2016, diferentes versiones de Ubuntu y de Core OS), tamaño de la VM (cores y tamaño de RAM). En esta ocasión, escoge una máquina Ubuntu con 1 Core y menos de 1Gb de RAM.
crearDocker

Este proceso aprovisionará una máquina en Azure. Este proceso tardará mínimo un par de minutos.

Una vez ya tengas creada la infraestructura (el contenedor donde va a residir la aplicación), establece la conexión donde vas a alojar tu desarrollo. Dentro de los parámetros que vas a configurar, estará el puerto donde va a estar escuchando tu contenedor y el puerto Host. Selecciona el 80, ya que va a ser una aplicación WEB.

ConexionDocker

Ahora ya puedes publicar la aplicación en el contenedor y (si todo ha ido correctamente) podrás acceder a la App desde cualquier navegador Web:
docker

Conclusión

Desde mi punto de vista, Docker es una utilidad de la que se va hablar mucho. Hace unos años este concepto parecía de ciencia ficción, pero en un futuro muy cercano va a ser clave en nuestro día a día.

La principal ventaja que ofrece Docker es el aislamiento, la colisión de diversas aplicaciones o que ayuda a solventar la atadura a determinado sistema operativo que sufren muchas organizaciones.

Sin embargo, estos contenedores hay que saber administrarlos y hay que saber que aplicaciones se van a incorporar dentro de un contenedor. Por ello, hay escenarios en los que un contenedor Docker no es la solución, como por ejemplo un desarrollo en SharePoint. Lo que no quiere decir que Docker sólo sea útil para desarrollos simples. Dependiendo de la solución y del entorno, se planteará una opción u otra.

Tabla de contenidos

mm

Sobre Adrián Díaz

Adrián Díaz es Ingeniero Informático por la Universidad Politécnica de Valencia. Es MVP de Microsoft en la categoría Office Development desde 2014, MCPD de SharePoint 2010, Microsoft Active Profesional y Microsoft Comunity Contribuitor 2012. Cofundador del grupo de usuarios de SharePoint de Levante LevaPoint. Lleva desarrollando con tecnologías Microsoft más de 10 años y desde hace 3 años está centrado en el desarrollo sobre SharePoint. Actualmente es Software & Cloud Architect Lead en ENCAMINA.
Esta entrada ha sido publicada en Azure y etiquetada como , , . Enlace permanente .
ENCAMINA, piensa en colores