Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 26

DESPLIEGUES DE APLICACIONES WEB (PARTE 1)

Rotceh Corona Paz ISCO901


OBJETIVO: Comprenderá y aplicará los diferentes tipos de despliegues en las
aplicaciones web

 FUNDAMENTO TEÓRICO
 Despliegue local: En este enfoque, la aplicación web se ejecuta en un entorno local, generalmente en la máquina de desarrollo del desarrollador. Es útil para realizar pruebas y
depurar la aplicación antes de implementarla en un entorno de producción.

 Despliegue en un servidor compartido: En este caso, la aplicación web se implementa en un servidor compartido donde varios sitios web comparten los mismos recursos del
servidor. Este tipo de despliegue es comúnmente utilizado por pequeñas empresas o sitios web de bajo tráfico.

 Despliegue en servidor dedicado: Aquí, la aplicación web se despliega en un servidor dedicado exclusivamente para ese sitio web. Proporciona un mayor control sobre el
servidor y los recursos, lo que es beneficioso para aplicaciones con mayor demanda y tráfico.

 Despliegue en la nube: Este tipo de despliegue implica alojar la aplicación web en un entorno de nube, como Amazon Web Services (AWS), Microsoft Azure o Google Cloud
Platform. Proporciona escalabilidad, flexibilidad y confiabilidad, ya que los recursos de la nube se pueden ajustar según las necesidades.

 Despliegue mediante contenedores: En este enfoque, se utilizan contenedores (como Docker) para empaquetar la aplicación web y sus dependencias en una unidad portátil.
Los contenedores proporcionan una mayor eficiencia y facilitan el despliegue y la gestión de la aplicación en diferentes entornos.

 Despliegue en múltiples entornos: En este caso, se implementa la aplicación web en diferentes entornos, como desarrollo, prueba y producción. Cada entorno tiene su
propósito específico, y el despliegue se realiza en cada uno de ellos para garantizar una transición suave y minimizar errores.

 Al seleccionar el tipo de despliegue adecuado, es importante considerar la escala y las necesidades de tu aplicación, así como la disponibilidad de recursos y el presupuesto.
Cada tipo de despliegue tiene sus propias ventajas y consideraciones, y la elección dependerá de los requisitos específicos de tu aplicación web.
 DESPLIEGUE BASADO EN WAMP
 Descargar e instalar Wamp en un equipo Windows
 Lo primero que debemos hacer es descargar el programa desde su página web principal. El programa es
totalmente gratuito y está libre de software publicitario y no deseado. En su página web vamos a poder
elegir si queremos descargar la versión de 32 bits o la de 64 bits. En nuestro caso vamos a trabajar con la
versión de 64 bits, ya que tanto nuestro procesador como nuestro sistema operativo lo permiten. Pulsamos
sobre la versión deseada de Wamp Server y, en la ventana que nos aparece, pulsamos sobre el enlace
«download directly«.

 Descargar Wamp Server


 El paquete, de poco más de 40 megas, empezará a descargarse a nuestro ordenador. Una vez lo tengamos
ya podemos comenzar la instalación. Un detalle muy importante es que todos los paquetes se descargarán
de forma automática a medida que vayamos completando el asistente de configuración.

 Ejecutamos el instalador que hemos descargado en el paso anterior y podremos ver la primera ventana del
sencillo asistente, el cual no tiene demasiada complicación.
 Seguimos con este asistente y a continuación debemos leer y aceptar los términos de licencia. Wamp es
software libre, por lo que la licencia que utiliza el GNU.

 Licencia de Wamp
 Consejos básicos sobre el funcionamiento
 Lejos de entrar en una configuración avanzada del servidor, a continuación, os vamos a explicar los principales puntos a tener en cuenta.

 El primero de ellos es el icono del servidor. Junto al reloj, en la barra de tareas, podremos ver un icono con forma de W que puede tener 3 colores
diferentes, según el estado de este:

 Rojo: todos los servidores están detenidos o no pueden arrancar.


 Naranja: algún servidor está detenido o no ha podido arrancar, pero los demás funcionan.
 Verde: todo funciona correctamente.
 Si pulsamos sobre dicho icono vamos a poder abrir un pequeño menú de uso, desde donde podremos comprobar todos los servidores e incluso forzar a que
los servicios de Wamp se reinicien, detengan o inicien de nuevo.

 Menú Wamp Server

 Para finalizar, suponiendo que hemos instalado el programa en C:wamp, la ruta por defecto, las páginas web que creemos debemos almacenarlas en la ruta
c:wampwww para que el servidor pueda detectarlas, cargarlas e interpretarlas adecuadamente.
 Despliegue de aplicación flask en un servidor LAMP
 Vamos a desplegar nuestra aplicación web desarrollada con flask en un servidor LAMP
(Linux+Apache2+mysql+python) en un sistema operativo GNU/Linux Ubuntu 16.04.

 Configuración del servidorPermalink


 Después de actualizar los paquetes del sistema:

 $ sudo apt-get update


 $ sudo apt-get upgrade
 Hacemos la instalación del servidor web y del servidor de bases de datos:

 $ sudo apt-get install apache2 mysql-server libapache2-mod-wsgi-py3


 Configuración de la base de datosPermalink
 Vamos a crear un usuario y una base de datos con la que vamos a a trabajar:

 $ mysql -u root -p

 mysql> create database tienda;


 mysql> GRANT ALL ON tienda.* TO usuario IDENTIFIED BY 'usuario';
 Además vamos a configurar nuestra aplicación para que trabaje con mysql, para ello en el fichero aplicacion\
config.py modificamos el motor de base de datos con el que vamos a trabajar, indicando las credenciales del
usuario y la base de datos:

 SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://ususario:usuario@localhost/tienda'
 Por último añadimos en el fichero requirements.txt el paquete que me permite que python trabaje con mysql:

 ...
 PyMySQL==0.7.11
 Despliegue de la aplicación:Permalink
 clonamos la rama lamp del repositorio: https://github.com/josedom24/tienda_videojuegos.git, lo hacemos como superusuario en el directorio
/var/www/html:

 $ sudo su -
 $ cd /var/www/html
 $ git clone https://github.com/josedom24/tienda_videojuegos.git -b lamp
 Como usuario sin privilegios vamos a crear un entorno virtual, donde vamos a instalar las dependencias de nuestra aplicación:

 $ sudo apt-get install python-virtualenv


 $ mkdir venv
 $ cd venv/
 ~/venv$ virtualenv -p /usr/bin/python3 flask
 ~/venv$ source flask/bin/activate
 (flask) ~/venv$ pip install -r /var/www/html/tienda_videojuegos/requirements.txt
 Creamos las tablas, añadimos los datos de ejemplo y creamos al usuario administrador:

 (flask)$ cd /var/www/html/tienda_videojuegos
 (flask)$ python3 manage.py create_tables
 (flask)$ python3 manage.py add_data_tables
 (flask)$ python3 manage.py create_admin
 Despliegue de la aplicación:Permalink
 clonamos la rama lamp del repositorio: https://github.com/josedom24/tienda_videojuegos.git, lo hacemos como superusuario en el directorio
/var/www/html:

 $ sudo su -
 $ cd /var/www/html
 $ git clone https://github.com/josedom24/tienda_videojuegos.git -b lamp
 Como usuario sin privilegios vamos a crear un entorno virtual, donde vamos a instalar las dependencias de nuestra aplicación:

 $ sudo apt-get install python-virtualenv


 $ mkdir venv
 $ cd venv/
 ~/venv$ virtualenv -p /usr/bin/python3 flask
 ~/venv$ source flask/bin/activate
 (flask) ~/venv$ pip install -r /var/www/html/tienda_videojuegos/requirements.txt
 Creamos las tablas, añadimos los datos de ejemplo y creamos al usuario administrador:

 (flask)$ cd /var/www/html/tienda_videojuegos
 (flask)$ python3 manage.py create_tables
 (flask)$ python3 manage.py add_data_tables
 (flask)$ python3 manage.py create_admin
 Donde definimos el proceso WSGI con la directiva WSGIDaemonProcess e indicamos el fichero donde
se encuentra la aplicación WSGI con la directiva WSGISrctiptAlias, además de dar los permisos de
acceso necesarios.

 Terminamos reiniciando el servidor:

 $ sudo systemctl restart apache2


 Y probamos el acceso a la aplicación:
 NOTA: NO HAY CAPTURAS EN LAS DIAPOSITIVAS ANTERIORES PORQUE LA CONFIGURACION DE ESTE
SERVER SE REALIZA EN LA CONSOLA DE UBUNTU LINUX.
Despliegue de aplicaciones web ASP.NET Core
a través de una máquina virtual en Azure

 Cuando empezamos a desarrollar aplicaciones web en la nube, existen varios


conceptos o modelos fundamentales que se pueden manejar, entre estos, el
concepto de Infraestructura como Servicio – IaaS. Este modelo hace
referencia a una infraestructura informática instantánea, aprovisionada de
recursos y gestionada a través de Internet. Este enfoque es uno de los cuatro
tipos de servicios en la nube, junto con los modelos de: Plataforma como
Servicio (PaaS), Software como Servicio (SaaS) y Arquitectura sin servidor
(Serverless).
Recursos necesarios:

 Una cuenta de Azure.


 .NET Core SDK 2.2.
 Visual Studio 2019.
 La extensión de DotVVM para Visual Studio 2019.
 Actividades a seguir:

 Crear una maquina virtual Windows Server 2019 en Azure.


 Configurar de forma remota la máquina virtual para poder trabajar con ASP.NET Core y
poder desplegar las aplicaciones de forma externa.
 Configuraciones adicionales en el recurso de Azure para máquinas virtuales.
 Creación del perfil y despliegue de aplicaciones web ASP.NET Core con DotVVM desde Visual
Studio 2019.
Parte 1: Crear una máquina virtual en
Azure
 Para empezar, debemos disponer de una suscripción en Azure, si no disponemos de una cuenta podemos
obtener una gratuita aquí: https://azure.microsoft.com/es-es/free/.

 Como primer paso, debemos dirigirnos al portal de Azure y buscar el recurso de Máquinas Virtuales y crear una
nueva. En el proceso de creación tendremos varias partes importantes para la creación del recurso. A
continuación, se detalla cada una de estas partes.

 Aspectos Generales
 Primero es necesario especificar la suscripción y el grupo de recursos, luego los detalles de la instancia a crear.
Aquí es donde definiremos el sistema operativo que tendrá la máquina virtual y el tamaño de la misma. Para
nuestros objetivos, trabajaremos con Windows Server 2019 Datacenter.
 En cuanto al tamaño de la máquina virtual, todo dependerá de la cantidad de créditos de Azure
que podamos destinar para la implementación de la aplicación y de la cantidad requerida de
recursos.

 Luego debemos definir la información de la cuenta de administrador de la máquina virtual a través


del nombre de usuario y la contraseña. Estos datos son muy importantes ya que permitirán acceder
a la máquina virtual posteriormente.
 Finalmente, en la sección general podemos definir reglas para los puertos de la máquina virtual. En
este caso habilitaremos el puerto 80 para las conexiones HTTP que permitirán acceder a la pagina
web desde el navegador de internet. El otro puerto es el RDP (3389), el cual nos permitirá acceder
a la máquina virtual de forma remota.
Aspectos específicos

 Una vez especificados los aspectos generales se puede realizar la revisión general y crear el
recurso. En otro escenario, también podemos especificar en detalle la configuración de los
discos para la máquina virtual, ya sea de tipo SSD o HDD, la configuración de red y el balance de
carga, la administración y el manejo de extensiones.

 Finalizadas estas configuraciones y una vez empezado el proceso de creación, esta operación
tardara unos pocos minutos en ejecutarse.
 Con el recurso listo, ahora nos podemos dirigir a la sección principal del recurso en Azure y
descargar el acceso de nos permitirá utilizar de forma remota la máquina virtual con Windows
Server 2019. Para ello nos dirigimos a la funcionalidad Connect y seleccionamos la opción RDP:
Parte 2: Configuración de la máquina
virtual Windows Server 2019
 Ahora que ya tenemos la máquina virtual con Windows Server 2019 establecida en Azure, nos
conectaremos de forma remota desde nuestro equipo. Para ello ejecutamos el archivo generado
desde Azure en el proceso Connext – RDP (Remote Desktop Protocol) para cumplir este objetivo.

 En este caso, el asistente nos solicitará introducir los datos de autenticación de usuario
(especificados al momento de crear el recurso en Azure) para el acceso al sistema operativo.
También será necesario aceptar la advertencia del certificado para la conexión:
Instalación del IIS (Web Server)

 Internet Information Services o IIS es un servidor web y un conjunto de


servicios para el sistema operativo Microsoft Windows. En este sentido, IIS
actuará como servidor base para trabajar con las aplicaciones de .NET Core
como ASP.NET Core con DotVVM.

 Ahora bien, para la instalación IIS nos dirigiremos a la opción: Add roles and
features en el Server Manager Dashboard:
 Al iniciar al asistente de configuración, debemos aceptar la configuración por defecto en las
secciones de Installation Type y Server Selection. En la sección Server Roles, seleccionaremos Web
Server (IIS) y aceptaremos la instalación adicional requerida de IIS Management Console.
 En las siguientes secciones dejaremos todo como esta hasta llegar al apartado de Server Roles. Aquí
seleccionaremos la opción Management Service dentro de la categoría Management Tools.
Asimismo, es necesario confirmar la instalación adicional de ASP.NET 4.7 en este caso.
 Con esto realizado tenemos todo listo. Ahora nos dirigimos a la sección Confirmation para ver el resumen de los componentes a instalar y proceder
con esta operación.

 Una vez que la instalación se haya completado hay dos consideraciones importantes:

 IIS esta instalado y se ejecuta con la regla de firewall interna creada para el puerto 80.
 Web Management Service está instalado con la regla de firewall interno creada para el puerto 8172.
 Instalar Web Deploy
 Web Deploy: Herramienta de implementación web que simplifica la migración, la administración y la implementación de servidores web de IIS,
aplicaciones web y sitios web.

 En este caso para la instalación de Web Deploy, debemos descargar el instalador respectivo desde Internet Explorer y realizar el proceso de
instalación como cualquier otro programa. Ya que las reglas de seguridad predeterminadas en Azure impiden que los ejecutables se descarguen a
través de Internet Explorer, primero debemos deshabilitar la seguridad mejorada de IE.

 Para ello nos dirigimos a la sección Local Server del Windows Server Dashboard y nos ubicamos en el valor de propiedad IE Enhanced Security
Configuration dándole clic. A continuación, cambiamos el valor de On a Off:
Con esto ya podemos utilizar Internet Explorer en Windows Server. A continuación, nos dirigimos al
navegador y descargamos el instalador Web Deploy 3.6, el cual, esta disponible en la siguiente
dirección: https://www.microsoft.com/en-us/download/details.aspx?id=43717..
 En este momento el proceso dará comienzo y tomará algunos minutos al ser la primera vez.

 La página web publicada


 Como resultado de toda la configuración de la máquina virtual con Windows Server, los ajustes en
Azure y el despliegue desde Visual Studio 2019, el resultado es el siguiente para este caso:
Conclusión

 En conclusión, el despliegue de aplicaciones web es un proceso crucial para hacer que una aplicación esté
disponible y accesible para los usuarios. Los despliegues pueden variar dependiendo de los diferentes
entornos y tecnologías utilizadas.

 En el caso de WAMP (Windows, Apache, MySQL, PHP) y LAMP (Linux, Apache, MySQL, PHP), se utilizan
conjuntos de software libre y de código abierto para ejecutar aplicaciones web en un entorno local o en un
servidor en línea. Estos entornos proporcionan una configuración flexible y escalable para el desarrollo y
despliegue de aplicaciones web.

 Por otro lado, la plataforma .NET de Microsoft ofrece una forma poderosa de desarrollar aplicaciones web
utilizando C# o Visual Basic. Con el uso de Visual Studio y Internet Información Services (IIS), es posible
desarrollar, configurar y desplegar aplicaciones web .NET en servidores Windows.

 En general, los despliegues de aplicaciones web implican pasos como la configuración del servidor, el
desarrollo de la aplicación, la configuración de la base de datos y la publicación de la aplicación en el
servidor. Cada tecnología y plataforma puede tener sus propios detalles y requisitos específicos.
Fuentes de información:

 Despliegue de aplicaciones web ASP.NET Core a través de una máquina virtual


en Azure - DEV
Community
 https://plataforma.josedomingo.org/pledin/cursos/flask/curso/u33/
 https://www.redeszone.net/tutoriales/servidores/instalacion-configuracion-
wamp-servidor-web/

También podría gustarte