Skip to content
This repository has been archived by the owner on Jan 7, 2020. It is now read-only.

Latest commit

 

History

History
98 lines (77 loc) · 4.24 KB

4.Orquestacion.md

File metadata and controls

98 lines (77 loc) · 4.24 KB

Hito 4º: Orquestación de máquinas virtuales

Descripción

En este hito se trata de usar Vagrant para provisionar una o preferiblemente varias máquinas virtuales usando un proveedor de servicios cloud.

Prerrequisitos

Haber alcanzado el 60% de los objetivos de las sesiones correspondientes.

Explicación

El proceso de provisionamiento y despliegue comienza generalmente con la descripción a alto nivel de la infraestructura virtual que se vaya a usar, incluyendo la creación de las máquinas virtuales y la descripción de las mismas, incluyendo el aprovisionamiento correspondiente.

Esto se puede hacer usando los SDK o interfaces de línea de órdenes del proveedor de nube, pero en esta práctica usaremos Vagrant para hacer este tipo de tarea. Vagrant es un sistema de orquestación de máquinas virtuales que permite usar diferentes tipos de provisionamiento para configurar las máquinas, así como la conexión entre las mismas. Vagrant también permite hacer cosas como copiar ficheros o crear usuarios, que aunque se pueden hacer en el momento del provisionamiento, puede que sea más conveniente hacerlo en el momento anterior al provisionamiento porque puede haber algún elemento que tenga que estar presente antes de que los provisionadores comiencen a funcionar. Finalmente, permite también elegir la imagen que se va a usar, de forma que se puede automatizar la creación, desde cero; esta imagen es independiente del proveedor, siempre que use alguno de los formatos estándar y también provisonarla usando uno de los muchos sistemas de provisionamiento que existen, tales como Chef o Ansible.

Salvo que las imágenes pueden formato diferente, en principio debería ser posible cambiar simplemente el proveedor de Vagrant y poder desplegar en diferentes entornos, aunque la infraestructura básica puede también tener alguna variación. En todo caso y como en casos anteriores, se pide al estudiante que use Vagrant en varios entornos, aunque uno de ellos puede ser un hipervisor local y otro en la nube. Uno de ellos será siempre el proveedor en la nube de alguno al que el estudiante tenga acceso.

También se solicita que se elabore en el README.md del proyecto la razón por la que han elegido una infraestructura determinada y si se usa una o varias máquinas virtuales en la nube. Cuanto más complejo sea la arquitectura, más se valorará.

Entrega de la práctica

Subir los fuentes a GitHub y editar este fichero enlazando el último commit en el que se indique claramente el nombre del alumno y la dirección donde se ha subido el fuente. El commit se referirá al número de issue que se haya propuesto en el repositorio propio. Si se va a hacer en coordinación con otros proyectos se puede indicar en el mismo README.md.

El Vagrantfile y todos los ficheros que precise estarán en un subdirectorio llamado orquestacion. La IP a la que se ha desplegado, que se comprobará igual que en el hito anterior, estará en una línea de este tipo

Despliegue Vagrant: mv.servicioclo.ud

donde mv.servicioclo.ud será el nombre o la IP donde se ha hecho el despliegue mediante Vagrant.

Se recuerda que el README.md es la descripción del proyecto; por eso, deberá incluir las instrucciones para configurar la máquina virtual objetivo y ejecutar el provisionamiento desde nuestro ordenador, incluyendo lo que hay que hacer para instalarlo en nuestra máquina local. En la documentación (en una rama aparte o donde se haya elegido) se tendrá que mostrar que efectivamente se ha podido hacer provisionamiento de alguna máquina virtual o incluso de varias y que están ejecutando los servicios desplegados.

Valoración

  • 2 puntos: Revisión de la entrega y comprobación del funcionamiento correcto del sistema de aprovisionamiento de otra persona de clase, con un issue o un pull request para corregir en caso de error.
  • 6 puntos: Elección correcta de herramienta y cobertura de todos los servicios que se quieren desplegar; buena justificación de la misma.
  • 2 puntos: uso de herramientas adicionales, entrega a tiempo, ayuda a los compañeros.