Tabla de Contenidos

11. Introducción al despliegue

Desplegar

Desplegar: Instalar la aplicación web que hemos desarrollado (HTML,CSS,JS,Código Servidor, etc) en un servidor Web.

Para desplegar hay muchas cosas a tener en cuenta.

¿Cómo distingues al loro propiedad de un desarrollador de software de los loros cuyos dueños son de otras profesiones? Es el que repite sin parar «En mi equipo funciona bien». ^_^

Desafíos y tareas para desplegar

Herramientas relacionadas con el despliegue

Herramientas que vamos a usar en clase:

Otras herramientas y Servicios:

Ejemplos de Tipos de Despliegue

  1. Todo el código está en un único servidor junto con el servidor Web y la base de datos.
  2. Todo el código está en un único servidor y por otro lado el servidor Web y la base de datos están en un mismo Host
  3. Todo el código está en un único servidor, el servidor Web en un Host y la base de datos está en otro Host
  4. Todo el código está en un único servidor, el servidor Web en otro Host , la base de datos está en otro Host y la copias de seguridad de la base de datos están en otro Host
  5. Todo el código está en un único servidor, el servidor Web está distribuido en 4 Hosts, hace falta otro host adicional para el balanceo de carga , la base de datos está en otro Host y la copias de seguridad en otro Host.
  6. El proyecto está dividido en 3 microservicios, estando cada uno de ellos en un host distinto pero el código está unificado en un único servidor. El primer microservicio tiene su propia base de datos en otro host y obviamente otro host con el servidor web y lo mismo el segundo microservicio. El último microservicio necesita de otro Host con el servidor web y un servidor de correo para enviar notificaciones pero no necesita base de datos.
  7. Como en el caso anterior pero se añade que los log de todos los servidores web y de las bases de datos, están centralizados en un Host distinto.
  8. Como en el caso anterior pero se añade otro servidor que es el que cuando se quiere cambiar el programa , compila el código y lo instala en los Hosts que sea necesario (El código está en el mismo servidor que en el que compila).
  9. Como en el caso anterior pero se añade que el código fuente está en otro servidor.
  10. Como en el caso anterior pero uno de los microservicios tiene una base de datos tolerante a fallos, por lo que hay 2 Host para la base de datos, de forma que los datos están sincronizados entre ellos y un balanceador de carga si detecta un fallo en una base de datos, redirige las peticiones a la otra base de datos.

En el siguiente diagrama se vería el ejemplo donde , el servidor web, la base de datos y el servidor de copias de seguridad son servidores distintos:

Conceptos

Ejemplo de PAAS en Java:

IAAS vs PAAS

El IAAS es mas versátil ya que solo nos ofrecen el ordenador y nosotros nos montamos todo como queremos. El problema es que es mas complicado todo de hacer y tenemos que administrarlo todo: Sistema operativo, servidor web y aplicación

Por otro lado en el PAAS, solo nos tenemos que preocupar de nuestra aplicación lo que hace que sea mas sencillo. El problema es que ya no hay tanta versatilidad, ya que debemos ceñirnos al entorno que nos ofrece la empresa

Tareas de Automatización del despliegue

Veamos ahora un ejemplo de como desplegar una aplicación web en Java con SASS , TypeScript y que se despliega en Apache.

Para hacer todas esta tareas vamos a usar Scripts del sistema operativo , por ejemplo en Linux se usará "Bash" y los Script de npm que vamos a ver mas adelante.

Transformar SASS en CSS

npm install sass -g
sass  ./scss/main.scss ./css/main.css

Transformar TypeScript en JavaScript

npm install typescript -g
tsc --outDir ./js ./ts/*.ts

Ejercicios

Ejercicio 1

Del apartado "Ejemplos de Tipos de Despliegue" de este tema, haz un diagrama del esquema de Hosts que se usan y que software se instalaría en cada uno de ellos. Pero solo para los ejemplos 2, 5 y 10

Ejercicio 2

Imagina un nuevo ejemplo de despliegue que tenga al menos 4 servidores. Deberás explicarlo y hacer su esquema.

Ejercicio 3

Busca por internet el nombre de 2 servidores web que permitan aplicaciones en Java y de 2 servidores web que permitan aplicaciones en PHP

Ejercicio 4

Busca por internet el nombre de 2 balanceadores de carga y indica cuando usarías cada uno de ellos.

Ejercicio 5

Busca por internet el nombre de dos empresas que ofrezcan servicios de tipo IAAS

Ejercicio 6

Busca por internet el nombre de dos empresas que ofrezcan servicios de tipo PAAS

Ejercicio 7

Busca por internet el nombre de dos empresas que ofrezcan servicios de tipo SAAS

Ejercicio 8

Busca dos empresas de Hosting y comprara el precio de sus VPS, suponiendo características parecidas. ¿Cual elegirías?

Ejercicio 9

Busca por internet una empresa con su precio y características para poder tener: