Hito 6: Provisionamiento de máquinas virtuales

Descripción

Escribir scripts de provisionamiento de máquinas virtuales, localmente o en la nube.

Prerrequisitos

Haber alcanzado el 60% de los objetivos del tema de gestión de infraestructuras y haber aprobado los hitos anteriores.

Explicación

En el espíritu de infraestructura como código que está detrás de esta asignatura, en ocasiones es necesario diseñar, desde un sistema operativo “limpio”, toda la infraestructura que es necesaria para desplegar una aplicación.

Las herramientas de provisionamiento actúan sobre uno o varios hosts, instalando todo lo necesario, y dejando el sistema en el estado adecuado para poder desplegar la aplicación usando la herramienta de despliegue que se quiera usar, pero que no es parte de este hito.

Por lo tanto, lo que se pide en este hito es

  1. Crear una máquina virtual localmente o en la nube, que sea la más adecuada para el despliegue de la aplicación. Como es natural, habrá que establecer las credenciales para poder desplegar en ella usando ssh
  2. Descripción de la receta para crear la infraestructura usando el formato de la herramienta elegida: receta, playbook o como se denomina en cada plataforma.
  3. Como cualquier otra actividad, tanto la instanciación de la MV usada como el provisionamiento de la misma tendrá que formar parte del gestor de tareas.

Entrega de la práctica

Se pondrá un enlace y la versión del proyecto en el fichero correspondiente.

La documentación sobre cómo crear y provisionar la máquina (o máquinas) virtuales se pondrá directamente en el fichero README principal o (preferiblemente) enlazado desde el mismo con un enlace cuyo título sea suficientemente claro.

En cualquier lugar del README se tendrá que incluir una línea

provision: <nombre del fichero para provisionar>

por ejemplo

provision: provision/playbook.yml

La p de la palabra provision podrá ser mayúscula o minúscula.

Valoración

  1. 3 puntos por el fichero de provisionamiento correcto, de acuerdo con las buenas prácticas habituales, bien documentado y no trivial.

  2. 2 puntos por la elección del sistema operativo base y la justificación del mismo. Se alcanzará la puntuación completa si se hace evaluación de prestaciones.

  3. 1 punto por la publicación de la imagen del SO en algún repositorio de imágenes público, tal como Vagrant Cloud (instrucciones para subir las imágenes) o el propio GitHub.

  4. 2 puntos por la configuración correcta del gestor de tareas.

  5. 2 puntos adicionales por originalidad, avance del proyecto, trabajo realizado.

Como es habitual, uso de ejemplos triviales tomados (sin URL) de la web, copia o trabajo en común con otra persona de la clase, serán penalizados.