Despliegue
Despliegue en Azure
El cloud computing es el uso de la potencia de cálculo y/o almacenamiento de servidores informáticos, normalmente instalados en centros de datos.
Según la definición del National Institute of Standards and Technology (NIST), el cloud computing es el acceso en modo autoservicio y a la carta a través de una red de telecomunicaciones, a recursos informáticos compartidos y configurables.
Existen diferentes formas de consumir servicios en la nube: IaaS, PaaS y SaaS son las principales. El objetivo principal es deslocalizar la infraestructura de las empresas:
-
Infrastructure as a Service (IaaS) permite utilizar una infraestructura como servicio y ampliar una infraestructura existente, incluidas redes de almacenamiento, servidores, etc. Solo se desmaterializa el hardware.
-
ConPlatform as a Service (PaaS), el proveedor ofrece al consumidor una infraestructura ya desplegada y configurada. Los sistemas operativos instalados en estas plataformas solo tienen que alojar las herramientas de gestión de bases de datos, los servidores web o las herramientas de desarrollo.
-
Software as a Service (SaaS) permite a los usuarios finales acceder a una serie de aplicaciones alojadas en un entorno seguro, mediante un sistema de autenticación.
Por lo general, todos los servicios ofrecidos se pueden crear y configurar a través de un portal específico ofrecido por los distintos proveedores. Entre ellos, Microsoft...
Despliegue en IIS
Históricamente integrado dentro de Microsoft Windows, Internet Information Services (IIS) le permite gestionar sus aplicaciones web a través de una plataforma segura, fiable, modular y de fácil acceso para los desarrolladores. Para resumir correctamente IIS, podríamos decir que le permite:
-
Desplegar y ejecutar sitios web. Las tecnologías soportadas son las de Microsoft, es decir, ASP, ASP.NET o ASP.NET Core en la actualidad. IIS también es compatible con PHP.
-
Aislar las aplicaciones entre sí mediante grupos de aplicaciones (gestión separada de la memoria). Este modo de funcionamiento "sandbox" permite asignar un único proceso al sitio web, lo que reduce los riesgos de seguridad.
-
Modularizar la plataforma según sea necesario, utilizando componentes IIS.
-
Aumentar la capacidad de respuesta del sitio web mediante cachés.
El objetivo de esta sección es mostrar paso a paso cómo desplegar un sitio ASP.NET Core en IIS.
A continuación, se asume que el servicio Web Server (IIS) está activado en la máquina. El servicio se puede activar en las características de Windows a través de la ventana Programas y características.
En primer lugar, es importante instalar el paquete .NET Core Windows Server Hosting en el servidor. Esto instalará el runtime .NET Core, las librerías y el módulo ASP.NET Core que permite...
Despliegue en Linux
El despliegue en Linux es, sin duda, uno de los mayores éxitos de ASP.NET Core. El despliegue en un entorno distinto de IIS y Windows Server es un problema que los equipos de desarrollo de Microsoft han tenido presente desde el principio. Hoy en día, es posible desplegar una aplicación ASP.NET en Linux a través de la herramienta de línea de comandos dotnet y es extremadamente fácil de configurar. En primer lugar, se necesita una distribución de Linux como Ubuntu 14.04 Server (como mínimo) con un usuario con permisos sudo en la máquina y un proyecto ASP.NET Core en funcionamiento.
La herramienta de línea de comandos Yeoman permite crear un proyecto ASP.NET Core funcional desde cero. Esto resulta especialmente útil en un entorno que no sea Visual Studio.
Para publicar en un entorno Linux, basta con ejecutar el siguiente comando:
dotnet publish
El comando anterior creará lo que se conoce como una self-contained app, es decir, una aplicación capaz de lanzarse por sí misma sin ningún recurso adicional. El desarrollador entonces es libre de copiar la carpeta recién creada en el servidor Linux. Un buen proceso de despliegue incluiría los siguientes componentes:
-
Un controlador de código fuente para almacenar el código de la aplicación de forma centralizada en el servidor.
-
Un servidor de build para lanzar builds automáticas del proyecto.
Usando la herramienta de línea de comandos dotnet, es muy fácil crear...