En este hito se trata de usar los clientes de línea de órdenes de los servicios en la nube para crear instancias de máquinas virtuales en la nube, que posteriormente se puede provisionar.
Haber alcanzado el 60% de los objetivos del tema correspondiente.
Generalmente el proceso de provisionamiento y despliegue comienza 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. Usando herramientas de orquestación como se verán más adelante se puede trabajar de forma independiente del proveedor de nube; sin embargo, en algunos casos hay características específicas de un proveedor que no están disponibles en herramientas de propósito general.
Todos los proveedores de cloud usan un API para acceder al mismo; estas herramientas CLI se pueden usar desde tal API para crear servicios, monitorizarlos y manejarlos. En esta práctica usaremos las herramientas libres para hacer este tipo de tareas de creación de nodos completos de máquinas virtuales y su posterior provisionamiento con las herramientas creadas en el hito anterior.
Estas herramientas permite también elegir la imagen que se va a usar, de forma que se puede automatizar la creación, desde cero, usando shell scripts o usando el CLI como una biblioteca que se puede incluir desde diferentes lenguajes de programación, con preferencia, claro, de aquél en el que está escrito la propia biblioteca.
Aunque en el material de la asignatura hay dos ejemplos, Azure y OpenStack, se puede usar también Amazon si se desea. De hecho, se aconseja que se creen scripts de aprovisionamiento para el mismo tipo de máquina virtual en los dos.
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. Para aceptarse el PR, tendrá que pasar los tests, como es natural.
El script de aprovisionamiento tendrá que llamarse acopio.sh
y estará en el directorio principal. La máquina
virtual se tendrá que mantener encendida al menos hasta que se
corrija, y se tendrá que incluir la dirección en el README.md de esta
forma
Despliegue: mv.servicioclo.ud
Se hará constar el nombre del DNS de la máquina o su IP, no el URL porque en principio no se pide que se despliegue ningún servicio web.
Se recuerda que el README.md
es la descripción del proyecto; por
eso, deberá incluir una descripción general del proyecto, 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, que estará en una rama aparte o donde se haya
elegido, se tendrá que mostrar explicar las diferentes decisiones que
se han tomado como la imagen de sistema operativo elegida y el sistema
cloud que se ha usado, qué tipo de facilidades específicas del sistema
se han elegido y mostrar mediante pantallazos que efectivamente se ha podido hacer
provisionamiento de alguna máquina virtual o incluso de varias y que
están ejecutando los servicios desplegados. Las explicaciones deben
ser lo más claras posibles, de forma que más adelante un compañero
pueda corregirlo.
La explicación del proyecto deberá incluir los criterios usados para
elegir la imagen base. Esta documentación se incluirá
en ficheros MarkDown en el sitio que se haya elegido para la misma,
preferiblemente un subdirectorio docs
que se haya publicado desde
GitHub.
- 4 puntos: Scripts correctos.
- 4 puntos: Elección correcta de sistema operativo 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.
Si el repositorio no existe, tiene algún error, no se ha hecho pull request correctamente o no están los fuentes publicados, la práctica estará suspensa. Si no se ha aprobado el hito anterior no se corregirá hasta que no se haga correctamente.