Hito 7: Despliegue desde cero de una aplicación en la nube

Descripción

Finalizar el proyecto individual con despliegue automático a las plataformas de producción.

Prerrequisitos

Haber alcanzado el 50% de los objetivos de los temas de gestión de infraestructuras. Sin este requisito este hito del proyecto estará suspenso. Evidentemente, tendrán que estar aprobados todos los hitos anteriores.

Explicación

Lo esencial de este hito es que, con una sola orden (lanzada desde el gestor de tareas) se instancie un nodo en un proveedor cloud, se provisione la máquina virtual, se despliegue la aplicación y se arranque la misma.

En la asignatura se ha visto como provisionar las aplicaciones y servicios necesarios y hacerlo de forma ágil y reproducible.

Este hito es el que concluye la asignatura. La documentación para que cualquier usuario pueda llevar a cabo el despliegue del mismo debe estar en un solo documento, el README.md del proyecto.

Cualquier otro formato (como RST o .org) también es válido, siempre que GitHub lo presente automáticamente en la raíz del directorio principal del proyecto.

En concreto, en este hito hay que llevar a cabo los siguientes pasos:

  1. Crear un script que cree automáticamente la máquina o máquinas que se van a usar. Esto se hará desde Vagrant, pero se pueden usar otros formatos como Terraform o scripts propios de la plataforma cloud.
  2. Provisionar la máquina virtual, lo que se ha hecho ya en el hito anterior.
  3. Desplegar en la máquina virtual. El despliegue consiste en descargar los fuentes y arrancar todos los servicios necesarios para que funcione.

El resultado final debe ser la automatización del proceso de despliegue de un único servicio web en la nube, servicio que debe estar testeado, con los tests pasados, y con todas las tareas relacionadas con el mismo (inclusive esta automatización) creada.

Entrega de la práctica

Por otro lado, la entrega se hará de la forma habitual, modificando el documento y haciendo un pull request de la forma habitual.

Los elementos de la práctica se tendrán que hacer constar en el README.md de la forma siguiente.

Una vez hecha la entrega, en la fecha que se haya discutido en clase y puesto en la sesión correspondiente se podrá hacer una presentación oral del proyecto. Esa presentación será optativa, pero se valorará para la nota de la asignatura. La fecha y lugar de esta presentación oral coincidirá con la del examen de la asignatura que se haya marcado en el calendario, si bien se podrá establecer alguna fecha adicional para quien no pueda hacerlo en la misma.

Valoración

Se recuerda que todo lo anterior se califica de forma individual. Si hay alguna copia a estas alturas del curso, la práctica estará suspensa y sin posibilidad de reenvío.